这个项目能做什么

CLI Printing Press 是一款生成器,可为任意 API 或网站生成命令行工具和 MCP 服务器,并特别强调对 AI 代理的可用性。它使用 Go 编写,以二进制文件外加一组驱动该二进制的代理技能(斜杠命令)的形式分发。 功能概述 - 读取官方 API 文档,研究流行的社区 CLI 和 MCP 服务器,并可通过捕获浏览器流量对未记录的 API 进行逆向工程。 - 接受 OpenAPI 规范、网站 URL 或 HAR 文件作为输入。 - 为每个 API 生成两个二进制文件:基于 Cobra 的 CLI(`<api>-pp-cli`)和一个 MCP 服务器(`<api>-pp-mcp`),二者共享相同的客户端、存储和认证代码。 - 同时生成研究文档、验证证明和质量评分。 关键设计要点 - 本地优先数据层:领域特定的 SQLite 表、FTS5 全文搜索、带游标跟踪的增量同步,以及用于直接查询的 `sql` 命令。诸如 `sync`、`search` 和 `sql` 等命令可离线运行。 - 复合命令:一旦数据本地化,`stale`、`health`、`bottleneck` 和 `reconcile` 等命令即可跨资源连接并分析历史数据。 - 面向代理的输出:终端中的人类可读表格,管道传输时自动输出 JSON,`--compact` 用于减少 token 输出,每种命令均支持类型化退出码(0/2/3/4/5/7)、`--dry-run`、`--select`、`--csv`、`--stdin` 及其他标志。 - 双接口:CLI 面向基于 shell 的代理,而 MCP 服务器面向集成开发环境(如 Claude Desktop 和 Cursor)。 - 验证:使用评分卡、自用测试、行为证明以及可选的实时 API 冒烟测试,以捕获幻觉路径、无效标志和认证不匹配问题。 工作流程 - 安装通过一个 shell 脚本完成,该脚本运行 `go install` 安装生成器,并通过 `skills` npm CLI 安装技能。Claude Code 是默认且测试最充分的目标;Codex 通过 `--agent codex` 标志支持。 - 在代理会话中,`/printing-press <app-name>` 启动一次生成运行。其他命令包括 `/printing-press-reprint`、`/printing-press-polish`、`/printing-press-publish` 和 `/printing-press-amend`。 - 流水线经过多个阶段:解析/复用、研究简报、生态系统吸收关卡、浏览器嗅探关卡、生成、构建 GOAT、发布检查以及可选的实时冒烟测试。为希望停止、恢复或重新运行单个步骤的用户,文档中还记载了一个更长的 9 阶段管理流水线。 - 输出组织在 `~/printing-press/` 下,包含活动运行、已发布 CLI 和存档手稿的独立目录。 值得注意的概念 - “非显而易见洞察”(NOI):用一句话重新表述 API 真正有用的地方,作为生成命令的创意基础。 - “吸收并超越”:编目现有工具和 MCP 服务器中的功能,进行匹配,然后增加由本地数据支撑的复合能力。 - 从简单端点包装器到行为洞察命令的“创造力阶梯”。 要求与注意事项 - 需要 Go 1.26.6 或更高版本、用于 `npx` 的 Node/npm,以及支持技能(已测试 Claude Code)的代理。 - README 中的性能和质量的声明(例如 token 节省和速度)是项目自身的主张,而非独立验证的基准测试。 - 该仓库不再包含源代码目录;已发布的 CLI 在单独的库仓库中维护。