Inbox 与 EventBus
wesgine Cell 的内部消息传递机制——Inbox 收件箱与 EventBus 事件总线。
Inbox
Cell 运行时维护一个 Inbox(收件箱),接收外部事件并排队处理。
InboxCap
CellSpec 可声明 InboxCap 限制收件箱容量。
超出容量时新消息被拒绝,防止内存失控。
EventBus
Cell 内部的事件分发机制。
SSE 全局事件流
GET /cells/{id}/events
订阅 Cell 的全局事件流(EventBus),接收所有 Cell 级事件。
事件类型
EventBus 分发的事件包括但不限于:
- Run 生命周期事件
- 工具调用事件
- Plan 状态变化
- HITL 请求
- Cron 执行
- 渠道消息
Supervisor
Cell 的 Supervisor goroutine 管理 Inbox 和 EventBus 的生命周期。
Cell.Start → 启动 Supervisor → 初始化 Inbox + EventBus。
Cell.Stop → Supervisor 排空 Inbox → 关闭 EventBus。
与外设的关系
外设(Channel / Email / MCP / Cron)产生的事件通过 Inbox 进入 Cell,由 EventBus 分发到对应的 Handler。
外设消息 → Inbox 排队 → Supervisor 取出 → EventBus 分发 → Handler 处理