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 打印机 – AI 驱动的生产就绪 CLI(及 MCP 服务器)生成器

这是什么 – 一个基于 Go 的工具,允许 AI 助手(Claude Code、Codex 等)将任何 Web 服务或 API 转换为 令牌高效 的命令行界面,以及一个匹配的 MCP(机器码插件)服务器。它能自动完成整个流程:

  1. 研究 – 读取官方文档,抓取社区 CLI,甚至捕获未公开网站的浏览器流量。
  2. 吸收 – 构建现有工具中所有有用功能的清单。
  3. 生成 – 输出一个基于 Cobra 的 Go CLI 和一个与之共享相同客户端/存储代码的 MCP 服务器。
  4. 持久化 – 创建一个带有全文搜索、增量同步和复合命令支持的本地 SQLite 存储。
  5. 验证 – 在发布前运行评分卡、自用测试、行为证明检查和实时烟雾测试。

结果是一个可直接安装的二进制文件,如 notion-pp-cli,以及一个配套的 notion-pp-mcp,代理可直接调用,且令牌消耗极低。


对 AI 代理的意义

  • 速度与令牌经济性 – 代理可以调用简洁的 CLI,而不是逐字阅读冗长的 API 文档。标志设计为机器消费(紧凑输出、类型化退出码、自动 JSON)。
  • 本地优先数据 – 所有获取的数据都存储在 SQLite 数据库中,支持超快的 searchsql复合 命令(stalehealthbottleneck),这是无状态 API 包装器永远无法提供的。
  • 双接口 – 相同生成的代码同时支持终端友好的 CLI 和 MCP 服务器,因此该工具可在基于终端的代理(Claude Code、Codex) 集成在 IDE 中的代理(Claude Desktop、Cursor、Windsurf、Cline)中使用。
  • 零规范工作流 – 将打印机指向一个网站(例如 ESPN、Google Flights),它会捕获流量,反向工程 OpenAPI 规范,并自动构建 CLI。

快速安装(二进制 + 技能)

# 一行命令安装 Go 生成器,并为 Claude Code 注册所有打印机技能
curl -fsSL https://raw.githubusercontent.com/mvanhorn/cli-printing-press/main/scripts/install.sh | bash
  • 添加 --cli-only--skills-only 可仅安装其中一侧,添加 --agent codex 可针对 Codex 而非 Claude Code。

手动替代方案(如果你更喜欢 Go 工具链):

go install github.com/mvanhorn/cli-printing-press/v4/cmd/cli-printing-press@latest
npx -y skills@latest add mvanhorn/cli-printing-press/skills --skill '*' -g -a claude-code -y

生成 CLI(代理工作流)

  1. 启动你的 Claude Code(或 Codex)会话。
  2. 在聊天中运行该技能:
    /printing-press <app-名称或URL>
    
    • 示例:/printing-press ESPN/printing-press https://postman.com/explore
  3. 该技能调用 cli-printing-press 二进制文件,运行完整的五阶段流程,并将两个二进制文件放入 ~/printing-press/library/<api>/
    • <api>-pp-cli – 基于 Cobra 的 CLI。
    • <api>-pp-mcp – MCP 服务器。
  4. 可直接使用 CLI(<api>-pp-cli --help),或让你的 IDE 代理发现 MCP 服务器。

生成 CLI 的核心功能

功能 作用 代理优势
sync 将最新数据拉取到本地 SQLite 存储中。 一次网络调用后,所有后续查询均可离线进行。
search / sql 对本地数据进行全文或 SQL 查询。 毫秒级响应,显著减少令牌消耗。
stale, health, bottleneck 从历史数据中推导出领域特定的分析。 无需自定义代码即可为代理提供高层洞察。
--compact 仅输出高重要性字段(减少 60–80% 令牌)。 保持提示简短。
类型化退出码 机器可读的状态码(023……)。 代理可直接分支逻辑,无需解析文本。
自动 JSON 管道输出时自动输出 JSON,无需 --json 标志。 jq 或其他工具无缝组合。

发布与优化

  • 发布/printing-press-publish <api> 验证、打包并打开 PR 提交至公共 打印机库
  • 打磨/printing-press-polish <api> 运行诊断,修复验证失败,并清理文档。
  • 修正 – 经过自用会话后,/printing-press-amend 提取痛点,创建 PR,并自动清除任何 PII。

内部工作原理(高层次流程)

Phase 0  解析规范或 URL(1–3 分钟)
Phase 1  研究简报 – 识别身份、竞争对手、数据层(5–10 分钟)
Phase 1.5 吸收生态系统 – 目录化现有 CLI/MCP 功能(5–10 分钟)
Phase 1.7 浏览器嗅探 – 若无规范则捕获 HAR(2–5 分钟)
Phase 2  生成 Go CLI + MCP 服务器(1–2 分钟)
Phase 3  构建“GOAT” – 添加本地存储、复合命令、分析功能(10–20 分钟)
Phase 4–5 验证、评分,并可选发布

所有阶段均由 cli-printing-press 二进制文件协调;重负载(代码生成)可委托给 Codex/printing-press <api> codex)以节省 Claude Code 的令牌使用量。


生成 CLI 示例(ESPN)

espn-pp-cli games --date today --compact
# → 单次调用返回 NBA 季后赛比分、得分领先者、伤病新闻的 JSON

相同功能也可通过 espn-pp-mcp 供基于 IDE 的代理使用。


谁会使用它

  • AI 代理开发者,需要为数十个服务快速构建低令牌消耗工具。
  • DevOps / 自动化工程师,希望拥有 SaaS 数据的本地可搜索缓存。
  • 研究人员,需要探索未公开的 Web API 而无需编写爬虫。
  • 工具构建者,希望从单一源代码同时发布 CLI 和 MCP 插件。

链接


CLI 打印机 自动化了将任何 API(无论是否文档化)转换为高性能、代理友好的命令行工具和 MCP 服务器的完整生命周期,大幅降低 AI 增强工作流中的令牌成本和开发工作量。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目