mvanhorn/cli-printing-press
Every API has a secret identity. This finds it, absorbs every feature from every competing tool, then builds the GOAT CLI — designed for AI agents first, with SQLite sync, offline search, and compound insight commands.
它是什么
CLI Printing Press 是一个基于 Go 的生成器,可为任何 Web API(甚至没有 OpenAPI 规范的 API)创建功能齐全的命令行界面(CLI)和 MCP 服务器。它专为 AI 代理(Claude Code、Codex 等)设计,以便它们能以最少的 token 使用量调用 API。
工作原理
- 输入 – 您提供 API 名称、Postman URL 或仅一个网站 URL。
- 研究 – 二进制文件读取官方文档、检查流行的社区 CLI,并可嗅探浏览器流量以逆向工程未记录的端点。
- 吸收 – 它从现有 CLI、MCP 插件和社区脚本中收集功能,构建一个“清单”,说明一个好的工具应该做什么。
- 生成 – 从规范和清单中,它生成两个 Go 二进制文件:
<api>-pp-cli– 基于 Cobra 的终端 CLI。<api>-pp-mcp– IDE 代理可发现的 MCP 服务器。
- 本地数据层 – 生成的工具嵌入 SQLite 存储,支持全文搜索、增量同步和操作历史数据的复合命令。
- 验证 – 四项自动化检查(记分卡、dog-food、行为证明、实时冒烟测试)产生质量分数和证明文档。
- 发布/打磨 – 您可以将 CLI 发布到公共库,或运行“打磨”过程以修复错误、更新文档并重新评分。
适用对象
- AI 代理 – 需要快速、token 高效访问 API(Claude Code、Codex、Gemini 等)。
- 开发者 – 希望为 API 获得现成、高质量的 CLI,而无需编写样板代码。
- 团队 – 希望拥有远程数据的本地可搜索副本(例如,工单、航班、体育比分)以进行离线分析。
您获得的内容
- 一个即装即用的 Go CLI,具有合理的默认值(
--json、--compact、类型化退出代码等)。 - 一个 MCP 服务器,为 IDE 代理暴露相同的操作。
- 一个本地 SQLite 数据库,支持同步、搜索和 SQL 查询功能。
- 复合命令(
stale、health、bottleneck等),超越简单的端点包装器。 - 每个生成工具的验证工件和质量分数。
示例生成工具
- ESPN – 从抓取的 Google Flights 风格流量中提取 NBA 季后赛信息,一次调用返回完整摘要。
- flight-goat – 结合 Kayak 和 Google Flights 数据,列出长途直飞航班。
- linear-pp-cli – 一个 50 毫秒的本地 SQLite 支持的 CLI,用于 Linear 问题跟踪,支持高级查询。
安装(快速)
curl -fsSL https://raw.githubusercontent.com/mvanhorn/cli-printing-press/main/scripts/install.sh | bash
该脚本安装生成器二进制文件并注册 Claude Code 技能。使用 --cli-only 或 --skills-only 仅安装一侧,如果您更喜欢 Codex,则使用 --agent codex。
使用
- 启动 Claude Code(或其他受支持的代理)。
- 运行
/printing-press <app-name>– 例如/printing-press Notion。 - 代理调用二进制文件,该二进制文件在您的
~/printing-press/library文件夹中输出<notion>-pp-cli和<notion>-pp-mcp。 - 直接运行 CLI,或让 IDE 发现 MCP 服务器。
为什么重要
- Token 效率 – 代理与简洁的 CLI 交互,而不是原始 HTTP,大幅减少 token 使用量。
- 深度优于广度 – 通过本地持久化数据,生成的工具可以回答纯 API 包装器无法回答的复合查询。
- 零规范支持 – 即使未记录的 Web 界面也可以通过浏览器嗅探变成完整的 CLI。
- 验证输出 – 自动化检查在发布前减少幻觉和损坏的标志。
所有细节均取自仓库的 README;未假设任何额外功能。
相关
- 项目
- 项目
- 项目
- 项目
- 项目