斜杠命令
在话题里直接发这些命令即可,由 daemon 拦截处理。只有透传章节里白名单内的命令会原样透传给底层 CLI;其余 daemon 不认识的 /xxx 会被当作普通对话文本按普通消息转发。随时发 /help 查看完整清单。
📌 会话管理
/sessions 卡片示意:

裸 /t 的选仓/固定目录分支见会话与话题模型。
指令头的三条指令:
/repo <路径|项目名>—— 直接钉仓库,跳过选仓卡片。注意只吃一个 token:带空格的路径要写成/repo "~/Code/my project"。/repo(不带参数)—— 直接在默认工作目录开会话,等同选仓卡片上的「直接开始」。/model <模型>—— 本次启动用哪个模型。只对启动参数里带得动模型的 CLI 有效,带不动的会被拒绝而不是静默忽略。/effort <档位>—— 推理强度(low/medium/high/xhigh/max/ultra),按本次实际使用的模型校验。
整条消息可以写成一行,也可以换行分开,结果一样:
不写首轮任务时(如 /t /repo botmux),CLI 会空跑起来等你的下一条消息,不会自说自话。
几条边界:
- 指令头只在新话题的第一条消息里生效。进行中的话题里要换仓库/模型/推理档位,请分别单独发
/repo、/model、/effort;改标题用/rename。 - 建 worktree 不能写进头部(
/repo只吃一个 token)。先用/t开话题,再在话题内发/repo wt <编号|项目名> [分支]。 - 会话中途单独发的
/repo仍然吃整行,与头部里的单 token 规则不同。
💬 回复模式(/reply-mode)
控制 bot 被 @ 触发时如何开会话。无参数(或 status)查看当前模式;带参数修改需 canOperate,仅查看需 canTalk。群聊中均需 @ 目标 bot 才生效,多 bot 群须 @ 到具体 bot。仅普通群与 1:1 私聊支持;话题群无需设置(本就是话题),命令会被拒绝。
私聊(1:1 DM)——模式对该 bot 的所有 DM 生效(bot 级全局配置,非 per-chat),但不同用户与该 bot 的 DM 仍各自隔离会话、互不共享。只有 chat / topic 两态(new-topic 是 topic 的兼容别名):
shared / chat-topic 依赖群内原生话题,私聊不支持,会被拒绝。
普通群——顶层 @ 的开会话方式(per-chat 覆盖,优先级高于 dashboard 默认值):
群级设置会覆盖 dashboard「Bot 配置 → 普通群模式」的默认值。
/substitute [status|on|off] —— 查看或切换当前群的替身模式开关(修改需 owner)。
📑 群标签页
飞书内置标签页只能查看和参与排序,不能通过开放接口重命名或删除。若群设置为「仅群主和管理员可管理标签页」,机器人也必须具备相应群权限。
AI 或后台脚本应使用 CLI,而不是向群里发送 slash command:
CLI 会从当前 BOTMUX_SESSION_ID 自动确定 bot 和群;脱离当前会话时可传 --session-id,要覆盖目标群可传 --chat-id。add 按 URL 幂等:同一个页面已有 Tab 时复用,并按需更新名称,适用于 MR、项目看板、发布页等自动化场景。后台还可使用 botmux tabs list|update|remove|sort。
🔀 透传给底层 CLI
/compact /model /clear /plugin /usage /new /context /cost /mcp /diff /code-review /security-review /review /btw /effort /fast —— 字面送达底层 CLI,交给它的内置命令处理。
/fast 仅对 Codex 生效:切换 Codex 原生的 service tier 档位,流式卡片会显示只读的 ⚡ <档位> 徽标,如实反映 Codex 实际运行的档位。在 RPC 输入模式或 Riff 后端上,按键到不了 Codex 执行器,因此 /fast 在这些后端会 fail-closed 给出明确提示,而非静默失效。
部分 CLI 还有 adapter 默认放行的命令:Claude Code / Codex 默认放行 /goal,因此新话题第一条发 /goal ... 也会先启动/选择仓库,再把 /goal ... 原样投给 CLI。
想放行更多命令,给该 bot 配 customPassthroughCommands(如 ["/export"])即可在上面白名单之外按需扩展。会遮蔽 botmux daemon 命令的项(如 /status、/help、/cd)会被自动丢弃——daemon 命令始终保留自身语义,无法被透传覆盖。
🧩 查看可用命令
/list-slash-command(别名 /slash):在卡片里分四段列出当前可用的 slash 命令——
- botmux 固定放行的透传白名单;
- 当前 CLI adapter 默认放行的命令;
- 本 bot 在 bots.json 用
customPassthroughCommands自定义放行的命令; - 从
.claude目录(项目级 +~/.claude+ 插件缓存)自动发现的自定义命令 / skill / 插件,以「命令 | 说明」分页表格展示,并提示检测到的 MCP server 名。
权限同 /help,不占用会话槽位。
📡 会话接入
🔐 用户授权
🎭 角色(人设)
详见 角色与团队。
🔀 会话接力(普通群)
详见 会话接力 Relay。
🛎️ Oncall(群聊)
/oncall bind <path> · /oncall unbind · /oncall status
🔑 使用授权(owner 专用)
⚙️ 远程改配置 & 技能(owner 专用)
写盘即热更新,无需重启。
🆕 一键新建会话群
/group <群名>(别名 /g):自动新建飞书群、邀请你进群、转让群主,整个群作为一个独立 CLI 会话。@botA @botB /g <群名> 可把多个机器人一并拉进新群。
加上 --role-profile <profile> 可以在新群里自动 bootstrap 一套按 bot 区分的角色:
详见 一键建会话群。
📌 普通群升级为项目群
在普通群消息顶层 @ 计划作为主控的 Bot:
当前 Bot 会成为主控,群内其余由本机 Botmux 管理的 Bot 自动成为 Worker;配置写入与 Dashboard 相同的事实源,并立即发送、置顶待启动指引卡。启用时无需先确定项目目标,可以先在群顶层讨论。通过命令启用时默认打开“自动纳入新 Bot”:后续新加入且由同一 Botmux 管理的 Bot 会进入 Worker 白名单;这与“入群自动开工”开关相互独立。
主控会在每个项目轮次收到 Botmux 固定的项目状态协议:开始时读取持久状态,目标、阶段、当前推进、待办、阻塞或里程碑变化后及时更新。该协议与自定义 Role 分层注入,不会被 Role 的“仅首轮”策略或 Role 文案覆盖。项目首次正式立项时会在当前消息位置发送并置顶一张新的正式项目卡,再取消旧指引卡置顶;后续进展继续原地更新正式卡。
@机器人 /project status:查看主控、Worker 和项目是否已启动。@机器人 /project roles:在当前群回复角色配置卡,只列当前项目的主控与 Worker,且只有触发卡片的管理员可操作。保存复用/role的群级角色文件,并按该 Bot 的现有注入策略生效:每轮注入模式从下一条消息生效,仅首轮模式在新会话或重建后生效。@机器人 /project disable:退出项目群模式;未启动的指引卡会取消置顶,已有项目数据会保留以便重新启用后继续。
该命令只支持普通群,且仅 Bot 的 owner/allowedUsers 可以执行。重复执行 enable 不会覆盖已在 Dashboard 精选的 Worker 列表或自动纳入策略。Dashboard 可关闭“自动纳入新 Bot”,关闭后严格保留显式 Worker 名单;项目群配置区也会列出同一批 Agent,并可直接跳转到对应群角色编辑器。两种入口没有第二份角色配置。
📄 飞书文档评论入口
/watch-comment:监听飞书文档评论、绑定 AI 会话并把回复发回评论串;支持 <文档链接> [--dir <路径>] [--all|--mentions-only] 与 list/off。/subscribe-lark-doc 保留原有的飞书逐文件 API 订阅流程。详见 飞书文档评论入口。
🔧 Workflow(流程编排,实验性)
旧的
/template run|cancel已退役;现在发/template只返回退役提示。
详见 Workflow。
👥 多机器人协作
@botA @botB /t <prompt>(各自开新话题)· @botA @botB /introduce(让本群机器人互相登记 open_id,协作时可精确 @ 对方)· botmux bots list(查看当前群可协作 bot)
⏰ 定时 & ❓帮助
/schedule ...(见 定时任务)· /help(话题内显示完整清单)
