開発者向け

OpenCodeのインストールとOmniProxyの設定

コーディングアシスタントにプロジェクトを理解させたいものの、インストールや設定でつまずきたくない場合、OpenCodeならターミナル、IDE、デスクトップから起動し、手順に沿って利用中のモデルサービスへ接続できます。

ドキュメントレビュー済み
2026/10/09
テスト済みバージョン
OpenCode 1.18.34

OpenCodeはオープンソースのコーディングアシスタントです。ターミナル、IDE、デスクトップでコードを記述でき、コードやコンテキストを保存しないため、プライバシーを重視するプロジェクトに適しています。buildはプロジェクトの変更に使用します。planはデフォルトで読み取り専用のため、不慣れなコードを先に理解し、変更方法を整理する場合に適しています。モデルサービスは必要に応じて選択できます。

インストール前の準備

インストールスクリプトを使うのが最も簡単です。コマンドの実行やプロジェクトファイルの操作ができる、WezTerm、Alacritty、Ghostty、Kittyなどのモダンなターミナルが必要です。Windowsでは、Windows上でLinux環境を実行するためのツールであるWSLを優先して使用してください。より完全なパフォーマンスと機能を利用できます。

最も簡単

インストールスクリプト

  • curl opencode.ai/install
  • macOS Linux ではそのまま使用
  • Windows では WSL を推奨

macOS Linux

Homebrew tap

  • anomalyco/tap/opencode
  • formula より頻繁に更新される
  • Arch にもパッケージがある

Windows ネイティブ

パッケージマネージャー

  • choco または scoop
  • または npm でグローバルインストール
  • Releases からもダウンロード可能
まずはインストールスクリプトを使用します。パッケージマネージャーに慣れている場合は、記載されているほかのコマンドを使用してください。

同時に、現在のモデル一覧にあるモデルIDも用意してください。モデルIDは、サービスが特定のモデルを正確に識別するための名前です。

インストールと初回起動

最も簡単なインストールコマンドは次のとおりです。

curl -fsSL https://opencode.ai/install | bash

次の方法でもインストールできます。

  • Node.js:npm install -g opencode-ai。Bun、pnpm、Yarnにも対応するグローバルインストールコマンドがあります。詳しくは末尾の紹介ページを参照してください。
  • macOSとLinuxのHomebrew:brew install anomalyco/tap/opencode。Homebrewチームが管理するbrew install opencodeより頻繁に更新されるため、このtapを使用します。
  • Arch Linux:安定版はsudo pacman -S opencode、より新しいバージョンにはAURのopencode-binを使用できます。
  • Windows:choco install opencodeまたはscoop install opencodeを使用します。npm install -g opencode-aiも使用できます。Releasesからバイナリファイルをダウンロードする方法もあります。WindowsでのBunによるインストール対応は、現在も進行中です。

プロジェクトのディレクトリに移動し、OpenCodeを起動します。

cd /path/to/project
opencode

初回使用時には/initを実行できます。プロジェクトが分析され、プロジェクトのルートディレクトリにAGENTS.mdが作成されます。このファイルはGitにコミットできるため、プロジェクト内に説明を残せます。

OmniProxyから接続情報を取得する

baseURL: https://your-omniproxy-origin.example/v1
API Key: <YOUR_OMNIPROXY_API_KEY>
Model ID: OmniProxyの現在のモデル一覧からコピー

baseURLはサービスのアドレス、API Keyはアクセス認証情報、Model IDはモデルの完全な名前です。

/v1/chat/completionsを使用する場合、npmパッケージには@ai-sdk/openai-compatibleを使用します。ここでのChat Completionsは、チャットリクエスト用のインターフェースです。モデルが/v1/responsesを使用する場合に限り、@ai-sdk/openaiへ変更します。OmniProxyをチャット補完のパスで使用する場合は、互換パッケージのままにしてください。

モデルIDはOmniProxyの現在の一覧から省略せずにコピーし、スラッシュも残してください。2026-10-09時点で比較対象となる2つのIDは、claude-sonnet-5-5とgpt-6-lunaです。gpt-6-lunaはChat Completionsに対応しています。Chat Completionsでの関数呼び出しは、reasoning_effortがnoneの場合にのみサポートされます。一覧にないIDをそのまま使用しないでください。

ツールの設定を入力する

