CLI Printing Press 是一个用 Go 编写的开源项目,能自动读取 API 文档、学习社区 CLI 与 MCP 服务器,为任意 API 或网站生成面向 AI 智能体优化的命令行工具。它内置 SQLite 本地同步、离线搜索和复合洞察命令,让智能体以最少 token 完成复杂查询,目前已生成 ESPN、flight-goat、linear-pp-cli 等实用 CLI。
适用人群:AI 智能体开发者与提示工程师;需要频繁调用多种 API 的后端与全栈工程师;希望将现有 API 快速封装为 CLI 或 MCP 服务的工具开发者
适用场景:为没有官方 API 的网站(如 Google Flights、Domino's)生成可调用的 CLI;将多个数据源(如 Kayak 与 Google Flights)拼接为统一查询入口;让 AI 智能体通过本地 SQLite 镜像以 50ms 延迟执行复合查询,大幅降低 token 消耗
推荐理由:该项目直击 AI 智能体时代的核心痛点——token 消耗与调用效率。它不只是生成 CLI,而是生成智能体真正会用、爱用的 CLI,内置离线同步与复合命令,让复杂查询一次完成。对于需要为智能体构建工具链的团队,这是极具前瞻性和实用价值的开源方案。
项目定位与背景
在 AI 智能体快速普及的今天,如何让智能体高效、低成本地调用外部服务成为关键挑战。传统 API 调用需要智能体反复查阅文档、拼接请求、解析响应,不仅浪费 token,还容易出错。CLI Printing Press 的定位非常明确:为 AI 智能体印刷世界上最好的命令行工具。它认为一个设计良好的 CLI 就是智能体的肌肉记忆,无需翻文档、不走弯路、不浪费 token。项目由 mvanhorn 发起,用 Go 编写,目前在 GitHub 上已获得超过 4700 颗星,属于 AI 开发者工具领域的高热度项目。
核心功能与技术架构
CLI Printing Press 的工作流程可以概括为四步:读取、学习、嗅探、印刷。首先,它读取官方 API 文档,理解接口结构;其次,研究每个流行的社区 CLI 和 MCP 服务器,吸收其设计精华;然后,嗅探网络上那些没有公开 API 的服务,比如 Google Flights 或 Domino's;最后,融合 Peter Steinberger 在 discrawl 和 gogcli 中验证过的强力用户手册——本地 SQLite、复合命令、智能体原生标志——生成一个 token 高效的 Go CLI,同时附带 Claude Code 技能和 MCP 服务器。
技术架构上,项目以 Go 语言为核心,生成的 CLI 具备本地 SQLite 同步能力,这意味着数据可以离线访问,查询延迟低至 50ms。离线搜索和复合洞察命令是其两大杀手锏,让智能体能够执行 API 本身无法回答的复杂查询。例如 linear-pp-cli 可以回答“所有被阻塞且阻塞者已卡住一周的问题”,这种复合查询在传统 API 调用模式下需要多次请求和大量逻辑拼接。
创新点与亮点
第一个创新是智能体优先的设计理念。项目不是简单地把 API 包装成 CLI,而是从智能体的使用习惯出发,优化参数命名、输出格式和命令组合,让智能体一次调用就能获得完整答案。第二个亮点是嗅探能力,对于没有官方 API 的网站,项目能够通过分析网络请求反向工程出可调用的接口,这大大扩展了 CLI 的适用范围。第三个亮点是 SQLite 本地镜像,数据同步到本地后,查询速度和离线能力都得到质的飞跃。第四个亮点是复合命令,它把多个数据源的查询拼接成一个命令,比如 flight-goat 同时查询 Kayak 和 Google Flights,返回统一结果。
与同类项目对比
与传统的 OpenAPI Generator 或 Swagger Codegen 相比,CLI Printing Press 的差异非常明显。传统工具只做机械的代码生成,生成的 CLI 往往冗长、难用,且不考虑智能体的调用习惯。而 CLI Printing Press 会学习社区最佳实践,吸收多个竞品的功能,最终生成一个集大成的 GOAT CLI。与单纯的 MCP 服务器相比,它同时提供 CLI 和 MCP 两种接口,灵活性更高。与手工编写的 CLI 相比,它的自动化程度和覆盖范围又远超人工。可以说,它在自动化生成与手工优化之间找到了一个很好的平衡点。
上手指南或快速开始
使用 CLI Printing Press 需要安装两个部分:二进制文件和 Printing Press 技能。技能是主要接口,通过 /printing-press <app> 命令驱动二进制文件在后台工作。对于 Codex 用户,可以参考 docs/CODEX.md 使用 --agent codex 安装技能;对于 Cursor 用户,docs/CURSOR.md 提供了安装已印刷 CLI、附加匹配技能、处理认证以及选择 CLI 还是 MCP 的详细指南。目前已经有三款可直接安装的 CLI:ESPN(嗅探生成,无官方 API)、flight-goat(拼接 Kayak 与 Google Flights)和 linear-pp-cli(本地 SQLite 镜像,50ms 延迟)。更多印刷好的 CLI 可以在 printingpress.dev 或 Printing Press Library 中按类别浏览。
总结与展望
CLI Printing Press 是一个极具前瞻性的项目,它敏锐地捕捉到了 AI 智能体时代对高效工具调用的需求。通过自动生成 token 高效、功能复合、支持离线的 CLI,它让智能体能够以更低的成本完成更复杂的任务。当然,项目也面临一些挑战,比如嗅探生成的 CLI 可能受目标网站变更影响,自动生成的质量在不同 API 上可能存在差异。但总体而言,它为 AI 工具链的构建提供了一种全新的思路。未来如果能够支持更多语言、更智能的复合命令推荐,以及更完善的错误处理,它有望成为 AI 智能体开发者的标配工具。
项目信息
| 项目名称 | mvanhorn/cli-printing-press |
| 编程语言 | Go |
| Star 数 | 4724 |
| Fork 数 | 515 |
| 主题标签 | ai-agents, cli, cli-generator, developer-tools, golang, openapi |