会话与话题模型
理解 botmux 的关键是搞清「一条消息落到哪个会话」——「为什么每次 @ 都像新开、丢了上下文」「新群怎么拉到历史」这类困惑,根子都在这。
适用:搞不清消息去了哪个会话、想控制新开 vs 复用、或配群内权限时。
三种群形态
关闭「任务执行时显示状态卡片」后,
/t <内容>仍会先产生一条可见的话题回复,确保飞书立即展开 thread;reaction 只作为进度提示。
Oncall 群 & chat-scope 群
- Oncall 群:
/oncall bind <path>把整个群锚定到一个项目目录,跳过仓库选择,群内任何成员 @ 即问即答。见 Oncall 模式。 - chat-scope 群:
/group <群名>一键新建一个群,整个群作为一个独立会话。
会话状态机
流式卡片顶部的状态指示:
- 🟡 启动中 — worker 正在拉起 CLI 进程
- 🔵 工作中 — CLI 正在思考/执行,输出实时刷新
- 🟢 就绪 — CLI 空闲,等你的下一条消息
每次回复创建新的流式卡片,上一轮卡片冻结在最后状态,便于回看历史。
权限模型(三层)
这套分层让你能放心把机器人拉进值班群:所有人能问,但只有 owner 能改会话状态,外部成员误点也不会把会话搞乱。
常见困惑
- 「每次 @ 都像重新开始、丢上下文」:在话题群里,不同话题是不同会话——你以为在追问,其实开了新话题 = 新会话。想接着聊就在同一条话题里回复;确实要复用同一会话见下。
- 新群 / 新话题拉不到之前的聊天:新会话默认从干净状态起。要它读群历史,直接说「看下之前的聊天记录」(需机器人有群消息读取权限,见 FAQ)。
- 想换底层 CLI 又保留上下文:目前做不到跨 CLI 无损热切——原生会话历史不会翻译到另一种 CLI。要换 CLI 就开新 bot / 新 session,并让原 bot 输出一份 handoff 摘要交接。(
/relay是把同一个会话整体搬到另一个群、不换 CLI;/adopt是把本机已有 tmux/zellij / 可恢复会话接进飞书,也不换 CLI。)
下一步:权限细节见 FAQ · 权限怎么分;把会话搬到别的群见 会话接力。
