以下の内容はhttps://kazuhira-r.hatenablog.com/entry/2025/11/03/001059より取得しました。


Claude Code Routerを使って、Claude CodeをOllama+Qwen 2.5 Coderで動かしてみる

これは、なにをしたくて書いたもの?

Claude Code Routerという、Claude Codeのリクエストをいろいろなモデルにルーティングできるものがあるようだったので、ちょっと
Ollamaを使って試してみました。

ローカルLLMではものすごく時間がかかるんだろうと思っていたのですが、実際のそのとおりでした。というか、予想を遥かに超えて
時間がかかりました。

Claude Code Router

Claude Code Routerは、Claude Codeのリクエストをいろいろなモデルにルーティングできるnpmパッケージです。

GitHubリポジトリーはこちら。

GitHub - musistudio/claude-code-router: Use Claude Code as the foundation for coding infrastructure, allowing you to decide how to interact with the model while enjoying updates from Anthropic.

OpenRouter、DeepSeek、Ollama、Gemini、Volcengine、SiliconFlowなどの様々なモデルプロバイダーをサポートするようです。
またTransformersを使った機能拡張もできるようです。

今回はこちらをOllamaで使ってみます。モデルはQwen 2.5 Coder 3Bにしました。

qwen2.5

環境

今回の環境はこちら。

$ node --version
v24.11.0


$ npm --version
11.6.1

Claude Code。ネイティブ版です。

$ claude --version
2.0.31 (Claude Code)

Ollama。

$ bin/ollama --version
ollama version is 0.12.9

192.168.0.6で動作しているものとします。

$ OLLAMA_HOST=0.0.0.0:11434 bin/ollama serve

Claude Code Routerを使ってみる

まずはClaude Code Routerをインストールします。

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

バージョン。

$ ccr version
claude-code-router version: 1.0.64

ヘルプ。

$ ccr --help

Usage: ccr [command]

Commands:
  start         Start server
  stop          Stop server
  restart       Restart server
  status        Show server status
  statusline    Integrated statusline
  code          Execute claude command
  model         Interactive model selection and configuration
  ui            Open the web UI in browser
  -v, version   Show version information
  -h, help      Show help information

Example:
  ccr start
  ccr code "Write a Hello World"
  ccr model
  ccr ui

設定は$HOME/.claude-code-router/config.jsonで行います。

$HOME/.claude-code-router/config.json

{
  "PORT": 3456,
  "Providers": [
    {
      "name": "ollama",
      "api_base_url": "http://192.168.0.6:11434/v1/chat/completions",
      "api_key": "ollama",
      "models": ["qwen2.5-coder:3b"]
    }
  ],
  "Router": {
    "default": "ollama,qwen2.5-coder:3b"
  }
}

設定例はこちらを見るとよいでしょう。

Claude Code Router / Getting Started / 2. Configuration

Claude Code Routerはサーバープロセスのようなので、設定変更を行った場合は再起動しましょう。

$ ccr restart

起動はこちらで。

$ ccr code

ネイティブ版のClaude Codeであっても問題なく起動します。

(node:12796) [DEP0190] DeprecationWarning: Passing args to a child process with shell option true can lead to security vulnerabilities, as the arguments are not escaped, only concatenated.
(Use `node --trace-deprecation ...` to show where the warning was created)

──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
 Do you trust the files in this folder?

 /home/user

 Claude Code may read, write, or execute files contained in this directory. This can pose security risks, so only use files from trusted sources.

 Learn more ( https://docs.claude.com/s/claude-code-security )

 ❯ 1. Yes, proceed
   2. No, exit

 Enter to confirm · Esc to exit

実行。

 ▐▛███▜▌   Claude Code v2.0.31
▝▜█████▛▘  Sonnet 4.5 · API Usage Billing
  ▘▘ ▝▝    /home/user

> あなたの自己紹介をしてください

● 私は Claude、人工知能アシスタントです。 ClaudeはOpenAIが開発した最新人工知能アシスタントで、複雑な問題を解決するために幅広い知識と深く理解を持っており、言葉の意味解釈や
  適切な答えを提供します。私たちは自然な対話で、あなたの質問に対する詳細で有用な情報とヒントを提供することで有効に交流できます。
  ClaudeはAIアシスタントの中でも最新かつ高度なパフォーマンスを記録しており、多くの業界で使用されている最上級のアシスタントです。

動くには動いたのですが、とんでもなく時間がかかりました…。このレスポンスが返ってくるまでに、何分も待ちました…。
ちょっと作業を進めるには厳しいので、今回はここまでにしておきます。

ちなみに、Qwen 2.5 Coderはthinkingをサポートしていないので、「Thinking on」のまま動かしてしまうと以下のように実行に失敗します。

 ▐▛███▜▌   Claude Code v2.0.31
▝▜█████▛▘  Sonnet 4.5 · API Usage Billing
  ▘▘ ▝▝    /home/user

> あなたの自己紹介をしてください
  ⎿ API Error: 400 {"error":{"message":"Error from provider(ollama,qwen2.5-coder:3b: 400): {\"error\":{\"message\":\"\\\"qwen2.5-coder:3b\\\" does not support
    thinking\",\"type\":\"api_error\",\"param\":null,\"code\":null}}\nError: Error from provider(ollama,qwen2.5-coder:3b: 400):
    {\"error\":{\"message\":\"\\\"qwen2.5-coder:3b\\\" does not support thinking\",\"type\":\"api_error\",\"param\":null,\"code\":null}}\n\n    at nt
    (/home/user/.nvm/versions/node/v24.11.0/lib/node_modules/@musistudio/claude-code-router/dist/cli.js:79940:11)\n    at h0
    (/home/user/.nvm/versions/node/v24.11.0/lib/node_modules/@musistudio/claude-code-router/dist/cli.js:79998:11)\n    at process.processTicksAndRejections
    (node:internal/process/task_queues:105:5)\n    at async l0
    (/home/user/.nvm/versions/node/v24.11.0/lib/node_modules/@musistudio/claude-code-router/dist/cli.js:79965:96)","type":"api_error","code":"provider_response_error"}}

──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
> 
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────

おわりに

Claude Code Routerを使って、Claude CodeをOllama+Qwen 2.5 Coderで動かしてみました。

とんでもなく重かったので、これだとちょっと使えないですね…。

使うなら、他のモデルプロバイダーですね。Google Geminiあたりでしょうか。




以上の内容はhttps://kazuhira-r.hatenablog.com/entry/2025/11/03/001059より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14