命令列工具
mvanhorn/cli-printing-press avatar
mvanhorn/cli-printing-press

cli-printing-press:從 API 和網站產生面向代理的 CLI

此專案圍繞「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.」建置,聚焦實際場景的開源實作,提供可重用的工具鏈與整合方式。

4,685 個 Star505 個 ForkGoMIT
GitHub

秒懂

它是什麼?
mvanhorn/cli-printing-press 的功能、設定方式與 README 明確記錄的限制,本文以繁體中文整理。
適合誰用?
mvanhorn/cli-printing-press 適合想依 README 具體入口理解專案的讀者,不適合把未完成或未說明的能力直接當成生產承諾。採用前先執行文中提到的專案命令,檢查其設定檔、輸出與限制是否符合你的環境;來源沒有證明的部分不要自行延伸。
可以商用嗎?
可以。MIT 是寬鬆授權:你可以使用、修改並販售以它為基礎的軟體,只需保留著作權與授權聲明。
還在維護嗎?
有在維護。儲存庫最近一次提交在 2 天前。
用什麼語言寫的?
主要是 Go(依據 GitHub 的語言統計)。

以上回答依據專案的 GitHub 資料(最近同步於 2026年9月14日)與我們的分析,不構成法律意見。

開源專案深度解析

mvanhorn/cli-printing-press:專案定位與技術邊界

README 將 cli-printing-press 描述為一個工具,它讀取官方 API 文件,研究流行的社群 CLI 和 MCP 伺服器,並能嗅探沒有發布文件的 API 的網頁流量。它融合這些來源,為任何 API 或網站產生一個 token 高效的 Go CLI、一個 Claude Code 技能和一個 MCP 伺服器。文中列出了三個範例輸出:ESPN(嗅探,無官方 API)、flight-goat(Kayak 加嗅探的 Google Flights)和 linear-pp-cli(查詢本地 SQLite 鏡像,耗時 50ms)。README 將「非顯而易見洞察」(NOI)定義為對 API 用途的一句話重構,並稱第 0 階段若沒有它則無法完成。它還聲明該產生器首先為 AI 代理設計,在終端中提供人類友好的表格,並在管道傳輸時自動輸出 JSON。(mvanhorn/cli-printing-press 第 1 節第 1 段)

mvanhorn/cli-printing-press 的 專案定位與技術邊界 小節必須回到 README 實際列出的內容。這個儲存庫不是抽象概念的展示:讀者可以從檔案名稱、端點、指令或平台限制辨認它的工作邊界。文章只把來源中已經寫明的行為整理成可讀的判斷,沒有把未記錄的整合、效能或部署承諾補進來。對採用者而言,最有用的觀察點是 mvanhorn/cli-printing-press 自己的設定、輸入與輸出,因為這些記號能直接對照原始專案,而不是依靠泛用的產品形容詞。(mvanhorn/cli-printing-press 第 1 節第 2 段)

實際檢查 mvanhorn/cli-printing-press 時,應針對上述小節中的具體檔案或命令觀察結果。例如先讀取 README 指出的設定,再執行專案明確提供的啟動或測試入口,最後把畫面、日誌或 API 回應與預期功能逐項比對。若 README 沒有說明某項行為,本文就保留為未說明;這項限制本身也是評估 mvanhorn/cli-printing-press 是否適合特定環境的重要資訊。這種寫法也能把列出功能與證明能在你的環境運作分開。讀者應留下專案名稱、具體路徑和參數,遇到差異時才能分辨是依賴版本、平台條件還是設定值造成,而不是把結果誤讀成 mvanhorn/cli-printing-press 的固定保證。(mvanhorn/cli-printing-press 第 1 節第 3 段)

mvanhorn/cli-printing-press:主要功能在實際流程中的位置

安裝需要二進位檔案和 Printing Press 技能,透過一個 curl 指令碼安裝,該指令碼執行 `go install` 並透過 `skills@latest add` 重新整理技能。先決條件是 Go 1.26.5 或更新版本、Claude Code 或其他支援技能的代理,以及用於 npx 的 Node/npm。README 稱 Claude Code 是預設且經過最佳測試的路徑;Codex 有文件但可能滯後。安裝後,用 `cli-printing-press --version` 驗證。手動安裝路徑使用 `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`。README 也指出舊的二進位名稱 `printing-press` 仍可用於相容。(mvanhorn/cli-printing-press 第 2 節第 1 段)

