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 のためのターミナルフロントエンド

概要 – シングルバイナリのコマンドラインツールで、シェルから直接、さまざまな大規模言語モデルプロバイダー (OpenAI、Azure、Perplexity、LLaMA など) と対話できます。プレーンなクエリ、ストリーミング応答、対話型 REPL セッション、およびモデルがツール (シェル、ファイルシステム、Web 検索、MCP サービス) を呼び出してマルチステップのタスクを解決できる一連の「エージェント」機能をサポートしています。

主な機能

  • ストリーミング&クエリモード – リアルタイムのトークンごとの出力、または一度の質問と応答。
  • スレッドベースのコンテキスト – 各論理的な会話 (スレッド) は、スライディングウィンドウのトークン制限を持つ独自の履歴を保持します。履歴は ~/.chatgpt-cli に保存されます。
  • プロンプトファイル – --prompt <file> は、クエリの前に再利用可能な指示ファイルを注入します。
  • エージェントモード – 実験的な ReAct または Plan/Execute ループで、組み込みツール (シェルコマンド、ファイル操作、Web 検索) を使用してモデルに思考、行動、観察させます。予算 (ステップ、トークン、時間) とポリシールール (許可されたツール、作業ディレクトリのサンドボックス) により、安全な実行を維持します。
  • MCP (Model Context Protocol) 統合 – 外部の HTTP または stdio ツールを呼び出し、その JSON-RPC 結果を [MCP: <tool>] コンテキストとして会話に挿入します。
  • マルチメディア I/O – 画像のアップロード (--image)、画像の生成または編集 (--draw)、音声のアップロード (--audio)、文字起こし (--transcribe)、音声合成 (--speak)。
  • モデル探索 – -l/--list-models は、現在のプロバイダーが提供するモデルを表示します。
  • 階層型設定 – フラグ > 環境変数 > config.yaml > デフォルト。プロバイダーごとのセクションで、OpenAI、Azure、Perplexity、302 AI、Atlas Cloud などのキーを保存できます。

インストール

  • Homebrew (macOS): brew tap kardolus/chatgpt-cli && brew trust kardolus/chatgpt-cli && brew install chatgpt-cli
  • ビルド済みバイナリ – 最新の GitHub リリースから適切な chatgpt-<os>-<arch> を curl で取得し、実行権限を付与して、$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. プロンプトファイルを使用: git diff | chatgpt --prompt ./prompts/write_pull-request.md
  6. エージェントを実行: chatgpt "Why is my test failing?" --agent

設定のハイライト

  • config.yaml は ~/.chatgpt-cli にあります (または --config-dir でカスタムディレクトリを指定)。
  • プロバイダー固有のセクションで、API キー、ベース URL、モデルのデフォルトを設定できます。
  • エージェント固有の設定 (budget、policy、work-dir) は、同じファイル内または --set-… フラグで設定可能です。
  • --completion ヘルパーを使用して、Bash/Zsh/Fish の自動補完を有効にできます。

注目すべき理由

  • ターミナルに留まり、Web UI へのコンテキストスイッチを回避します。
  • エージェントモードは、安全制限を尊重しながらスクリプトを実行し、ファイルを編集し、ライブ Web データを取得できる軽量の「auto-GPT」を提供します。
  • MCP サポートにより、コードを書くことなく、Model Context Protocol に準拠するカスタムツールをプラグインできます。

リンクとリソース

  • 完全なドキュメント: 上記の README のセクション。
  • プロンプトライブラリ: https://github.com/kardolus/prompts
  • イシュートラッカーとコントリビューションガイドはリポジトリ内にリンクされています。

関連

  • プロジェクト
  • プロジェクト
  • Dispatch
  • プロジェクト
  • プロジェクト