j178/chatgpt

An elegant interactive CLI for ChatGPT

chatgpt — OpenAI ChatGPT 用のコマンドラインインターフェース

概要 – Goで書かれた小型で自己完結型のCLIツールで、ターミナルから直接OpenAIのGPT-3.5-turboやGPT-4モデルと対話できます。プロンプトをOpenAI API(またはAzure OpenAI)に送信し、レスポンスをコンソールにストリーミング表示します。

使い方

  1. OpenAI APIキーをエクスポートします:
    export OPENAI_API_KEY=sk-your-key
    
  2. プログラムを実行します:
    • chatgpt – インタラクティブなチャットセッションを開始します。
    • chatgpt -p translator – 定義済みのプロンプト(例:翻訳アシスタント)でセッションを開始します。
    • パイプ経由でデータを渡すことも可能です:
    cat config.yaml | chatgpt -p 'convert this yaml to json'
    

インストールオプション

  • GitHubのリリースページからバイナリをダウンロード。
  • macOS/Linux (Homebrew): brew install j178/tap/chatgpt
  • Windows (Scoop): scoop bucket add j178 https://github.com/j178/scoop-bucket.git && scoop install j178/chatgpt
  • Nix: environment.systemPackagespkgs.chatgpt-cli を追加。
  • Goでソースからビルド: go install github.com/j178/chatgpt/cmd/chatgpt@latest

主な機能

  • インタラクティブモード:豊富なキーバインド(単一行/複数行入力の切り替え、履歴ナビゲーション、回答のコピー、終了など)。
  • プロンプトライブラリ~/.config/chatgpt/config.json で再利用可能なプロンプトを定義し、-p で選択可能。
  • 会話管理 – 複数の会話が conversations.json に保存され、新規チャットの開始、コンテキストの破棄、会話の削除が可能。
  • 設定可能なモデルとパラメータ – モデル(gpt-3.5-turbo または gpt-4)、温度、最大トークン数、ストリーミング、コンテキスト長を選択可能。
  • Azure OpenAI サポートapi_type: "AZURE" を設定し、モデル名をAzureデプロイメントにマッピング可能。
  • パイプライン対応 – シェルパイプラインで使用でき、他のCLIツールとの統合が容易。

設定 – このツールは ~/.config/chatgpt/config.json からデフォルト設定(APIキー、エンドポイント、プロンプト、モデル設定)を読み込み、会話履歴を ~/.config/chatgpt/conversations.json に書き込みます。また、key_map セクションを追加してキーバインドを上書きすることも可能です。

ライセンス – MIT。


上記の詳細はすべてリポジトリのREADMEから直接引用しています。

関連

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