问题域/PD-207

CLI 设计

CLI Design & Developer Experience

Commander.js 实现子命令体系,支持交互式 init 向导、auto 模式、batch-spawn 批量操作

子问题

1.子命令注册与参数解析

2.交互式向导与自动模式

3.环境检测与智能默认值

4.输出格式化与脚本友好

5.消息投递忙检测与投递验证

6.PR review 状态轮询与自动修复触发

7.会话生命周期管理(spawn/kill/cleanup/restore)

8.项目类型检测与 agent rules 模板生成

各项目的解法1 solutions

Signals

横向对比

维度AgentOrchestrator
命令框架Commander.js register 函数模式,11 子命令分文件注册
环境检测三层检测:系统工具 + 项目类型 + 默认分支三级降级
交互模式readline 向导 + --auto 零交互 + --auto --smart AI 增强
输出格式化chalk + ora + ANSI 感知 padCol 列对齐 + --json 双模式
批量操作batch-spawn 双层去重:已有 session Map + 本批次 Set
消息投递tmux send-keys + load-buffer 长消息 + 忙检测 + 3 次投递验证
会话生命周期spawn/kill/cleanup/restore 四阶段 + PR merged 自动清理

最佳实践

1.ao init --auto 零交互生成配置

2.batch-spawn 内置去重检测

3.execSilent 返回 null 替代 try-catch 简化探测性调用

4.ANSI 感知 padCol 确保着色后列对齐不错位

5.send 命令长消息走 tmux load-buffer 避免转义问题

6.session cleanup 排除 dead 状态防止误阻塞 respawn