关于 cmux-cli
cmux-cli 是通过命令行操作 cmux 工作区、面板和终端界面的技能。它要求明确解析操作目标,并查询变更后的状态,再报告操作结果。
主要功能
- 01识别当前窗口、工作区和界面
- 02按工作区、窗口或界面指定目标
- 03管理工作区、分屏和面板焦点
- 04发送终端文本和按键输入
- 05通过 cmux 状态查询核验变更
适用场景
- 01向指定终端界面发送命令
- 02创建或聚焦指定工作区面板
- 03确认状态、进度或通知
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ robsonrung/ rar-skills --skill cmux-cli安装后在 Claude Code 中输入/cmux-cli确认已加载。
附带文件agents/openai.yamlreferences/cli-reference.md
详细介绍
cmux CLI
选择模型前先选择分支。此工作流使用当前协调器和直接工具运行,不会派发工作器。
默认使用 cmux CLI 作为接口。将每条命令视为针对特定工作区、面板或表面执行。以可观测行为为准:说明预期目标,运行命令,然后查询能够证明结果的 cmux 状态。
建立上下文
- 运行
cmux ping。如果失败,报告 cmux 不可用或未响应。除非用户要求,否则不要安装它、修改套接字设置或使用其他终端管理器。 - 运行
cmux identify --json,捕获当前聚焦的窗口、工作区、面板和表面。如果请求指定的不是当前聚焦的工作区,则使用cmux current-workspace --json或cmux list-workspaces --json。 - 对于非聚焦目标,从 JSON 输出中解析其标识符,并传入文档规定的作用域标志:
--window、--workspace或--surface。如果需要区分引用 ID 和 UUID,请请求--id-format both。
请说:“我将验证的可观测行为是表面 <id> 收到请求的输入。”如果可以通过最新查询确定目标,切勿根据之前的命令推断目标。
执行请求的操作
每次 shell 调用只运行一条 cmux 命令。解析 ID 或报告状态时,优先使用 JSON 输出。如果操作不常见,或下文未列出确切标志,请从此技能目录中读取 references/cli-reference.md。
工作区和面板
cmux new-workspace
cmux select-workspace --workspace <workspace-id>
cmux new-split right
cmux list-panels --json
cmux focus-panel --panel <surface-id>
new-split 接受 left、right、up 或 down。仅当用户要求更改状态时,才创建工作区或拆分面板。在运行 close-workspace --workspace <workspace-id> 前,先确认工作区并取得用户明确的关闭意图。
终端输入
已知目标时,将文本发送到指定表面。如果文本是要执行的命令,请另行发送 Enter。
cmux send --surface <surface-id> "npm test"
cmux send-key --surface <surface-id> enter
send 会更改终端输入,send-key enter 会执行输入内容。不要为了检查状态而向终端发送命令。先使用 cmux 查询命令进行检查。send-key 支持 enter、tab、escape、backspace、delete 和方向键。
状态、进度、日志和通知
状态应使用唯一且限定于任务的键。仅清除由该键管理的状态。只有用户要求报告任务状态时,才设置状态、进度或日志。只有用户明确要求时,才创建通知。
cmux set-status task-build "running" --icon hammer --color "#ff9500" --priority 80
cmux set-progress 0.5 --label "Tests running"
cmux log --level progress --source task-build "Tests started"
cmux notify --title "Task complete" --body "Tests passed"
clear-notifications 和 clear-log 会移除共享状态。仅在用户明确要求时运行其中任一命令。使用 cmux sidebar-state 报告最终状态、进度和近期操作上下文。
验证并报告
验收约定:命令成功运行后,再执行独立的 cmux 查询,以显示请求的结果:
| 请求的结果 | 验证方式 |
|---|---|
| 已选择工作区 | cmux current-workspace --json |
| 拆分面板或聚焦表面已更改 | cmux list-panels --json 和 cmux identify --json |
| 状态或进度已更新 | cmux sidebar-state |
| 已创建通知 | cmux list-notifications --json |
对于终端输入,请报告目标以及发送的确切文本或按键。除非能观察到终端命令自身的输出,否则不要声称该命令已成功。报告 cmux 命令、解析出的目标和验证结果。如果 cmux 返回错误,请停止请求的操作并附上错误文本。
套接字边界
除非用户明确要求使用套接字自动化,否则使用 CLI。对于套接字请求,请读取 references/cli-reference.md;仅使用包含 id、method 和 params 的 JSON 请求。未经用户明确批准,不要启用 CMUX_SOCKET_MODE=allowAll 或修改 CMUX_SOCKET_PATH。