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、および複数ステップのツール使用ワークフローを実行できる実験的な エージェント モードをサポートしています。

主な機能

  • プロバイダ非依存config.yaml または環境変数で任意の対応プロバイダを構成可能。
  • ストリーミング & クエリモード – トークン単位の出力または単一の応答を取得可能。
  • スレッド付きコンテキスト – 各 スレッド は独自のチャット履歴を保持し、トークン制限を超えないように自動的にスライディングウィンドウでトリミングされます。
  • プロンプトファイル--prompt <file> で、完全なテキストプロンプト(例:Markdownガイド)をクエリの前に挿入可能。
  • マルチメディアI/O – 画像のアップロード(--image)、画像生成(--draw)、音声のアップロード(--audio)、音声認識(--transcribe)、音声合成(--speak)をサポート。
  • MCP(Model Context Protocol) – HTTPまたはstdio経由で外部ツールを呼び出し、CLIがセッションを管理し、ツールの結果をコンテキストとして会話に挿入可能。
  • エージェントモード – ReActまたはPlan/Executeループを実行可能。シェルコマンドの実行、ファイルの読み書き、設定可能な 予算(ステップ数、トークン数、実行時間)と ポリシー(許可されたツール、禁止されたコマンド、ワークディレクトリのサンドボックス)を尊重可能。
  • Web検索 – モデルが対応する場合、オプションでライブWeb取得を実行可能。
  • 自動補完chatgpt completion でBash/Zsh/Fishの補完を生成可能。

インストール

  • Homebrew(macOS): brew tap kardolus/chatgpt-cli && brew install chatgpt-cli(一度だけタップの信頼を設定)。
  • 事前ビルド済みバイナリ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に渡し、モデルが生成した回答を得る。
  • 自動化ワークフロー:エージェントモードを使って、モデルが安全に一連のシェルコマンドを実行する。
  • MCPによるカスタムツールの拡張 – 例:天気スクレイパーAPIを呼び出し、結果をモデルにフィードバックする。

詳細情報の入手先

  • 完全なフラグリファレンス:chatgpt --help
  • 例題プロンプトリポジトリ:https://github.com/kardolus/prompts
  • READMEにリンクされたイシュー追跡システムとコントリビューションガイド。

上記のすべての詳細はプロジェクトのREADMEから直接引用;追加の機能は推測されていません。

関連

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