核心用法
Claude Code Orchestrator 是一套基于 tmux 的远程编码任务编排系统,专为解决 Claude Code 长期任务"静默失败"问题而设计。用户通过 SSH 接入后,可在独立 tmux 会话中启动交互式 Claude Code 实例,实时观察执行过程,任务完成后自动触发回调通知。
标准工作流:
1. 创建独立提示文件(规避长命令引号问题)
2. 启动专用 tmux 会话(命名格式 cc-<label>)
3. 以交互模式运行 claude --dangerously-skip-permissions
4. 自动粘贴提示并提交任务
5. 任务完成后执行 wake.sh 回调通知系统
6. 用户可随时 attach 会话查看实时进度
监控能力:
monitor-tmux-task.sh --attach实时接入会话list-tasks.sh一览所有运行中的任务状态status-tmux-task.sh零 token 状态探测
完成保障机制:
- 强制要求生成 JSON + Markdown 双格式报告
- 收到 wake 信号后 60 秒内必须 ACK 并深度分析报告
- 若报告缺失则自动触发 fallback 补全脚本
显著优点
- 可见性优先:相比
claude -p一次性执行,tmux 交互模式允许用户随时查看 Claude 的思考过程与执行轨迹 - 防静默挂起:通过 ready-check、多 Enter 重试、执行状态检测确保提示真正被提交
- 结构化交付:强制要求 JSON 报告包含变更摘要、风险评级、后续建议
- 状态可观测:支持本地/远程 SSH 双模式任务列表,便于多任务管理
- 故障恢复:内置
stuck/dead状态识别与自动重启机制
潜在局限
- 安全风险 `--dangerously-skip-permissions`:跳过 Claude Code 的权限确认,适合受控环境,生产环境需谨慎
- tmux 依赖:要求目标系统安装 tmux,且 socket 路径需可写
- 回调延迟:wake 信号依赖任务内嵌脚本,若 Claude 未执行到该步骤则无法触发
- 手动干预门槛:attach 后需基本 tmux 操作知识(
Ctrl-b d分离等) - 资源占用:长期运行的 tmux 会话占用内存,需定期清理 stale 进程
适合人群
- 需要运行 30 分钟以上 复杂重构/代码生成任务的开发者
- 希望异步执行编码工作、避免终端等待的工程师
- 运行 Claude Code 远程实例(如云端 GPU 服务器)的团队
- 需要批量管理多个并行编码任务的自动化场景
常规风险
| 风险类型 | 说明 | 缓解措施 |
|---------|------|---------|
| 权限绕过 | `--dangerously-skip-permissions` 跳过所有确认 | 仅在隔离环境/容器中使用,配合代码审查 |
| 会话丢失 | tmux server 意外终止导致任务中断 | 定期 `list-tasks` 检查,配置 systemd 自动重启 |
| 提示注入 | 用户提供的 prompt-file 可能包含恶意指令 | 限制文件读取权限,校验文件路径在白名单内 |
| 回调伪造 | wake.sh 可能被恶意调用伪造完成状态 | 校验报告文件存在性与内容签名(建议增强) |
| 资源耗尽 | 并发任务过多导致系统负载过高 | 设置任务数上限,集成 Prometheus 监控 |
安全等级说明
系统涉及 --dangerously-skip-permissions 高危标志与自动执行用户代码,但通过 tmux 隔离、强制报告生成、状态探测等机制形成纵深防御,适合受控开发环境使用。