Skip to content

命令体系 ​

IM 命令从用户视角分为五组。命令入口是 src/bridge/command/dispatch.ts,具体处理按工作流拆在 src/bridge/command/ 下;会话、绑定、线程接管和归档的业务规则归 src/bridge/session/ 所有,command 层主要负责 slash 解析、用户文案、卡片和 delivery。

分组典型命令功能
会话和线程/t、/new、/clear、/t rename、/t unbind接管、新建、云文档群聊模式、切换、归档、重命名、解绑会话
runtime 设置/runtime、/provider、/model、/mode、/reasoning、/sandbox、/network、/cd修改当前会话的运行参数
状态和诊断/、/status、/check、/doctor、/his查看状态、健康检查、历史和排障
终端和文件/shell、/tmux-*、/pty-screen、/cat、/file执行命令、观察终端、发送文件
自动化和管理/every、/then、/require-at、/ui、/set、/hot-update定时输入、后续输入、通道策略、显示和全局设置

从本机 audit.jsonl 的实际使用看,高频命令集中在 /provider、/clear、/t、/mode、/tmux-screen、/new、/runtime、/pty-screen、/set 和 /hot-update。这说明新用户文档应优先讲清楚“接管会话、清理/新建会话、切 provider、观察终端屏幕、调整配置”这些路径,再补完整命令索引。

用户使用原则 ​

  • 直接发送普通文本:继续当前绑定会话。
  • 发送 //...:把以 / 开头的内容作为模型 prompt,而不是 bridge 命令。
  • 未绑定会话时,普通文本会进入临时草稿线程;正式接管用 /t。
  • 修改当前会话参数优先用 /runtime、/provider、/model、/cd 等会话级命令。
  • 修改全局默认值用 /set;卡片按 TOML section 写入 ~/.codelark/config.toml。
  • /every 用于按固定间隔重复发送 prompt;/then 用于在当前会话 completed/interrupted 后发送一次后续 prompt。两者都支持列表卡片和卡片操作,/then 还支持通过卡片新建、修改和取消。
  • /doctor 可不带参数;也可使用 /doctor bridge_id:d3c20e05 2026-06-04 17:48 或 /doctor d3c20e05 2026-06-04 17:48,让当前会话读取结构化 JSONL bridge.log 时优先用目标 id 和时间点搜索,并优先检查 level=ERROR/WARN、event、msg、chat、lane 等字段。

设计模块 ​

命令主题模块
帮助src/bridge/command/help.ts
会话和线程src/bridge/session/;slash 聚合入口在 src/bridge/command/session-thread.ts
runtime 设置src/bridge/command/runtime-settings.ts、src/bridge/command/provider-settings.ts、src/bridge/command/runtime-bootstrap.ts、src/bridge/command/runtime-session.ts
全局设置src/bridge/command/global-settings.ts
状态src/bridge/command/status.ts
诊断和历史src/bridge/command/diagnostics.ts
控制和权限src/bridge/command/control.ts
tmuxsrc/bridge/command/tmux.ts、src/bridge/command/tmux-args.ts
pty 屏幕src/bridge/command/pty.ts
shellsrc/bridge/command/shell.ts
定时/后续输入src/bridge/command/every.ts、src/bridge/command/then.ts
热更新src/bridge/command/hot-update.ts
展示格式src/bridge/command/presentation/

命令展示 ​

IM 内 /h 的文案由 src/bridge/command/help.ts 生成。Web 工作台“命令说明”页面在 src/operator-ui/shell.ts 中渲染。新增命令时需要同步这两处用户入口。

模块边界:生产代码中只有 bridge/host 直接调用 bridge/command;通道、turn、runtime 等横向 owner 不直接 import command,command 也不反向 import bridge/host/*。跨 turn 和 command 共用的 agent question 回调协议位于 src/bridge/callbacks/agent-question.ts。命令需要的聊天绑定和 startup target 共享入口分别是 src/bridge/session/channel-router.ts 和 src/bridge/startup-notice-target.ts。