Ctrl K
ComunidadGuías…

butler/gateway/AGENTS.md

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
# Butler Gateway — L1 接入与交互

> **层级**:L1 接入与交互  
> **父文档**:[`../../AGENTS.md`](../../AGENTS.md)  
> **架构参考**:[`../../docs/architecture/v4-architecture.md`](../../docs/architecture/v4-architecture.md) §7

## 目录结构

```
butler/gateway/
├── __init__.py                    # 模块初始化
├── commands/                      # 命令定义
├── platforms/                     # 平台适配(微信等)
├── message_handler.py             # 消息处理器(主入口)
├── message_queue.py               # 消息队列
├── message_pipelines.py           # 消息处理管线
├── session_registry.py            # 会话注册表
├── outbound_bridge.py             # 出站桥接
├── runner.py                      # 运行器
├── locked_phases.py               # 门禁阶段
├── durable_outbox.py              # 持久化 outbox
├── completion_notify.py           # 完成通知
├── owner_surface.py               # 主人界面
├── wechat_scenario_sim.py         # 微信场景模拟
└── (其他辅助模块)
```

## 子目录说明

| 子目录 | 职责 | 说明 |
|--------|------|------|
| `commands/` | 命令定义 | 各命令的实现(如 /简报、/委派、/诊断等) |
| `platforms/` | 平台适配 | 微信等平台的适配层 |

## 关键模块速查

| 模块 | 说明 | 行数 |
|------|------|------|
| `message_handler.py` | 消息处理主入口 | ~11850 |
| `message_queue.py` | 消息队列实现 | ~15360 |
| `message_pipelines.py` | 消息处理管线 | ~17800 |
| `outbound_bridge.py` | 出站消息桥接 | ~25110 |
| `locked_phases.py` | 门禁阶段管理 | ~29130 |
| `session_registry.py` | 会话生命周期管理 | ~12350 |
| `wechat_scenario_sim.py` | 微信场景模拟 | ~27670 |
| `handler_helpers.py` | 处理器辅助函数 | ~20420 |
| `completion_notify.py` | 完成通知系统 | ~16160 |
| `runner.py` | 任务运行器 | ~11360 |
| `owner_surface.py` | 主人界面 | ~11850 |

## 核心类与函数

| 类/函数 | 路径 | 说明 |
|---------|------|------|
| `ButlerMessageHandler` | `message_handler.py` | 消息处理主类 |
| `MessageQueue` | `message_queue.py` | 消息队列管理 |
| `SessionRegistry` | `session_registry.py` | 会话注册表 |
| `OutboundBridge` | `outbound_bridge.py` | 出站桥接 |

## 数据流

```
微信消息 → ButlerMessageHandler
              │
              ├→ inbound_pipeline()    # 入站处理
              ├→ message_queue         # 入队
              ├→ SessionRegistry       # 会话管理
              ├→ AgentLoop             # 调用核心循环
              └→ outbound_bridge       # 出站发送
```

## 注意事项

1. **职责范围**:gateway 负责微信消息的接收、处理、发送,不包含核心对话逻辑
2. **门禁系统**:`locked_phases.py` 是门禁阶段的核心实现,控制任务执行流程
3. **可靠性**:`durable_outbox.py` 和 `inbound_idempotency.py` 保证消息可靠性
4. **测试模拟**:`wechat_scenario_sim.py` 用于测试场景模拟

## 相关目录

- L2 编排:[`../orchestrator/`](../orchestrator/)
- L3 核心:[`../core/`](../core/)
- L8 可靠性:[`../resilience/`](../resilience/)