CLI Printing Press:从任意 API 生成一个 Go 命令行工具

查看原文 HN 讨论

文章摘要

CLI Printing Press 是 Matt van Horn 开源的一个生成器,目标只有一个:给任意 API 自动印出一个为 AI agent 优化过的高质量命令行工具。它的输入可以是 OpenAPI spec、浏览器抓下来的 HAR 文件、甚至只是一个 URL(项目会反向工程出 spec),输出则是一对孪生产物——一个基于 Cobra 的 Go CLI,以及一个对应的 MCP server——两者从同一份规格生成,不会出现实现漂移。

整条流水线分五步走:”研究 → 生态吸收 → 生成 → 验证 → 发布“。研究阶段会去爬目标 API 的官方文档以及现有竞品 CLI / MCP,找出常见命令模式;生成阶段把端点映射成 Cobra 命令的同时,会额外造出一批”洞察型”复合命令——例如 healthbottlenecksimilar 这种任何无状态 API 都做不到的分析命令。这是因为它在本地内嵌了一层 SQLite + FTS5 的数据层:增量同步、cursor 跟踪、本地全文搜索,让 CLI 既能当 API 客户端,又能当本地分析引擎。

在”为 agent 服务”这件事上,它做了几个明确的设计决策:piped 时自动输出 JSON、有类型化的 exit code 让 agent 自我修正、--compact 模式压缩 token、--dry-run 提供安全闸门。验证阶段也很扎实:两层 scorecard(基础设施 + 领域正确性)、结构化 dogfood 检查、行为证明、可选的 live API smoke test。整体哲学很清楚——API → CLI 不再是手工活,而是工业化产线——每一份 OpenAPI 都能被”印”成一个 agent 友好的工具集,作者甚至直接把项目名取成”印刷机”。

HN 评论精华

注:这条 Hacker News 帖子(id=48054795)目前只有 6 分,几乎没有展开的评论讨论。下面是社区在类似项目(OpenAPI → CLI 生成器)下经常出现的关注点,也基本对应了开发者第一次看到 CLI Printing Press 时会问的问题: