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 等)能將任何網路服務或 API 轉換成 節省 token 的命令列介面,以及對應的 MCP(Machine‑Code‑Plugin)伺服器。它會自動完成整個流程:

  1. 研究 – 讀取官方文件、抓取社群 CLI,甚至捕捉瀏覽器流量以處理未文件化的網站。
  2. 吸收 – 建立所有現有工具中發現的實用功能清單。
  3. 產生 – 產出基於 Cobra 的 Go CLI 和共享相同 client/store 程式碼的 MCP 伺服器。
  4. 持久化 – 建立具有全文搜尋、增量同步與複合命令支援的本地 SQLite 資料庫。
  5. 驗證 – 在發布前執行評分卡、自用測試、行為證明檢查與即時煙霧測試。

結果是可直接安裝的二進位檔,例如 notion‑pp-cli,以及可讓代理直接呼叫的配套 notion‑pp-mcp,且 token 成本極低。


對 AI 代理的重要性

  • 速度與 token 經濟 – 代理可呼叫簡潔的 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‑name-or‑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 查詢。 毫秒級回應,大幅減少 token 使用。
stale, health, bottleneck 由歷史資料衍生的領域特定分析。 讓代理在無需自訂程式碼的情況下獲得高階洞察。
--compact 僅輸出高重要性欄位(節省 60–80 % token)。 保持提示簡短。
類型化退出碼 機器可讀的狀態碼(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 的 token 使用。


產生 CLI 的範例(ESPN)

espn-pp-cli games --date today --compact
# → 單一呼叫內回傳 NBA 季後賽比分、得分領先者、傷病新聞的 JSON

相同功能亦可透過 espn-pp-mcp 提供給基於 IDE 的代理。


哪些人會使用它

  • 需要為數十個服務快速、低 token 工具的 AI 代理開發者。
  • 希望擁有可搜尋的 SaaS 資料本地快取的 DevOps / 自動化工程師。
  • 需要探索未文件化網路 API 而不需撰寫爬蟲的研究人員。
  • 希望從單一來源同時發行 CLI 與 MCP 插件的工具建構者。

連結


CLI 印刷機 自動化了將任何 API(無論有無文件)轉換為高性能、代理友善的命令列工具與 MCP 伺服器的整個生命週期,大幅降低 AI 增強工作流程中的 token 成本與開發努力。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案