用途:帮助把 CLI 改造成智能体可无人值守驱动的形式,核心契约包括纯机器可读的 stdout、语义化退出码、非交互式默认值、带重试指引的结构化错误,以及对可修复产物提供迭代反馈循环。适用于让 CLI 对智能体友好、审计 CLI 供 LLM 使用、智能体解析 CLI 结果失败、stdout 混入进度文本、失败一律退出 1 无结构化错误体、命令挂起等待交互输入等场景;不适用于命令行与 MCP 的选择决策、MCP 服务器审计或实现、已有厂商技能覆盖的 CLI 操作,以及与智能体契约无关的通用脚本。
主要能力与五项核心检查:提供 --json(或等价)且 stdout 为纯机器输出,无进度、横幅或散文;日志、加载动画、横幅和进度写入 stderr;退出码区分成功、用法错误、认证、未找到、冲突、校验、瞬时/可重试失败;无头运行不阻塞,除非有显式 --no-input/--yes 路径或清晰的非交互式错误;错误响应包含稳定错误码和可重试布尔值。提供严重度分级(从“智能体无法安全解析或避免意外副作用”为 Critical 到“仅打磨或一致性”为 Low),并给出最小输出信封示例(成功含 ok、result、error、schema_version;失败含 ok、result、error{class,code,message,retryable,suggestion}、schema_version)。
使用方式:审计前先检查顶层与子命令帮助,查找 --json、--output json、--quiet、--fields、--jq 等机器可读标志,在安全只读命令上测试 stdout/stderr 分离,分类各类退出码,探测易提示命令的非交互行为,检查破坏性流程的 --dry-run、--yes、--force 语义,核实帮助文档中的示例、输出字段与退出码。可配合只读脚本 scripts/audit-cli-help.sh 与 scripts/diff-cli-help.sh(需先阅读对应 .md)做发现与漂移比对,但脚本不替代人工检查。修复现存 CLI 建议按顺序进行:先纯 JSON 与流分离,再结构化错误与语义退出码,再非交互式标志,再迭代反馈循环,最后是发现性与长任务流程。
迭代修复循环适用于智能体生成产物、CLI 校验、被拒后需修复重试的场景,如翻译本地化批次、带校验门的代码生成、清单/配置/迁移生成、批量导入同步;每次迭代需告知当前阶段、接受/拒绝/部分、失败位置与标识符、是否可重试、下一步命令(next_action.command)及进度。一次性读/列/取/状态命令无需该模式。
限制:资料未提供收费、价格、平台或效果信息;区分智能体就绪与仅可发现性;本地示例 linear-cli 与 run-railway 仅作参考,具体实现细节以各引用文件为准。