OpenCode

OpenCode は、ターミナルで動くオープンソースのコーディングエージェントです。コマンド 1 つで Synthorai にサインインでき、OpenCode 専用の API キーと、そのキーで呼び出せるモデルを一覧する Synthorai プロバイダーが用意されます。キーのコピーも設定ファイルの編集も要りません。

ステップ 1 — サインインする

opencode auth login https://synthorai.io

OpenCode は https://synthorai.io/.well-known/opencode を読み込み、そこで指定されたサインインコマンドを実行します。このコマンドはリンクと BCDF-GHJK のような 8 文字のコードを表示し、ブラウザを開きます。

コンソールにサインインし、画面のコードがターミナルのものと同じか確かめてから、キーの有効期間(7 日、30 日、90 日。既定は 90 日)を選んで許可するをクリックします。ターミナルに Signed in と表示され、OpenCode が新しいキーを保存します。

ℹ

サインインコマンドには sh と curl が必要なため、動作するのは macOS、Linux、WSL、Git Bash です。ネイティブの Windows では、API キーを使って手動で設定してください。

SSH 経由で実行するとブラウザは開かないので、表示されたリンクを別の端末で開いてサインインします。手元のマシンでも同じようにしたい場合は SYNTHORAI_NO_BROWSER=1 を設定してください。

ステップ 2 — モデルを選ぶ

opencode
# then, inside OpenCode:
/models

OpenCode を起動して /models と入力します。Synthorai プロバイダーには、キーで呼び出せるモデルがコンテキスト上限と料金つきで並びます。一覧は OpenCode を起動するたびに更新されます。

使うプロトコルはモデルごとに自動で決まり、設定は要りません。Claude モデルは Anthropic Messages API(プロンプトキャッシュもそのまま効きます)、OpenAI モデルは Responses API、それ以外のモデルは Chat Completions を使います。

OpenCode が使うキー

このキーはコンソールの API キーページに OpenCode · …(後ろにサインインした場所が続きます)という名前で表示され、エージェントのサインインのラベルが付きます。いつでもそこから削除できます。

キーの期限が切れると呼び出しは失敗し、opencode auth login https://synthorai.io をもう一度実行するよう促すメッセージが返ります。

セキュリティ

  • 承認するのは、自分で始めたサインインのコードだけにしてください。サインインの要求がブラウザとは別のネットワークから来ている場合は、確認画面に警告が出ます。
  • ワークスペースで新しい IP を承認制にする(設定 › セキュリティ)がオンになっていれば、同じネットワークからサインインを許可したときに、サインインしたアドレスが新しいキーの信頼済みアドレスとして自動で登録され、それ以外のアドレスからの呼び出しは承認されるまで保留されます。別のネットワークから許可した場合はアドレスは信頼済みにならないので、最初の呼び出しが保留されたら承認してください。オフの場合は、オンにすることを検討してください。

ローカルの設定が優先される

ローカルの opencode.json に synthorai という名前のプロバイダーを定義している場合、OpenCode はゲートウェイから届くものではなくそちらを使います。ローカルの設定がリモートの設定より優先されるためです。

手動で設定する(sh のない Windows)

コンソールの API キーページでキーを作成して環境変数 SYNTHORAI_API_KEY に設定し、次のプロバイダーを opencode.json に追加します。

{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "synthorai": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "Synthorai",
      "options": {
        "baseURL": "https://synthorai.io/v1",
        "apiKey": "{env:SYNTHORAI_API_KEY}"
      },
      "models": {
        "claude-sonnet-5-5": { "name": "Claude Sonnet 5.5" }
      }
    }
  }
}

OpenCode で選びたいモデルを models の下に並べます。モデル ID はモデルページで確認できます。

トラブルシューティング

Failed to load auth provider metadata アドレスを確認してください。https://synthorai.io の後ろにパスは付けません。

Sign-in did not complete: the login was declined in the console 確認画面で要求が拒否されています。コマンドを実行し直して、最初からやり直してください。

コードの期限が切れた コードの有効期間は 10 分です。opencode auth login https://synthorai.io をもう一度実行すると、新しいコードが発行されます。

キーの上限、有効期間、削除については API キーを参照してください。