kardolus/chatgpt-cli

ChatGPT CLI is a powerful, multi-provider command-line interface for working with modern LLMs. It supports OpenAI, Azure, Perplexity, LLaMA, and more, with features like streaming, interactive chat, prompt files, image/audio I/O, MCP tool calls, and an experimental agent mode for safe, multi-step automation.

ChatGPT CLI – 現代 LLM 的終端前端

是什麼 – 一個單一二進制命令列工具,可直接從 shell 與多種大型語言模型提供者(OpenAI、Azure、Perplexity、LLaMA 等)對話。支援一般查詢模式、串流「即時打字」模式、互動式 REPL,以及可執行多步驟工具使用工作流程的實驗性 代理 模式。

核心功能

  • 供應商無關 – 透過 config.yaml 或環境變數配置任意支援的 LLM。
  • 串流與查詢模式 – 可逐 token 輸出,或取得單一回應。
  • 線程化上下文 – 每個 線程 保持獨立的對話歷史,使用滑動視窗自動修剪以維持在 token 限制內。
  • 提示檔案--prompt <file> 可在查詢前注入完整文字提示(例如 Markdown 指南)。
  • 多媒體 I/O – 支援上傳圖片(--image)、生成圖片(--draw)、上傳音訊(--audio)、轉錄(--transcribe)和語音合成(--speak)。
  • MCP(模型上下文協定) – 透過 HTTP 或 stdio 呼叫外部工具,CLI 管理會話,並將工具結果作為上下文注入對話。
  • 代理模式 – 支援 ReAct 或 Plan/Execute 迴圈,可執行 shell 命令、讀寫檔案,並遵守可設定的 預算(步驟數、token 數、執行時間)與 政策(允許的工具、禁止的命令、工作目錄沙箱)。
  • 網路搜尋 – 模型支援時可選實時網路取得。
  • 自動補全 – 透過 chatgpt completion 產生 Bash/Zsh/Fish 補全。

安裝

  • Homebrew(macOS)brew tap kardolus/chatgpt-cli && brew install chatgpt-cli(信任一次該 tap)。
  • 預先建置二進制檔curl -L …/chatgpt-<os‑arch> 下載後 chmod +x 並移動到 PATH 中的目錄(Apple Silicon、Intel macOS、Linux amd64/arm64/386、FreeBSD、Windows 的範例見 README)。

快速上手

  1. 導出 OpenAI 金鑰:export OPENAI_API_KEY=sk‑…(或配置其他供應商)。
  2. 建立歷史目錄:mkdir -p ~/.chatgpt-cli
  3. 簡單查詢:chatgpt "what is the capital of the Netherlands"
  4. 互動式 REPL:chatgpt --interactive
  5. 使用提示檔案:chatgpt --prompt my‑prompt.md "Summarize this code"
  6. 執行代理任務:chatgpt "why is my test failing?" --agent(或加入 --agent-mode plan)。

設定

  • 設定可透過 旗標環境變數(以設定名稱前綴)、config.yaml 檔案或回退至內建預設值提供。優先順序為:旗標 > 環境變數 > 檔案 > 預設值。
  • 供應商特定區段(OpenAI、Azure、Perplexity、302 AI、Atlas Cloud)可儲存 API 金鑰、端點 URL、模型預設值等。
  • 代理特定選項可設定預設政策、預算限制與沙箱工作目錄。
  • --target 旗標可切換多個設定檔。

典型用例

  • 無需開啟瀏覽器即可快速查詢。
  • 撰寫腳本:將檔案內容或命令輸出透過管道傳入 CLI,取得模型生成的回應。
  • 自動化工作流程:使用代理模式讓模型安全地執行一系列 shell 命令。
  • 透過 MCP 擴充自訂工具 – 例如呼叫天氣爬蟲服務並將結果回饋給模型。

更多資源


以上所有細節均直接取自專案的 README;未推測任何額外功能。

相關

  • 專案
  • Dispatch
  • 專案
  • 專案
  • 專案