Skip to content

OpenCode の接続

難易度 ⌨️ 中級(JSON 設定ファイル) | インターフェース形式 OpenAI 互換 | base_url https://byesu.com/v1

接続情報 · これらを入力
API アドレスhttps://byesu.com/v1
API キーsk-xxxxxxxxコンソールで作成 →
モデルclaude-opus-4-8
API 形式 OpenAI 互換 · モデル名は コンソール に準拠

OpenCode は GitHub で最もスターを集めているオープンソース AI コーディングエージェントの 1 つです。ターミナルファーストのアシスタント(デスクトップアプリと IDE 拡張もあります)で、意図的にプロバイダー非依存に設計されており、特定のモデルベンダーにロックインされることがありません。この設計思想は、OpenAI 互換と Anthropic ネイティブのエンドポイントを備えた AI API ゲートウェイである byesu と自然に噛み合います。opencode.json に byesu をカスタムプロバイダーとして一度宣言すれば、キー 1 つで Claude Opus 4.8、Claude Sonnet 5、GPT-5.6、Grok 4.5 が OpenCode のモデルピッカーに並びます。サブスクリプション不要の従量課金です。

始める前に

コンソール → トークン で、使う予定のモデルをカバーするグループのトークンを作成してください(グループの選び方 を参照)。以下の sk-xxxx はあなた自身のキーに置き換えてください。

前提条件

① OpenCode のインストール — 公式のどの方法でも構いません。

bash
curl -fsSL https://opencode.ai/install | bash
bash
npm install -g opencode-ai
bash
brew install anomalyco/tap/opencode

インストールしたら動作を確認します。

bash
opencode --version

② byesu のトークン — コンソールで、使いたいモデルに合ったグループで作成してください(あとで出てくる「no available channel」エラーはこれが原因です)。

ステップ 1:byesu をカスタムプロバイダーとして追加する

OpenCode は 2 つの場所から opencode.json を読み込みます。

  • グローバル~/.config/opencode/opencode.json — すべてのプロジェクトに適用されます。プロバイダーのブロックを置くのにおすすめの場所です。
  • プロジェクト:プロジェクトルートの opencode.json — そのプロジェクトに限りグローバルの設定を上書きします。

どちらかのファイルを次の内容で作成(または追記)します。

json
{
  "$schema": "https://opencode.ai/config.json",
  "model": "byesu/claude-opus-4-8",
  "small_model": "byesu/claude-sonnet-5",
  "provider": {
    "byesu": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "byesu",
      "options": {
        "baseURL": "https://byesu.com/v1",
        "apiKey": "sk-your-token"
      },
      "models": {
        "claude-opus-4-8": { "name": "Claude Opus 4.8" },
        "claude-sonnet-5": { "name": "Claude Sonnet 5" },
        "gpt-5.6-terra": { "name": "GPT-5.6 Terra" },
        "grok-4.5": { "name": "Grok 4.5" }
      }
    }
  }
}

各部分の意味は次のとおりです。

フィールド意味
provider.byesuここで選んだキーがプロバイダー ID になります。以降のモデル参照はすべて byesu/<モデルID> の形式です
npmこのプロバイダー用に OpenCode が読み込む AI SDK アダプター。byesu のエンドポイントは /v1/chat/completions を話すため、@ai-sdk/openai-compatible を指定します
options.baseURLhttps://byesu.com/v1 — 末尾は /v1 で、/chat/completions付けないでください
options.apiKeyあなたの sk- トークン。OpenCode が Bearer ヘッダーとして自動送信します
models各キーはコンソールに記載されているとおりのモデル ID です。name はピッカーに表示されるラベルにすぎません
model / small_modelデフォルトモデルと、軽量な補助モデル(セッションタイトルや要約に使用)。どちらも プロバイダーID/モデルID の形式です

間違えやすい 3 つのポイント

  1. npm は必ず @ai-sdk/openai-compatible にしてください。@ai-sdk/openai パッケージは OpenAI の /v1/responses API を対象としており、このエンドポイントには適合しません。
  2. models の下のモデルキーはコンソールの名前と完全に一致させる必要があります(claude-opus-4-8 であって、claude-opus-4.8 ではありません)。
  3. 設定内の他のすべての箇所では、モデル名にプロバイダープレフィックスを付けます:byesu/claude-opus-4-8 であって、素の名前は使いません。

必要に応じて、各モデルエントリは limit オブジェクト({ "context": ..., "output": ... })も受け付けます。設定すると OpenCode のコンテキストメーターが正確になりますが、なくてもすべて動作します。

ステップ 2(任意):キーをファイルに書かない

