😺

無料でclaudecode使いたい

に公開

背景

  1. claudecode使いたいけど無料がいい
  2. 無料がいいけどデータは学習されたくない

目的

  1. 学習されず安全に無料でclaudecode使う

結論

Sakura AI と claude-code-router を使う

❯ ccr version  
claude-code-router version: 1.0.70

内容

Sakura AI Engineとは

Sakura AI(さくらのクラウド AIエンジン)は、さくらインターネットが提供するAIサービス

https://www.sakura.ad.jp/aipf/ai-engine/

基盤モデル無償プランには申し込み数に上限があり、上限に達した場合は新規利用の受付を停止いたします。

早い者勝ちですよ

利用可能なモデル

無料で利用できるやつ

チャットモデル:

  • gpt-oss-120b
  • Qwen3-Coder-30B-A3B-Instruct
  • Qwen3-Coder-480B-A35B-Instruct-FP8
  • llm-jp-3.1-8x13b-instruct4

文字起こしモデル:

  • whisper-large-v3-turbo

埋め込みモデル:

  • multilingual-e5-large

表示価格は税込です。
基盤モデル無償プランと従量課金プランは別プランとなります(自動的に従量課金プランに移行することはありません)。
従量課金プランでも基盤モデル無償プランと同等の無償利用枠が存在します。ドキュメント(RAG)については無償利用枠はなく、両プランとも利用に応じて最小単位(100チャンク)ごとに料金が発生します。
基盤モデル無償プランで無償利用枠を超過した場合、APIリクエストに対してレート制御がかかります。従量課金プランで無償利用枠を超過した場合、各基盤モデルの最小単位(10,000トークン/60秒)ごとに料金が発生します。

https://knowledge.sakura.ad.jp/46949/

さくらインターネットが自社データセンターで複数のLLMモデルをホスティングしており、API経由でPOSTされたデータは学習に再利用されず、必ず日本国内にとどまることを保証するサービスです。

claude-code-routerとは

claude-code-routerは、Claude Codeからのリクエストを他のLLMプロバイダーにルーティングするオープンソースツール

https://github.com/musistudio/claude-code-router

主な機能

  • モデルルーティング: タスクに応じて異なるモデルに自動振り分け
  • マルチプロバイダー対応: OpenRouter、DeepSeek、Ollama等に対応
  • カスタムトランスフォーマー: リクエスト/レスポンスの変換処理

セットアップ

ステップ1: ccr インストール

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

確かこれ動かなくてbrewで入れた記憶

ステップ2: Sakura AIアカウントの準備

  1. さくらのクラウド AI Engine にアクセス
  2. アカウントを作成(無料)
    • ただし電話番号とクレジットカードの登録だけ必要。。。
  3. コントロールパネルから「AIエンジン」を選択
  4. 「アカウントトークン」からAPIトークンを生成
  5. トークンをコピーして保存

詳しくはこれみて
https://manual.sakura.ad.jp/cloud/ai-engine/02-howto.html

ステップ3: 設定ファイルの作成

~/.claude-code-router/config.json を作成

ちなみにプロジェクトごとの設定が可能

{
  "Providers": [
    {
      "name": "sakura",
      "api_base_url": "https://api.ai.sakura.ad.jp/v1/chat/completions",
      "api_key": "YOUR_SAKURA_API_TOKEN_HERE",
      "models": [
        "gpt-oss-120b",
        "Qwen3-Coder-30B-A3B-Instruct",
        "Qwen3-Coder-480B-A35B-Instruct-FP8",
        "llm-jp-3.1-8x13b-instruct4"
      ],
      "transformer": {}
    }
  ],

  "Router": {
    "default": "sakura,gpt-oss-120b",
    "background": "sakura,Qwen3-Coder-30B-A3B-Instruct",
    "think": "sakura,Qwen3-Coder-480B-A35B-Instruct-FP8",
    "longContext": "sakura,gpt-oss-120b",
    "webSearch": null,
    "image": null,
    "longContextThreshold": 60000
  },

  "REWRITE_SYSTEM_PROMPT": null,
  "CUSTOM_ROUTER_PATH": null
}

ステップ4: サービスの起動と動作確認

# サービスを開始
ccr start

# サービスの状態を確認
ccr status

# Claude Codeを起動
ccr code

これでもう使えます

利用可能なコマンド一覧

ccr start         # サービス開始
ccr stop          # サービス停止
ccr restart       # サービス再起動
ccr status        # ステータス確認
ccr statusline    # ステータスライン(IDE統合用)
ccr code          # Claude Code起動
ccr model         # インタラクティブモデル選択
ccr activate      # 環境変数設定用コマンド出力
ccr ui            # Web UI起動
ccr -v            # バージョン表示
ccr -h            # ヘルプ表示

その他の設定

タスク別モデル設定

routerという機能で目的別にai modelを変更できるように設定が可能らしいです、これは地味に便利かもしれない

{
  "Router": {
    "default": "sakura,gpt-oss-120b",              // 通常のタスク
    "background": "sakura,Qwen3-Coder-30B-A3B-Instruct",  // Haikuモデル使用時に自動切り替え
    "think": "sakura,Qwen3-Coder-480B-A35B-Instruct-FP8", // thinking有効時
    "longContext": "sakura,gpt-oss-120b",         // 長文処理(閾値超過時)
    "webSearch": null,                            // web_searchツール使用時のモデル
    "image": null,                                 // 画像処理用モデル
    "longContextThreshold": 60000                  // 長文判定の閾値(トークン数)
  }
}

カスタムルーターの作成

特定の条件でモデルを切り替えたい場合など、カスタムルーターでできる

~/.claude-code-router/custom-router.js:

module.exports = async function(req, config, options) {
  const lastMessage = req.body.messages[req.body.messages.length - 1];
  const content = lastMessage?.content || "";

  // 日本語を含む場合は日本語特化モデルを使用
  const hasJapanese = /[\u3040-\u309f\u30a0-\u30ff\u4e00-\u9faf]/.test(content);
  if (hasJapanese) {
    return "sakura,llm-jp-3.1-8x13b-instruct4";
  }

  return config.Router.default;
};

設定ファイルに追加:

{
  "CUSTOM_ROUTER_PATH": "~/.claude-code-router/custom-router.js"
}

トラブルシューティング

最初設定して反映されなかったから無理か?と思ったがこれでいけた

ccr restart

コメント

まあいい感じ

gpt-oss-120bをローカルで動かす体力はないけど、gpt-oss-20bだと満足できなかったので嬉しい

https://github.com/sst/opencode

ちなみにこれはだめでした

All our models are hosted in the US. Our providers follow a zero-retention policy and do not use your data for model training, with the following exceptions:Grok Code Fast 1: During its free period, collected data may be used to improve Grok Code.Big Pickle: During its free period, collected data may be used to improve the model.OpenAI APIs: Requests are retained for 30 days in accordance with OpenAI’s Data Policies.Anthropic APIs: Requests are retained for 30 days in accordance with Anthropic’s Data Policies.

https://opencode.ai/docs/zen/#privacy

Discussion