MULTI-AGENT ROOM · 11/12

agent-chatroom

一个房间,多个 CLI agent,@ 点名互相唤起。

USER + N CLI AGENTS · ACP / CLI / SSH · SSE

lang TypeScriptver 0.1.0license 未声明
SCROLL
@MENTIONPARALLEL REPLIESAG-UI EVENTSSHARED CANVAS@MENTIONPARALLEL REPLIESAG-UI EVENTSSHARED CANVAS
SEC.01

$做什么

多 Agent 聊天室。用户 @ 某个 agent 提问,agent 在回复里再 @ 其他 agent 即可互相唤起,Web UI 流式展示回复与思考过程。qoder、claude、codex、codebuddy、grok、qwenpaw、远程 pi 都可以进同一个房间。服务端是零框架的 node:http 加 SSE,前端是单页静态文件,没有构建步骤。

SEC.02

$快速开始

~/quickstart.sh
SEC.03

$架构

浏览器 ──POST /api/rooms/:id/messages──► RoomManager (rooms.json · 默认 lobby)
                                              │
                                              ▼
                                     policy 层决定谁接话
                    @ 点名 · 无 @ 全员接力 · replyTo 链深 ≤ 3 · 发言冷却
                                              │
              ┌───────────────────────────────┼───────────────────────────────┐
              ▼                               ▼                               ▼
        ACP driver                      CLI driver                     SSH driver
     常驻会话 · 流式                 一次性 stdin/stdout               远程 pi
              └───────────────────────────────┼───────────────────────────────┘
                                              ▼
                                 Delta{kind: text | thought}
                                              │
                              ┌───────────────┼───────────────┐
                              ▼               ▼               ▼
                          canvas 插件      voice 插件     ui-proposal 插件
                              └───────────────┼───────────────┘
                                              ▼
                          SSE /api/rooms/:id/stream
                          事件对齐 AG-UI 分类法,字段名即前后端契约
SEC.04

$要点

F01
🗣️

路由在策略层

谁接这句话由代码判定:@ 精确点名,无 @ 全员接力,replyTo 链深上限 3,发言冷却防抢话。

F02
⚡

并行应答

同一轮被点名的多个 agent 同时发言,流式事件交错。设 parallel: false 回串行。

F03
🔌

三种 driver

ACP 常驻会话流式,本地 CLI 一次性 stdin/stdout,SSH 送命令到远程 pi。abort 经 AbortSignal 传到每一路。

F04
🔇

停止与提问

/stop 中止全部进行中的回复并全员静音,/resume 恢复。agent 输出 ASK: 主题 | 问题 即挂起等用户答复,可配钉钉通知。

F05
🖼️

共享画布

agent 回复中的 ```canvas 块(OpenUI Lang)生成图表 widget,全房间一份,用户只读。插件另有 voice 与 ui-proposal。

F06
🧮

多房间与预算

RoomManager 用 rooms.json 持久化多个房间,每房间独立参与者、画布与事件流。上下文预算默认 6000 token,超预算截断并保留主题锚点。

SEC.05

$路线与限制

← PREV · 10
sovereign-echo