Claude Code 接続
Claude Code(Anthropic 公式の CLI コーディングツール)を、自社の DigitalBase ゲートウェイに接続します。コードや指示を外部(Anthropic)に送らず、自社サーバのローカル LLM でコーディング支援・エージェント編集・社内文書 RAG を利用できます。
DigitalBase は Anthropic 互換エンドポイント(/v1/messages) を備えているため、変換プロキシなしで Claude Code を直結できます。設定は標準の settings.json に数行書くだけです。
Claude Code ──→ DigitalBase ゲートウェイ ──→ ローカル LLM(vLLM 等)
(お手元のPC) /v1/messages (Anthropic 互換)
直結方式は /v1/messages 対応版のゲートウェイが必要です。curl -sk -X POST https://<server>/v1/messages が 401(要認証)なら対応版、404 なら旧版です(旧版は付録 B の CCR 経由を使用)。
前提
| 必要なもの | 確認 |
|---|---|
| Claude Code | claude --version |
| DigitalBase の API キー | 管理画面で発行(手順1) |
| ゲートウェイの URL | 例: https://<server> |
手順1. API キーを発行
管理画面の APIアクセスキー →「新規発行」で発行します。コーディング(エージェント)用途では:
- 「リクエスト透過(passthrough)」を ON(クライアントの tools / messages をそのまま LLM に渡し、エージェントとして動作させる)
- 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_API_KEY": "sk-xxxxxxxxxxxxxxxxxxxxxxxx"
}
}
このプロジェクトで claude を起動した時だけ DigitalBase に接続され、他フォルダでは通常の Anthropic のまま使い分けできます。settings.local.json は gitignore 対象なので、キーがリポジトリに入りません。
(B) グローバル(この PC を DigitalBase 専用にする)
~/.claude/settings.json:
{
"env": {
"ANTHROPIC_BASE_URL": "https://<server>",
"ANTHROPIC_API_KEY": "sk-xxxxxxxxxxxxxxxxxxxxxxxx"
}
}
ANTHROPIC_BASE_URL は末尾に /v1 を付けないでください(Claude Code が自動で /v1/messages を付加します)。ANTHROPIC_API_KEY は手順1の sk-... です。
手順3. 起動して使う
claude
DigitalBase(ローカル LLM + RAG)に接続された状態で起動します。画面に「Sonnet / Opus」等のモデル名が出ても、実通信はすべて DigitalBase に送られ、Anthropic には課金されません。
動作確認
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 に戻す
- (A): そのプロジェクトの
.claude/settings.local.jsonを削除し、settings.jsonからANTHROPIC_BASE_URLを削除(他フォルダは元から通常 Anthropic)。 - (B):
~/.claude/settings.jsonのenvからANTHROPIC_BASE_URL/ANTHROPIC_API_KEYを削除。
echo $ANTHROPIC_BASE_URL が空で、起動時に自分の Anthropic アカウント表示になれば解除済みです。
トラブルシューティング
| 症状 | 原因 / 対処 |
|---|---|
401 | API キー誤り。ANTHROPIC_API_KEY の sk-... を確認 |
404(/v1/messages) | ゲートウェイが旧版(直結非対応)。付録 B の CCR 経由を使用 |
fetch failed / 証明書エラー | 自己署名証明書。NODE_TLS_REJECT_UNAUTHORIZED=0 claude で起動(本番は正式証明書を推奨) |
| ツール(編集・コマンド)が動かない | API キーの「リクエスト透過」が ON か確認 |
通常の claude まで DigitalBase に向く | グローバル(B)を設定中。使い分けたいなら (A) に変更 |
| 応答が遅い / タイムアウト | サーバ側のモデル / GPU 状況を確認 |
付録A: シェル関数で都度切り替え
settings.json を使わず、コマンド単位で切り替えたい場合は ~/.zshrc 等に:
dbcode() {
ANTHROPIC_BASE_URL="https://<server>" \
ANTHROPIC_API_KEY="sk-xxxxxxxxxxxxxxxxxxxxxxxx" \
NODE_TLS_REJECT_UNAUTHORIZED=0 \
claude "$@"
}
claude = 通常、dbcode = DigitalBase。
付録B: CCR 経由(/v1/messages 非対応の旧ゲートウェイ向け)
直結に未対応の場合のみ、ローカル変換プロキシ CCR(claude-code-router) を挟みます。
npm install -g @musistudio/claude-code-router
~/.claude-code-router/config.json に DigitalBase の /v1/chat/completions を Provider として登録し、ccr start → ccr code で起動します(自己署名なら NODE_TLS_REJECT_UNAUTHORIZED=0)。直結対応版に更新すれば CCR は不要です。
関連
- OpenAI 互換 API —
/v1/messages(Anthropic 互換)含む - APIアクセスキー
- ネットワーク / 動作環境 — HTTPS 化・公開設定