コンテンツにスキップ

Claude Code

Claude Code は Anthropic の Messages API と通信します。ai& は Anthropic 互換の /v1/messages エンドポイントを公開しているため、カタログ 内の tool_calling 対応モデルであればエージェントループを駆動できます。

設定方法は 2 つあります:

  • セッション — 現在のシェルに環境変数を export します。ターミナルを閉じると失われます。お試し用。
  • 永続化 — 同じ内容を settings.json に書き込みます。セッションをまたいで有効になり、プロジェクト単位または全体に適用できます。

セッション(このターミナルのみ)

Section titled “セッション(このターミナルのみ)”

1. Claude Code をインストール

前提: Node.js 18 以上

Terminal window
npm install -g @anthropic-ai/claude-code

インストール確認 — claude --version がバージョン番号を表示すれば成功です:

Terminal window
claude --version

2. このターミナルで環境変数を設定

Terminal window
export ANTHROPIC_BASE_URL="https://api.aiand.com"
export ANTHROPIC_AUTH_TOKEN="sk-your-aiand-api-key"
export ANTHROPIC_API_KEY=""
export ANTHROPIC_DEFAULT_OPUS_MODEL="moonshotai/kimi-k3"
export ANTHROPIC_DEFAULT_SONNET_MODEL="moonshotai/kimi-k3"
export ANTHROPIC_DEFAULT_HAIKU_MODEL="deepseek-ai/deepseek-v4-flash"
export CLAUDE_CODE_SUBAGENT_MODEL="moonshotai/kimi-k3"

3. Claude Code を起動

Terminal window
claude

Claude Code は起動時に settings.json の設定を読み込みます。同じ env ブロックを記述しておけば、以降 export し直す必要はありません:

{
"env": {
"ANTHROPIC_BASE_URL": "https://api.aiand.com",
"ANTHROPIC_AUTH_TOKEN": "sk-your-aiand-api-key",
"ANTHROPIC_API_KEY": "",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "moonshotai/kimi-k3",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "moonshotai/kimi-k3",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "deepseek-ai/deepseek-v4-flash",
"CLAUDE_CODE_SUBAGENT_MODEL": "moonshotai/kimi-k3"
}
}

スコープは 2 つ — どちらか一方を選びます:

  • プロジェクト単位 (.claude/settings.local.json) — そのリポジトリで claude を起動したときだけ適用されます。Claude Code の規約により *.local.json は git で無視されるため、API キーがコミットされる心配はありません。最初に ai& を試すならこちらがおすすめ。
  • 全体 (~/.claude/settings.json) — マシン全体に適用されます。Claude Code のすべての利用面が同じ ai& バックエンドを参照するようになります — 任意のターミナルセッションで起動する claude CLI、Claude Code VS Code 拡張(拡張と CLI はこのファイルを共有する設計です)、および Claude Desktop アプリ。ai& をマシン全体のデフォルトにしたい場合はこちら。

以下のコマンドは env ブロックを安全にマージします — 既存のキー(permissions、hooks など)はそのまま保持されます。ステップ 1 で Claude Code を npm からインストールしているため、Node はすでにマシンにあります。実行前に sk-your-aiand-api-key を実際のキーに置き換えてください。

プロジェクト単位 (お試しに最適)

Section titled “プロジェクト単位 (お試しに最適)”

プロジェクトのルートで実行します:

Terminal window
mkdir -p .claude && node -e '
const fs = require("fs"), p = ".claude/settings.local.json";
const d = fs.existsSync(p) ? JSON.parse(fs.readFileSync(p, "utf8")) : {};
d.env = Object.assign(d.env || {}, {
ANTHROPIC_BASE_URL: "https://api.aiand.com",
ANTHROPIC_AUTH_TOKEN: "sk-your-aiand-api-key",
ANTHROPIC_API_KEY: "",
ANTHROPIC_DEFAULT_OPUS_MODEL: "moonshotai/kimi-k3",
ANTHROPIC_DEFAULT_SONNET_MODEL: "moonshotai/kimi-k3",
ANTHROPIC_DEFAULT_HAIKU_MODEL: "deepseek-ai/deepseek-v4-flash",
CLAUDE_CODE_SUBAGENT_MODEL: "moonshotai/kimi-k3"
});
fs.writeFileSync(p, JSON.stringify(d, null, 2));
'

