一个 CLI 在内部跑通,不代表它已经可以交给更多 Agent、更多用户,甚至拿到市场上售卖。
规模一扩大,问题会从“命令能不能执行”变成:谁在调用?能访问谁的数据?失败是否会重复写入?第三方代码是否可信?如何计量和履约?
CLI 从工具变成产品后,需要同时处理身份权限、质量验证、生态治理和商业责任。
登录成功不等于允许执行
鉴权回答“你是谁”。授权回答“这个身份能对什么资源做什么”。用户确认回答“这次高风险动作是否现在就执行”。
三者不能压缩成一句“已经登录”。
飞书 CLI 将应用配置、用户 OAuth、认证状态、scope 检查和 user/bot 身份切换分别处理。Lark CLI Authentication
产品设计至少要守住五条边界:
- 应用身份与用户身份分离;
- scope 使用最小权限,缺什么再申请什么;
- token 进入系统安全存储,不进入参数、日志和模型上下文;
- 服务端重新检查租户、资源和业务权限;
- 高风险写入仍需独立确认,不能用 OAuth 成功代替用户授权。
远程 MCP 也不能省略这些问题。当前授权规范要求 Server 校验 token 的目标受众,并禁止把客户端 token 原样透传给下游。MCP Authorization
CLI 可以承载登录体验,但权限真相必须留在受控服务端。
CLI Eval 不能只测命令能不能跑
传统测试回答代码是否按设计执行。Agent Eval 还要回答:面对真实用户表达,模型能否选对命令、填对参数、正确澄清和恢复,并在危险动作前停下来。
质量验证可以分成四层。
第一层:契约测试
检查命令名称、参数类型、必填项、互斥规则、Schema、输出 envelope、退出码和兼容别名。帮助文本和结构化输出可以使用 golden file 监控意外变化。
第二层:Dry-run E2E
不调用真实业务系统,只验证最终 method、URL、params 和 body。它可以发现请求结构错误,又不会污染租户数据。
飞书 CLI 的工程规范要求新增 Shortcut 配套 Dry-run E2E。Lark CLI 测试规范
第三层:Live E2E
在受控环境执行 create → use → verify → cleanup,验证真实认证、权限、平台行为和结果一致性。清理必须属于测试流程。
第四层:Agent Eval
给模型真实任务,而不是直接告诉它调用哪个命令。重点评估:工具选择准确率、参数正确率、一次成功率 pass@1、纠错后成功率 pass@k、正确澄清率、无进展停止和危险误操作率。
场景集还要覆盖相邻工具干扰、缺少资源 ID、身份歧义、权限不足、限流、超时、部分成功、重复调用、版本漂移和提示注入。
如果产品阶段只保留两个核心指标,可以选择任务首次成功率和危险误操作率。前者决定效率,后者必须为 0;其他指标负责定位损失发生在哪一层。
CLI 越多,系统成本越高
CLI 增长会带来六类成本:
- 工具相似导致选择混淆和上下文膨胀;
- 每个可执行程序都扩大文件、网络和凭证权限面;
- 二进制、Skill、Schema 与示例发生版本漂移;
- 不同错误码和日志造成观测碎片;
- Agent 不断试错、重复调用或重放已成功写入;
- 第三方依赖引入供应链和秘密泄漏风险。
治理方式不是停止新增能力,而是建立准入和淘汰机制:分域命名、按任务加载最小工具集、校验来源与签名、统一风险和审计、用真实数据淘汰重复命令,并为弃用设置兼容期。
CLI 规模化的目标不是把全部命令交给模型,而是提供最小、正确、可验证的能力集合。
分发市场不等于交易市场
CLI 可以像插件一样分发。GitHub CLI 支持第三方扩展,但其官方文档同时提醒:第三方扩展不由 GitHub 认证,安装前应审查代码;扩展安装在本地,继承本机环境带来的信任风险。GitHub CLI Extensions
MCP Registry 管理 Server 元数据、命名空间和安装配置,不托管制品,也不是结算系统;官方仍将其标为 Preview。MCP Registry
真正的交易市场还需要发布者验证、代码签名、权限说明、升级与撤销、订阅计费、隐私、退款、SLA 和售后。GitHub Marketplace 能出售 App,是因为这些交易与治理能力已经存在。GitHub Marketplace 定价机制
CLI 更合理的商业结构通常是三层:
- 免费或开源 CLI 负责安装、发现和本地体验;
- 账号、组织和许可证识别客户与套餐;
- 云端 API、数据、算力、审计、席位和 SLA 构成收费主体。
纯本地二进制也能售卖许可证,但容易复制,难以按用量计费,也难以持续履约。更稳定的商品不是几条命令,而是受控能力和服务责任。
产品评审时检查四件事
- 身份、权限和用户确认是否分层?
- Eval 是否覆盖真实 Agent 选择、纠错和危险操作?
- 工具增加后,版本、权限、审计和供应链如何治理?
- 收费对象是否有明确计量、SLA 和履约责任?
CLI 可以成为商业入口,但权限真相、质量门禁、计量和履约必须留在可治理的系统里。