mvanhorn/cli-printing-press 的 主要功能在實際流程中的位置 小節必須回到 README 實際列出的內容。這個儲存庫不是抽象概念的展示:讀者可以從檔案名稱、端點、指令或平台限制辨認它的工作邊界。文章只把來源中已經寫明的行為整理成可讀的判斷,沒有把未記錄的整合、效能或部署承諾補進來。對採用者而言,最有用的觀察點是 mvanhorn/cli-printing-press 自己的設定、輸入與輸出,因為這些記號能直接對照原始專案,而不是依靠泛用的產品形容詞。(mvanhorn/cli-printing-press 第 2 節第 2 段)

實際檢查 mvanhorn/cli-printing-press 時,應針對上述小節中的具體檔案或命令觀察結果。例如先讀取 README 指出的設定,再執行專案明確提供的啟動或測試入口,最後把畫面、日誌或 API 回應與預期功能逐項比對。若 README 沒有說明某項行為,本文就保留為未說明;這項限制本身也是評估 mvanhorn/cli-printing-press 是否適合特定環境的重要資訊。這種寫法也能把列出功能與證明能在你的環境運作分開。讀者應留下專案名稱、具體路徑和參數,遇到差異時才能分辨是依賴版本、平台條件還是設定值造成,而不是把結果誤讀成 mvanhorn/cli-printing-press 的固定保證。(mvanhorn/cli-printing-press 第 2 節第 3 段)

mvanhorn/cli-printing-press:設定檔、命令與輸入輸出

README 描述了一個快速路徑,包含從 0 到 5 的階段,包括研究、生態吸收門、瀏覽器嗅探門、產生、發貨檢查和可選的即時冒煙測試。支援三種輸入入口:OpenAPI 規範(`--spec`)、HAR 檔案(`--har`)或觸發瀏覽器嗅探以反向工程規範的 URL。每次執行產生兩個二進位檔案(`<api>-pp-cli` 和 `<api>-pp-mcp`)、研究文件、驗證證明和質量分數。輸出進入 `~/printing-press/`,並分為活動執行、已發布 CLI 和存檔手稿的目錄。README 給出了各階段的近似時長:第 0 階段 1-3 分鐘,第 1 階段 5-10 分鐘,第 1.5 階段 5-10 分鐘,第 1.7 階段 2-5 分鐘,第 2 階段 1-2 分鐘,第 3 階段 10-20 分鐘,第 4 階段 3-8 分鐘,第 5 階段 2-5 分鐘。它還提到了文件記錄的更長的 9 階段管理流程(docs/PIPELINE.md),以及用於 CLI 位置的 `--output` 覆蓋選項。當工具嗅探網站時,它會將訪問的頁面、發現的端點、回應樣本和速率限制事件存檔到 `discovery/` 手稿中供稽核。(mvanhorn/cli-printing-press 第 3 節第 1 段)

mvanhorn/cli-printing-press 的 設定檔、命令與輸入輸出 小節必須回到 README 實際列出的內容。這個儲存庫不是抽象概念的展示:讀者可以從檔案名稱、端點、指令或平台限制辨認它的工作邊界。文章只把來源中已經寫明的行為整理成可讀的判斷,沒有把未記錄的整合、效能或部署承諾補進來。對採用者而言,最有用的觀察點是 mvanhorn/cli-printing-press 自己的設定、輸入與輸出,因為這些記號能直接對照原始專案,而不是依靠泛用的產品形容詞。(mvanhorn/cli-printing-press 第 3 節第 2 段)

實際檢查 mvanhorn/cli-printing-press 時,應針對上述小節中的具體檔案或命令觀察結果。例如先讀取 README 指出的設定,再執行專案明確提供的啟動或測試入口,最後把畫面、日誌或 API 回應與預期功能逐項比對。若 README 沒有說明某項行為,本文就保留為未說明;這項限制本身也是評估 mvanhorn/cli-printing-press 是否適合特定環境的重要資訊。這種寫法也能把列出功能與證明能在你的環境運作分開。讀者應留下專案名稱、具體路徑和參數,遇到差異時才能分辨是依賴版本、平台條件還是設定值造成,而不是把結果誤讀成 mvanhorn/cli-printing-press 的固定保證。(mvanhorn/cli-printing-press 第 3 節第 3 段)

mvanhorn/cli-printing-press:測試、版本與相容性

產生的 CLI 包含一個本地優先的資料層,具有特定領域的 SQLite 表、FTS5 全文搜尋、增量同步以及 `sync`、`search` 和 `sql` 等命令。`stale`、`health` 和 `bottleneck` 等複合命令跨資源連線,README 稱這對於無狀態 API 包裝器是不可能的。面向代理的預設設定包括管道傳輸時自動 JSON、將 token 使用減少 60-80% 的 `--compact` 旗標、用於自我糾正的型別化退出碼(0=成功,2=用法,3=未找到,4=認證,5=API,7=速率限制),以及用於安全探索的 `--dry-run`。README 將 Peter Steinberger 的 discrawl 和 gogcli 視為影響,以及 Ramp 的 CLI 對自動 JSON 管道和 `--no-input` 的啟發。領域原型根據檢測到的 API 類別(專案管理、通訊、支付、基礎設施、內容)自動產生工作流命令,如 `stale`、`orphans` 和 `channel-health`。每個命令都包含 `--json`、`--select`、`--csv`、`--quiet`、`--yes` 和 `--no-cache` 等旗標。產生的 README 包含「來源與靈感」部分,感謝研究期間研究的生態工具。(mvanhorn/cli-printing-press 第 4 節第 1 段)