全体スコープ (すべてのプロジェクト)

Section titled “全体スコープ (すべてのプロジェクト)”
Terminal window
mkdir -p ~/.claude && node -e '
const fs = require("fs"), os = require("os"), path = require("path");
const p = path.join(os.homedir(), ".claude", "settings.json");
const d = fs.existsSync(p) ? JSON.parse(fs.readFileSync(p, "utf8")) : {};
d.env = Object.assign(d.env || {}, {
ANTHROPIC_BASE_URL: "https://api.aiand.com",
ANTHROPIC_AUTH_TOKEN: "sk-your-aiand-api-key",
ANTHROPIC_API_KEY: "",
ANTHROPIC_DEFAULT_OPUS_MODEL: "moonshotai/kimi-k3",
ANTHROPIC_DEFAULT_SONNET_MODEL: "moonshotai/kimi-k3",
ANTHROPIC_DEFAULT_HAIKU_MODEL: "deepseek-ai/deepseek-v4-flash",
CLAUDE_CODE_SUBAGENT_MODEL: "moonshotai/kimi-k3"
});
fs.writeFileSync(p, JSON.stringify(d, null, 2));
'

Claude Code 内で以下を実行します:

/status

現在のベース URL とモデルがパネルに表示されます。https://api.aiand.com と moonshotai/kimi-k3 が見えれば成功です。

シェルから直接エンドポイントを叩いて確認することもできます:

Terminal window
curl -sS https://api.aiand.com/v1/models \
-H "Authorization: Bearer sk-your-aiand-api-key" \
| grep -o 'moonshotai/kimi-k3'

一致すればキーの認証が通り、モデルが組織で利用可能であることを確認できます。

  • Effort。 /effort と CLAUDE_CODE_EFFORT_LEVEL は反映されます。Claude Code はレベルを output_config.effort として送信し、ai& はそれをモデルの reasoning_effort として適用します。モデルが公開していないレベルは、サポートされる値を列挙した 400 で拒否されます。moonshotai/kimi-k3 は low・high・max を受け付けます。レベルが送信されない場合、ai& は何も指定せずに転送し、モデルは自身のデフォルト(Kimi では max)で動作するため、明示的に設定してください。
  • コンテキスト上限。 会話がモデルのウィンドウを超えると、ai& は Anthropic 本家と同じ「prompt is too long」の文言で応答するため、Claude Code は自動で圧縮(compact)して再試行します。Claude Code は認識しないモデル名に対して 200K のウィンドウを仮定しますが、このページで推奨しているモデルはいずれもその範囲内です。
  • Thinking。 Claude Code はゲートウェイ経由のモデルに adaptive thinking を要求し、ai& はモデルの推論を thinking ブロックとしてストリーミングで返します。推論の深さは thinking ブロックではなく effort で決まります。
  • WebSearch などのサーバーサイドツール。 Anthropic のサーバーサイドツール(ウェブ検索、ウェブ取得、コード実行)は Anthropic の API 内部で実行されるため、ai& 経由では利用できません。これらを含むリクエストはツール名を示す 400 で拒否されるため、Claude Code の WebSearch ツールは捏造された結果ではなくエラーを報告します。代わりに MCP のウェブ検索サーバーを利用してください。
  • スクリーンショット。 ツール結果内の画像(PNG に対する Read ツールなど)は、vision 対応モデルではモデルに渡され、テキストのみのモデルでは短いプレースホルダーに置き換えられます。