最适合机器人的视频基座模型:被中国团队开源了
2026-07-10
2026-07-11 0
个人使用场景 claude 模型实在是太贵了,想使用 Claude Code 默认只支持 Anthropic 的接口格式,所以本文记录了如何把本地模型或者其他模型(Deepseek等)接入 Claude Code 使用的方法。
通过 Claude Code Router (CCR) 将 Claude Code CLI 连接到 Ollama(本地模型)或 DeepSeek(云端模型),从而使用非 Anthropic 模型运行 Claude Code。

┌─────────────────┐ Anthropic Messages API ┌──────────────────────────┐
│ │ ──────────────────────────────▶ │ │
│ Claude Code │ /v1/messages │ Claude Code Router │
│ (CLI / VSC) │ ◀────────────────────────────── │ (localhost:3456) │
│ │ │ │
└─────────────────┘ └──────────┬───────────────┘
│
┌──────────────────────────────────────┼──────────────────────────┐
│ │ │
▼ ▼ ▼
┌──────────────────┐ ┌──────────────────┐ ┌──────────────────┐
│ Ollama │ │ DeepSeek API │ │ OpenAI API │
│ (localhost) │ │ (云端) │ │ (其他兼容) │
│ :11434/v1 │ │ api.deepseek │ │ │
└──────────────────┘ └──────────────────┘ └──────────────────┘
/v1/messages)http://127.0.0.1:3456ANTHROPIC_BASE_URL=http://127.0.0.1:3456,Claude Code 将所有 API 请求发送到 CCR| 事项 | 说明 |
|---|---|
| Claude Code 发送的协议 | Anthropic Messages API (/v1/messages) |
| Ollama 支持的协议 | OpenAI Chat Completions API (/v1/chat/completions) |
| DeepSeek 支持的协议 | OpenAI Chat Completions API (/v1/chat/completions) |
| CCR 的作用 | 协议转换网关,在两种格式间翻译 |
| 认证方式 | 通过 ANTHROPIC_AUTH_TOKEN 或 ANTHROPIC_API_KEY 传递凭证 |
.dmg 文件.exe 安装程序.AppImage 文件启动后,CCR 会在以下位置创建配置文件:
~/.claude-code-router/config.json%APPDATA%Claude Code Routerconfig.jsonollama pull llama3.1 ollama pull qwen2.5 ollama pull deepseek-r1:7b
http://127.0.0.1:11434)| 字段 | 值 |
|---|---|
| Provider Name | Ollama |
| Endpoint (Base URL) | http://127.0.0.1:11434/v1 |
| Protocol | openai_chat_completions |
| API Key | 留空(或随意填写 ollama) |
| Models | 输入你已拉取的模型名,如 llama3.1, qwen2.5 |
为什么 Ollama 的 endpoint 是 :11434/v1? Ollama 从 0.1.32 版本开始原生支持 OpenAI 兼容 API,路径为 /v1/chat/completions。 CCR 通过 openai_chat_completions 协议将 Anthropic 请求转换后发送到此端点。
也可以直接通过 URL Scheme 快速添加:
ccr://provider?name=Ollama&base_url=http%3A%2F%2F127.0.0.1%3A11434%2Fv1&api_key=ollama&models=llama3.1,qwen2.5&protocol=openai_chat_completions
在浏览器中打开此链接,CCR 会弹出确认对话框。
在终端验证 Ollama 的 OpenAI 兼容 API 是否正常:
curl http://127.0.0.1:11434/v1/chat/completions
-H "Content-Type: application/json"
-d '{
"model": "llama3.1",
"messages": [{"role": "user", "content": "Hello"}]
}'
应返回包含 choices 字段的 JSON 响应。
| 字段 | 值 |
|---|---|
| Provider Name | DeepSeek |
| Endpoint | https://api.deepseek.com/v1 |
| Protocol | openai_chat_completions |
| API Key | sk-xxxxxxxxxxxxxxxxxxxx(你的 DeepSeek API Key) |
| Models | deepseek-chat, deepseek-reasoner |
ccr://provider?name=DeepSeek&base_url=https%3A%2F%2Fapi.deepseek.com%2Fv1&api_key=sk-xxxxxxxxx&models=deepseek-chat,deepseek-reasoner&protocol=openai_chat_completions
| 模型 ID | 说明 | 适用场景 |
|---|---|---|
deepseek-chat | DeepSeek V3 / 最新聊天模型 | 日常编码、代码生成 |
deepseek-reasoner | DeepSeek R1 推理模型 | 复杂推理、调试分析 |
http://127.0.0.1:3456http://127.0.0.1:3457建议勾选 Auto-start,这样每次开机 CCR 会自动启动网关。
编辑 ~/.claude/settings.json(macOS/Linux)或 %USERPROFILE%.claudesettings.json(Windows):
{
"env": {
"ANTHROPIC_BASE_URL": "http://127.0.0.1:3456",
"ANTHROPIC_API_KEY": "ccr-local"
}
}
ANTHROPIC_API_KEY 的值可以是任意非空字符串——CCR 作为本地网关不验证这个 key,但 Claude Code 要求必须有值才会绕过登录流程。
在项目根目录创建 .claude/settings.local.json(此文件会自动被 gitignore):
{
"env": {
"ANTHROPIC_BASE_URL": "http://127.0.0.1:3456",
"ANTHROPIC_API_KEY": "ccr-local"
}
}
export ANTHROPIC_BASE_URL=http://127.0.0.1:3456 export ANTHROPIC_API_KEY=ccr-local
CCR 提供了 Profile 功能,可以一键应用配置:
llama3.1)在 CCR 的 Routing 面板中设置:
| 路由项 | 推荐配置 |
|---|---|
| Default Provider | 选择你配置的 Ollama 或 DeepSeek |
| Default Model | 选择具体模型,如 llama3.1 或 deepseek-chat |
你还可以配置针对不同工作负载的路由规则:
- Background(后台任务)→ 可以用更便宜的模型
- Thinking(推理任务)→ 可以用更强的模型
- Subagent(子智能体)→ 可以用性价比更高的模型
在配置好环境变量后,先用 curl 测试 CCR 网关是否正常响应:
curl -X POST http://127.0.0.1:3456/v1/messages
-H "Authorization: Bearer ccr-local"
-H "anthropic-version: 2023-06-01"
-H "content-type: application/json"
-d '{"model": "llama3.1", "max_tokens": 50, "messages": [{"role": "user", "content": "Say hello"}]}'
注意:这里的
model名称必须与你之前在 CCR 中添加的模型名称一致。 如果 DeepSeek 使用deepseek-chat,如果 Ollama 使用你拉取的模型名如llama3.1。
如果返回 JSON 且包含 content 字段,说明 CCR 工作正常。
cd your-project claude
如果一切正常,Claude Code 应该 跳过登录界面,直接进入会话。
在 Claude Code 中运行:
/status
查看以下关键信息:
| 状态项 | 期望值 |
|---|---|
Anthropic base URL | http://127.0.0.1:3456 |
API key | 应显示 ANTHROPIC_API_KEY(而非 Login method) |
尝试发送一条简单的消息,比如:
Hello, what model are you running on?
如果 CCR 路由配置正确,你会收到模型回复,并能在 CCR 的 Dashboard 中看到请求记录。
CCR 支持根据请求特征将不同任务路由到不同模型:
| 路由条件 | 目标模型 | 用途 |
|---|---|---|
| Default | deepseek-chat | 日常对话和编码 |
| Background | llama3.1 (本地 Ollama) | 后台任务、代码搜索 |
| Thinking | deepseek-reasoner | 需要深度推理的任务 |
| Long Context | deepseek-chat | 处理大文件 |
配置方式:在 CCR → Routing → Add Routing Rule 中设置。
可以创建虚拟模型名称来简化模型选择:
llama3.1 → Ollama 上的 llama3.1 default-coding → deepseek-chat default-reasoning → deepseek-reasoner
在 CCR → Routing → Virtual Models 中配置。
当主模型不可用时,CCR 可以自动切换到备用模型:
Primary: deepseek-chat (DeepSeek) Fallback: llama3.1 (Ollama,本地运行,不需要网络)
在 Routing → 编辑路由规则 → 配置 Fallback 模型。
对 DeepSeek 等 API 服务,可以配置多个 API Key 实现负载均衡和故障转移:
在 Providers → 编辑 DeepSeek → API Key 字段使用逗号分隔多个 key:
sk-key1,sk-key2,sk-key3
CCR 会在请求失败时自动轮换到下一个 key。
原因:CCR 的网关配置未被 Claude Code 读取到。
解决:
ANTHROPIC_BASE_URL 和 ANTHROPIC_API_KEY 都已正确设置settings.json,确认文件路径正确:~/.claude/settings.json.claude/settings.local.jsonecho $ANTHROPIC_BASE_URL 检查环境变量是否生效/status 查看实际生效的 base URL原因:CCR 网关未启动。
解决:
lsof -i :3456原因:可能存在多种问题。
解决步骤:
对于 Ollama:
# 检查 Ollama 服务状态 ollama list # 确认模型已加载 ollama run llama3.1 # 检查 Ollama 日志 ollama serve
对于 DeepSeek:
# 直接测试 DeepSeek API
curl https://api.deepseek.com/v1/chat/completions
-H "Authorization: Bearer sk-your-key"
-H "Content-Type: application/json"
-d '{"model": "deepseek-chat", "messages": [{"role": "user", "content": "hi"}]}'
原因:API Key 未正确传递。
解决:
ANTHROPIC_API_KEY,CCR 收到的是 x-api-key 头ANTHROPIC_AUTH_TOKEN,CCR 收到的是 Authorization: Bearer 头settings.json 中的变量名与 CCR 期望的一致原因:CCR 在 Anthropic Messages ↔ OpenAI Chat Completions 之间转换时可能遇到不兼容的字段。
解决:
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1{
"env": {
"ANTHROPIC_BASE_URL": "http://127.0.0.1:3456",
"ANTHROPIC_API_KEY": "ccr-local",
"CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS": "1"
}
}
CCR 桌面应用中的 Network Logs 面板可以查看所有通过的请求和响应,是排查问题的最佳工具。
如果需要完全重置:
# 备份现有配置 cp ~/.claude-code-router/config.json ~/.claude-code-router/config.json.bak # 删除配置(CCR 会在下次启动时重新创建) rm ~/.claude-code-router/config.json # 清除 Claude Code 缓存 rm -rf ~/.claude/cache
{
"env": {
"ANTHROPIC_BASE_URL": "http://127.0.0.1:3456",
"ANTHROPIC_API_KEY": "ccr-local",
"CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS": "1",
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1"
}
}
正确的启动顺序是:
ollama serveclaude