用途:面向 AI 智能体设计或改造命令行界面(CLI),弥补人类体验(可发现、容错)与智能体体验(可预测、纵深防御)之间的差异。核心前提是智能体会臆造输入、按 token 计费、无法读取交互式提示,因此 CLI 需针对性防御。
适用场景:为现有 CLI 增加 AI/智能体支持;构建将被智能体调用的新 CLI;把 REST、GraphQL、gRPC 等 API 封装为 CLI;与 CLI 一同设计 MCP 服务器;加固输入;用结构化输出(JSON、NDJSON)替换面向人类的输出。
8 条原则:1)结构化 JSON I/O,支持 --json 结构化入参与 --output json 机器可读输出,非 TTY 时默认 NDJSON;2)模式自省,用 schema 子命令或 --describe 返回参数、类型与约束的 JSON;3)上下文窗口纪律,用 --fields、--page-all、--limit N 控制响应体积与 token 成本;4)输入加固,拒绝路径穿越、控制字符、畸形资源 ID,URL 路径段需百分号编码;5)安全护栏,提供 --dry-run 预校验、--sanitize 防御响应数据中的提示注入,变更前须用户确认;6)结构化错误,stdout 输出带 code 的 JSON 错误,stderr 给人类提示,退出码非零,两通道不混用;7)智能体文档,随 CLI 提供 SKILL.md、AGENTS.md 或 CONTEXT.md,记录非显而易见的规则与操作顺序;8)多界面架构:一个核心库同时服务 CLI(人类)、MCP(智能体的 stdio JSON-RPC)和 REST API,共享校验、业务逻辑与错误处理,用 CLI_TOKEN 环境变量做无头认证。
实施优先级:先加 --output json;再校验全部输入;加 schema 或 --describe;支持 --fields;加 --dry-run;随附 CONTEXT.md 或技能文件;最后暴露 MCP 界面。
常见反模式:stdout 混排散文与 JSON;信任智能体输入;用字符串插值拼 URL;自动执行破坏性操作;向 stdout 输出密钥;只做别名的包装器;无界响应;使用交互式提示。
限制:资料未提供具体安装命令、收费、平台支持或性能数据。