mvanhorn/cli-printing-press 的 測試、版本與相容性 小節必須回到 README 實際列出的內容。這個儲存庫不是抽象概念的展示:讀者可以從檔案名稱、端點、指令或平台限制辨認它的工作邊界。文章只把來源中已經寫明的行為整理成可讀的判斷,沒有把未記錄的整合、效能或部署承諾補進來。對採用者而言,最有用的觀察點是 mvanhorn/cli-printing-press 自己的設定、輸入與輸出,因為這些記號能直接對照原始專案,而不是依靠泛用的產品形容詞。(mvanhorn/cli-printing-press 第 4 節第 2 段)

實際檢查 mvanhorn/cli-printing-press 時,應針對上述小節中的具體檔案或命令觀察結果。例如先讀取 README 指出的設定,再執行專案明確提供的啟動或測試入口,最後把畫面、日誌或 API 回應與預期功能逐項比對。若 README 沒有說明某項行為,本文就保留為未說明;這項限制本身也是評估 mvanhorn/cli-printing-press 是否適合特定環境的重要資訊。這種寫法也能把列出功能與證明能在你的環境運作分開。讀者應留下專案名稱、具體路徑和參數,遇到差異時才能分辨是依賴版本、平台條件還是設定值造成,而不是把結果誤讀成 mvanhorn/cli-printing-press 的固定保證。(mvanhorn/cli-printing-press 第 4 節第 3 段)

mvanhorn/cli-printing-press:授權條款對使用方式的影響

在 CLI 發布前,README 列出了四項機械檢查:雙層記分卡(100 分,A 級為 85+)、結構化 dogfood、行為證明,以及當存在 API 金鑰時的即時唯讀 API 冒煙測試。記分卡檢查基礎設施模式和領域正確性,並有反作弊規則以防止最佳化分數而非功能。基準是 discrawl 的架構、gogcli 的質量和競爭對手的功能。還有一個 `auth doctor` 命令,掃描已安裝 CLI 的 tools-manifest.json,報告宣告的環境變數是否已設定、未設定或可疑,僅顯示每個值的前四個字元。README 稱這些檢查能捕獲幻覺路徑、死旗標、認證不匹配和損壞的資料管道。(mvanhorn/cli-printing-press 第 5 節第 1 段)

mvanhorn/cli-printing-press 的 授權條款對使用方式的影響 小節必須回到 README 實際列出的內容。這個儲存庫不是抽象概念的展示:讀者可以從檔案名稱、端點、指令或平台限制辨認它的工作邊界。文章只把來源中已經寫明的行為整理成可讀的判斷,沒有把未記錄的整合、效能或部署承諾補進來。對採用者而言,最有用的觀察點是 mvanhorn/cli-printing-press 自己的設定、輸入與輸出,因為這些記號能直接對照原始專案,而不是依靠泛用的產品形容詞。(mvanhorn/cli-printing-press 第 5 節第 2 段)

實際檢查 mvanhorn/cli-printing-press 時,應針對上述小節中的具體檔案或命令觀察結果。例如先讀取 README 指出的設定,再執行專案明確提供的啟動或測試入口,最後把畫面、日誌或 API 回應與預期功能逐項比對。若 README 沒有說明某項行為,本文就保留為未說明;這項限制本身也是評估 mvanhorn/cli-printing-press 是否適合特定環境的重要資訊。這種寫法也能把列出功能與證明能在你的環境運作分開。讀者應留下專案名稱、具體路徑和參數,遇到差異時才能分辨是依賴版本、平台條件還是設定值造成,而不是把結果誤讀成 mvanhorn/cli-printing-press 的固定保證。(mvanhorn/cli-printing-press 第 5 節第 3 段)

編輯結論

mvanhorn/cli-printing-press 適合想依 README 具體入口理解專案的讀者,不適合把未完成或未說明的能力直接當成生產承諾。採用前先執行文中提到的專案命令,檢查其設定檔、輸出與限制是否符合你的環境;來源沒有證明的部分不要自行延伸。

官方來源

  1. Official README
  2. Project repository
  3. Release notes
社群筆記

社群筆記