Providerは、OpenCodeがモデルサービスへ接続するときに使用する一連の設定と考えることができます。Providerのドキュメントでは、「/connectの一覧にないOpenAI互換サービス」をカスタムProviderとしています。OpenAI互換サービスとは、同じリクエスト形式を使用し、同種のクライアントから呼び出せるサービスです。

  1. OpenCodeで/connectを実行し、Otherまでスクロールします。
  2. Provider IDを入力します。以下ではomniproxyを使用します。設定ファイルでも同じIDを使用するため、覚えやすいものにしてください。
  3. OmniProxyのAPI Keyを入力します。この手順では認証情報のみが保存されます。アドレスとモデルは、別途opencode.jsonに記述する必要があります。認証情報は~/.local/share/opencode/auth.jsonに保存されます。
  4. プロジェクトディレクトリでopencode.jsonを作成または編集します。
{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "omniproxy": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "OmniProxy",
      "options": {
        "baseURL": "https://your-omniproxy-origin.example/v1"
      },
      "models": {
        "claude-sonnet-5-5": { "name": "Claude Sonnet 5.5" },
        "gpt-6-luna": { "name": "GPT-6 Luna" }
      }
    }
  }
}
  1. /modelsを実行すると、カスタムProviderとモデルが一覧に表示されます。

/connectで入力したIDは、opencode.jsonのキーと一致している必要があります。実際のキーをこのファイルに書き込まないでください。/connectを使用しない場合は、options.apiKeyで環境変数形式を使用することもできます。たとえば、{env:環境変数名}です。2026-10-09にOpenCode 1.18.34でテストしたところ、/connectを使わずにプロジェクトのoptions.apiKeyへキーを直接記述した場合でも接続できました。ゲートウェイがキーを検証しない場合、この項目にはローカル環境でのみ使用するプレースホルダー文字列を指定できます。modelsのキーには、一覧にある完全なIDを使用してください。

キー

/connect

  • 一番下の Other を選択
  • Provider ID は任意に設定
  • auth.json に保存される

プロジェクト

opencode.json

  • provider キーは同じ名前にする
  • npm には互換パッケージを使用
  • baseURL は /v1 で終える

選択

/models

  • 一覧にモデルが表示される
  • 1 つ選んでから質問する
  • ID はゲートウェイの一覧に合わせる
キーとアドレスは別々の場所に設定します。両方のProvider IDは同じでなければなりません。

実際のタスクで確認する

まず、プロジェクトディレクトリで実際のタスクを1回実行します。モデルの参照形式はProvider ID/モデルIDです。モデルIDに含まれるスラッシュは残してください。

opencode run --model omniproxy/claude-sonnet-5-5 --auto "指定したファイルが何をしているか説明し、ファイルは変更しないでください。"

--autoを指定すると、その実行でファイルの読み取りなどのツールを使用できるようになります。2026-10-09にOpenCode 1.18.34でテストしたところ、指定したファイルの内容を読み取れました。初回は約2分かかりました。

対話形式で使用する場合はopencodeを実行し、/modelsでモデルを選択します。標準の使用方法では、@でファイルを検索できます。opencode auth listを使って、/connectで保存した認証情報を確認できます。その後、OmniProxyの呼び出し履歴で呼び出し元とモデルIDを確認してください。

起動

opencode が起動する

  • 先に cd でプロジェクトへ移動
  • auth list で ID を確認できる
  • 設定ファイルはプロジェクト内にある

タスク

コードを読み取った

  • 特定のファイルについて質問する
  • その説明を確認する
  • 正しくなければ /undo

記録

ゲートウェイで確認できる

  • 送信元は OpenCode
  • モデル ID が一致している
  • キーをコミットしない
設定ファイルを保存した後、プロジェクト内で実際の質問を1回実行してください。

よくあるエラー

  • /modelsにOmniProxyが表示されない:/connectのIDとopencode.jsonのキーが一致しているか、npmが@ai-sdk/openai-compatibleになっているか、baseURLが/v1で終わっているかを確認してください。
  • 認証情報が表示されない:opencode auth listを実行してください。Bedrockのように環境変数を使うProviderはここには表示されません。カスタムProviderで/connectを使用した場合は表示されるはずです。
  • Windowsで一部の機能を利用できない:WSL内でインストールスクリプトを使用してください。
  • モデルIDが無効:OmniProxyの現在の一覧からもう一度コピーし、modelsのキーを変更してください。
  • リクエストが誤ったインターフェースへ送信される:チャット補完では@ai-sdk/openai-compatibleを使用してください。OmniProxy上の該当モデルが実際に/v1/responsesを使用する場合を除き、Responsesインターフェースのためにパッケージを変更しないでください。

公式リファレンス

インストールについてはOpenCodeの紹介を参照してください。カスタムProviderについてはProvidersを参照してください。例で使用したモデルIDについては、Claudeモデルの概要とGPT-6 Lunaを参照してください。

プレースホルダーをすべて独自の設定値に置き換えてください。実際のキーを公開しないでください。

保存された結果や HTTP 200 だけでは完全なエージェント互換性が証明されません。OmniProxy の呼び出し記録でソースとモデルを確認してください。

公式ソース · OpenCode ↗