opencode.json にキーを平文で書かずに済ませる、きれいな方法が 2 つあります。

環境変数の展開。 OpenCode は設定内の {env:VAR} プレースホルダーを展開します。

json
"options": {
  "baseURL": "https://byesu.com/v1",
  "apiKey": "{env:BYESU_API_KEY}"
}
bash
# ~/.zshrc または ~/.bashrc に追記し、ターミナルを開き直す
export BYESU_API_KEY="sk-your-token"

/connect コマンド。 opencode を起動して /connect と入力し、Other を選んで、プロバイダー ID に byesu を入力してキーを貼り付けます。OpenCode が資格情報を独自のストアに保存するので、設定ファイルから apiKey を完全に削除できます。

WARNING

/connect で入力するプロバイダー ID は、opencode.jsonprovider の下のキー(ここでは byesu)と一致している必要があります。一致していないと、保存した資格情報は使われません。

ステップ 3:起動して確認する

任意のプロジェクトディレクトリに入って起動します。

bash
opencode

/models と入力すると、byesu の 4 つのエントリがピッカーに表示されるはずです。1 つ選んで、簡単な質問をしてみてください(例:「現在のディレクトリのファイルを一覧表示して」)。正常に答えが返ってくれば接続完了です ✅

モデルの切り替え、Plan と Build

/models でセッション中いつでもモデルを切り替えられます。Tab キーで Build エージェント(フルのツールアクセス)と Plan エージェント(ファイル編集の前に確認する分析モード)を切り替えられ、各エージェントに別々の byesu モデルを固定できます。

json
{
  "agent": {
    "plan": { "model": "byesu/claude-sonnet-5" }
  }
}

よくある使い分け:Build のデフォルトに Opus 4.8、Plan エージェントと small_model の役割に Sonnet 5、という組み合わせです。

うまくいかないときは?

  • 401 / invalid token → キーが間違っているか、/connect のプロバイダー ID が設定内の provider キーと一致していません(詳細
  • No available channel → トークンのグループが選択したモデルをカバーしていません。適切なグループでトークンを作成してください(グループの選び方詳細
  • Model not foundmodels の下のキーがコンソールのモデル名と完全に一致していないか、参照に byesu/ プレフィックスが付いていません(詳細
  • 残高不足 → コンソールで USDT、Alipay、WeChat Pay を使ってチャージしてください(詳細
  • その他は よくあるエラーと解決方法 を参照してください

FAQ

OpenCode に OpenAI 互換のカスタムプロバイダーを追加するにはどうすればよいですか?

opencode.jsonprovider キーの下に宣言します。npm@ai-sdk/openai-compatibleoptions.baseURLhttps://byesu.com/v1options.apiKey にあなたの sk- トークンを設定し、models の下にモデル ID を列挙します。以降はすべてのモデルを byesu/<モデルID> の形式で参照します。

OpenCode のカスタムプロバイダーにはどの npm パッケージを使えばよいですか?

@ai-sdk/openai-compatible です。これは /v1/chat/completions を話すプロバイダー向けのアダプターで、byesu の OpenAI 互換エンドポイントがまさにこの形式です。@ai-sdk/openai は OpenAI の /v1/responses API を対象としているため適合しません。

API キーを opencode.json に書かずに済ませることはできますか?

はい、2 つの方法があります。環境変数の展開を使う方法("apiKey": "{env:BYESU_API_KEY}" と、シェルのプロファイルでの export)と、OpenCode 内で /connect を実行して、設定ファイルのキーと一致するプロバイダー ID の下にキーを保存する方法です。

OpenCode が「no available channel」エラーを返すのはなぜですか?

選択したモデルをカバーしていないグループでトークンを作成したことが原因です。byesu コンソールで適切なグループのトークンを作成し(グループの選び方 を参照)、新しいキーに差し替えてから再試行してください。

OpenCode の Plan エージェントと Build エージェントで別々のモデルを使えますか?

使えます。セッション中に Tab キーで Build と Plan を切り替えられ、各エージェントは opencode.json で独自の model 指定を受け付けます。たとえば agent.plan.modelbyesu/claude-sonnet-5 に設定し、Build は byesu/claude-opus-4-8 のままにできます。

byesu 経由の OpenCode の利用はどのように課金されますか?

トークン単位の従量課金で、公式定価に対する倍率は透明に公開されており、サブスクリプションはありません。コンソールには各モデルの横に実際の請求価格がリアルタイム表示され、USDT、Alipay、WeChat Pay でチャージできます。

お困りですか?サポートへご連絡、またはグループにご参加ください。