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 にあります)。
はじめに
- OpenAI キーをエクスポート:
export OPENAI_API_KEY=sk-… - 履歴フォルダを作成:
mkdir -p ~/.chatgpt-cli - 簡単なクエリを試す:
chatgpt "What is the capital of the Netherlands?" - 対話型 REPL を起動:
chatgpt --interactive - プロンプトファイルを使用:
git diff | chatgpt --prompt ./prompts/write_pull-request.md - エージェントを実行:
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
- プロジェクト
- プロジェクト