DigitalBase Docs

Claude Code 接続

Claude Code を DigitalBase ゲートウェイに接続し、自社サーバのローカル LLM でコーディング支援・社内文書 RAG を使う。コードは Anthropic に送らない。

対象:開発者 / 管理者
Claude Code ──→ DigitalBase ゲートウェイ ──→ ローカル LLM(vLLM 等)
 (お手元のPC)      /v1/messages (Anthropic 互換)
補足

直結には /v1/messages に対応したバージョンのゲートウェイが必要。curl -sk -X POST https://<server>/v1/messages が 401(要認証)なら対応バージョン、404 なら旧バージョン(旧バージョンは付録 B の CCR 経由)。

前提

必要なもの確認
Claude Codeclaude --version
DigitalBase の API キー管理画面で発行(手順1)
ゲートウェイの URL例: https://<server>

手順1. API キーを発行

APIアクセスキー で発行する。

  • 「リクエスト設定の優先」で「クライアント設定を優先」を選ぶ(ツール編集・コマンド実行に必要)。
  • RAG を併用するなら、キーを RAG アシスタントに紐付ける。

sk-... は発行時に表示される。あとから一覧で再表示できるのは発行した本人のみ。

手順2. 接続設定(settings.json)

(A) か (B) を選ぶ。

(A) プロジェクト単位(推奨・チーム共有向き)

対象プロジェクトの .claude/ に 2 ファイルで設定する。

.claude/settings.json には URL のみを書く。チームで共有・コミットできる。

{
  "env": {
    "ANTHROPIC_BASE_URL": "https://<server>"
  }
}

.claude/settings.local.json には API キーを書く。個人用で、コミットしない。

{
  "env": {
    "ANTHROPIC_AUTH_TOKEN": "sk-xxxxxxxxxxxxxxxxxxxxxxxx"
  }
}

このプロジェクトの claude だけが DigitalBase に接続する。

(B) グローバル(この PC を DigitalBase 専用にする)

~/.claude/settings.json に書く。

{
  "env": {
    "ANTHROPIC_BASE_URL": "https://<server>",
    "ANTHROPIC_AUTH_TOKEN": "sk-xxxxxxxxxxxxxxxxxxxxxxxx"
  }
}
注意

ANTHROPIC_BASE_URL の末尾に /v1 を付けない(Claude Code が /v1/messages を自動付加)。ANTHROPIC_AUTH_TOKEN は手順1の sk-...。

手順3. 起動して使う

Claude Code を起動する。

claude

画面にモデル名「Sonnet / Opus」等が出ても、通信はすべて DigitalBase 宛て(Anthropic への課金なし)。

動作確認

/v1/messages に curl でリクエストを送る。

curl -sk https://<server>/v1/messages \
  -H "x-api-key: sk-xxxxxxxxxxxxxxxxxxxxxxxx" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{"model":"<モデル名>","max_tokens":50,"messages":[{"role":"user","content":"say hi"}]}'

通常の Claude に戻す

設定した settings.json / settings.local.json から ANTHROPIC_BASE_URL / ANTHROPIC_AUTH_TOKEN を削除する。

トラブルシューティング

症状原因 / 対処
401API キー誤り。ANTHROPIC_AUTH_TOKEN の sk-... を確認
404(/v1/messages)ゲートウェイが旧バージョン(直結非対応)。付録 B の CCR 経由を使用
fetch failed / 証明書エラー自己署名証明書。NODE_TLS_REJECT_UNAUTHORIZED=0 claude で起動(本番は正式証明書を推奨)
ツール(編集・コマンド)が動かないAPI キーの「リクエスト設定の優先」が「クライアント設定を優先」か確認
通常の claude まで DigitalBase に向くグローバル(B)を設定中。使い分けたいなら (A) に変更
応答が遅い / タイムアウトサーバ側のモデル / GPU 状況を確認

付録A: シェル関数で都度切り替え

~/.zshrc 等に追加する。

dbcode() {
  ANTHROPIC_BASE_URL="https://<server>" \
  ANTHROPIC_AUTH_TOKEN="sk-xxxxxxxxxxxxxxxxxxxxxxxx" \
  NODE_TLS_REJECT_UNAUTHORIZED=0 \
  claude "$@"
}

claude = 通常、dbcode = DigitalBase。

付録B: CCR 経由(/v1/messages 非対応の旧ゲートウェイ向け)

ローカル変換プロキシ CCR(claude-code-router) を挟む。まず CCR を入れる。

npm install -g @musistudio/claude-code-router

~/.claude-code-router/config.json に DigitalBase の /v1/chat/completions を Provider として登録する。ccr start → ccr code で起動する。

関連