コンテンツにスキップ

コーディングエージェント (Claude Code / OpenCode)

Waired は、すでに使っているコーディングエージェントを自分のモデルに向けます。要素は 2 つあります:

  • waired link はユーザーごとの連携ファイル — Claude Code のスキル (~/.claude/skills/) と OpenCode のプロバイダープラグイン (~/.config/opencode/plugin/waired.js) — をセットアップし、それらが 使用するゲートウェイトークンを発行します。
  • マネージド設定 (managed settings) は、Claude Code のシステム全体の managed-settings.json を書き込むことで、Claude Code を自分のモデルへ 向けます。そのため、環境変数やシェルエイリアスを一切設定する必要はありません。

Claude Code はマネージド設定 (managed settings) によってルーティングされます。 Waired は Claude Code のシステム全体の managed-settings.json を書き込み、 Claude Code が自分のローカルモデルと通信するようにします。資格情報はそこに 書き込まれないため、Claude Code は既存の claude.ai サブスクリプションを そのまま使い続けます — サブスクリプションの auto モード (opusplan / Max の Opus→Sonnet 使用量フォールバック) も含めて維持されます。証明書も /etc/hosts の編集もシェルの変更もありません。これは Linux・macOS・Windows で同じように 動作します。

waired init がデフォルトでこれを有効化します。直接管理することもできます。

  1. 連携ファイルとゲートウェイトークンをセットアップします:

    Terminal window
    waired link claude-code
  2. マネージド設定が有効になっていることを確認します (通常は waired init が済ませています):

    Terminal window
    sudo waired claude enable
  3. あとは Claude Code を起動するだけです — ANTHROPIC_BASE_URL もエイリアスも不要です:

    Terminal window
    claude

セッション中に送信先を切り替える

Section titled “セッション中に送信先を切り替える”

送信先を変えるのに Claude Code の再起動は不要です。連携を有効化すると /waired-route スラッシュコマンドがインストールされ、Claude Code の中で 実行すると次のリクエストから反映されます:

  • /waired-route anthropic — 本物の Anthropic API を使う(ローカルモデルが特定の タスクでうまく動かない時に便利)。
  • /waired-route local — ローカルモデルを強制;Anthropic には一切繋がない (セッションのモデル選択に関わらずアクティブなローカルモデルが応答)。
  • /waired-route auto — 既定に戻す(健全ならローカル + 上記の自動フォールバック)。

同じ切り替えはターミナルからも可能です:

Terminal window
waired claude route anthropic # または: local | auto
waired claude route # 現在のモードを表示

Claude Code の中で送信先を確認する

Section titled “Claude Code の中で送信先を確認する”

Waired が有効かどうかを迷わずに済むよう、連携を有効化すると Claude Code の中に 見える形で次の 2 つが追加されます:

  • フッターの ステータスライン に現在のルートを表示 — 例: ⚡ waired: local (qwen3-8b-instruct)(ローカルモデルで配信。直前のリクエストに 応答したモデルを併記)、→ waired: Anthropic(本物の API を使用)、 ✕ waired: agent down。独自のステータスラインが無ければ Waired が追加し、 既にある場合は waired init / waired claude enable が編集前に確認します (自分で waired claude statusline install --wrap を実行してもよい)。Waired を後で 削除すればきれいに消えます。

    注意点がひとつ: Claude Code は最優先スコープのステータスラインだけを使い、 プロジェクトの .claude/settings.local.json / .claude/settings.json は Waired が入れるユーザーレベルの設定より優先されます。Waired はプロジェクトの ファイルを編集しません — プロジェクト内で waired claude status を実行すると shadow されていることと、自分のステータスラインスクリプトに貼り付けて ルートを表示できる 1 行スニペットが表示されます。

  • 本物の Anthropic API に フォールバックしたターンの後に出る 1 行の通知 — ローカルで処理できなかったリクエストが黙って redirect されることはありません。

どちらも waired claude disable で削除されます。有効化時にステータスラインを 入れたくない場合は --no-statusline を付けます。

OpenCode は同じ waired link ステップで設定されます。これにより、プロバイダー プラグインが ~/.config/opencode/plugin/waired.js にインストールされます。 プラグインは OpenCode を Local Gateway に向け、ゲートウェイトークンを代理で 転送します。

Terminal window
waired link opencode

エージェント名を指定せずに waired link を実行すると、インストール済みの全エージェントを 一度にセットアップします。

ルーティングが有効かどうかを確認します:

Terminal window
waired claude status

マネージド設定が有効かどうかと、managed-settings.json ファイルの場所が 表示されます:

  • Linux: /etc/claude-code/managed-settings.json
  • macOS: /Library/Application Support/ClaudeCode/managed-settings.json
  • Windows: C:\Program Files\ClaudeCode\managed-settings.json

トレイの Claude integration メニューでも同じステータスが表示されます。

連携を削除するには (外科的な操作で — link が追加したものだけを取り消します):

Terminal window
waired unlink # すべてのエージェントを削除
waired unlink claude-code # 1 つだけを削除

Claude Code を Waired 経由でルーティングするのをやめるには (マネージド設定の変更を 元に戻し、Claude Code を既定の動作に戻します):

Terminal window
sudo waired claude disable # Windows: 管理者権限で実行 (sudo は不要)

コーディングエージェントが自分のモデルを使っていない場合は、waired doctor を 実行してください。これはゲートウェイトークン、一時停止状態、エンジンの準備状況、 メッシュピア、連携を一度にチェックし、修正可能なものは修復できます。