部署 Claude Code(由 Anthropic 提供),并连接自托管的大语言模型(如 Qwen、Llama 系列等),完全绕过 Anthropic 官方 API,实现离线/内网安全开发辅助。
目录
前言
Claude Code 简介
Claude Code 是 Anthropic 推出的智能编程助手,支持代码理解、生成、调试与重构。
通过 OpenAI 兼容 API 接口,Claude Code 可无缝对接任何支持该协议的本地 LLM 服务(如 llama.cpp、vLLM、Ollama 等),无需依赖 Anthropic 官方 API。
📖 官方文档:code.claude.com/docs
自托管的大语言模型
上篇文章 《性能干翻235B,单卡私有化部署OpenClaw》 提到了如何用 llama.cpp 部署本地模型服务,本篇以此作为大模型API 配置。
🔧 一、安装 Claude Code CLI
方法 1:通过 npm(适合开发者调试)
npm install -g @anthropic-ai/claude-code
方法 2:官方原生安装(推荐用于生产环境)
# macOS / Linux / WSL
curl -fsSL https://claude.ai/install.sh | bash
# Windows (PowerShell)
irm https://claude.ai/install.ps1 | iex
✅ 验证安装:
claude --version
⚙️ 二、全局配置文件设置
Claude Code 通过环境变量识别后端模型服务。必须确保以下三点:
ANTHROPIC_BASE_URL指向 OpenAI 兼容的 API 路径(如http://localhost:8000/v1)ANTHROPIC_AUTH_TOKEN:若服务无需认证,可设为任意值(如"not-needed")ANTHROPIC_MODEL:必须与本地 LLM 服务注册的模型 ID 严格一致
配置文件路径
| 平台 | 路径 |
|---|---|
| Linux/macOS | ~/.claude/settings.json |
| Windows | %USERPROFILE%\.claude\settings.json |
示例配置 (settings.json)
{
"env": {
"ANTHROPIC_AUTH_TOKEN": "not-needed",
"ANTHROPIC_BASE_URL": "http://10.0.0.1:8001",
"ANTHROPIC_MODEL": "Qwen3.5-35B-A3B-UD-Q4_K_M",
"ANTHROPIC_SMALL_FAST_MODEL": "Qwen3.5-35B-A3B-UD-Q4_K_M",
"API_TIMEOUT_MS": "600000",
"CLAUDE_AUTOCOMPACT_PCT_OVERRIDE": 80,
"CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS": 1,
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": 1
}
}
ℹ️ 参数说明:
ANTHROPIC_BASE_URL:本地 LLM 服务的 OpenAI 兼容 API 地址ANTHROPIC_MODEL:模型名称(需与服务端--model_alias或实际加载模型名一致)CLAUDE_AUTOCOMPACT_PCT_OVERRIDE=80:当上下文使用达 80% 时自动压缩历史- 更多配置项见:官方设置文档
启动 CLI
在项目目录中运行:
claude
💻 三、VS Code 插件集成
1. 安装插件
前往 VS Code Marketplace 安装:
👉 Claude Code for VS Code
2. 插件配置
💡 注意:Claude Code for VS Code 插件 不读取
~/.claude/settings.json,必须在此处单独配置!
进入 Settings → Extensions → Claude Code → Edit in settings.json,添加如下配置:
{
"claudeCode.selectedModel": "Qwen3.5-35B-A3B-UD-Q4_K_M",
"claudeCode.allowDangerouslySkipPermissions": true,
"claudeCode.disableLoginPrompt": true,
"claudeCode.preferredLocation": "panel",
"claudeCode.environmentVariables": [
{
"name": "ANTHROPIC_AUTH_TOKEN",
"value": "not-needed"
},
{
"name": "ANTHROPIC_BASE_URL",
"value": "http://10.0.0.1:8001/v1"
}
]
}
⚠️ 安全提示:
allowDangerouslySkipPermissions: true允许 AI 自动修改文件,仅限可信内网环境启用- 生产环境建议保留权限确认弹窗,防止意外覆盖
3. 运行插件
- 侧边栏面板:点击左侧 Claude 图标
- 编辑器内嵌:右键代码 → “Ask Claude”
⚠️ 四、常见问题与解决方案
错误示例
request (128640 tokens) exceeds the available context size (128000 tokens)
解决方案
✅ 方案 1:启用自动压缩(推荐)
已在配置中设置:
"CLAUDE_AUTOCOMPACT_PCT_OVERRIDE": 80
上下文容量在80% 处自动压缩触发,但对超大项目可能仍不足。
✅ 方案 2:手动清理上下文
在聊天窗口输入:
/compact
强制丢弃非核心历史消息,保留当前代码状态。
✅ 方案 3:扩大模型上下文窗口
启动本地 LLM 服务时显式指定更大上下文,例如:
# llama.cpp 示例
./server -m ./models/qwen3-35b.Q4_K_M.gguf --ctx-size 131072
✅ 方案 4:减少输入规模
- 在项目根目录创建
.claudeignore文件,排除无关目录:node_modules/ dist/ build/ venv/ *.log *.bin - 避免在巨型单体仓库中全量分析
✅ 六、总结与建议
| 项目 | 建议 |
|---|---|
| 模型选择 | 优先使用 Qwen3.5、Llama-3-70B 等支持长上下文的模型 |
| 安全性 | 内网部署 + 禁用外网访问 + 关闭自动文件修改(除非可信) |
| 性能优化 | 使用 GPU 加速(如 llama.cpp 的 cuBLAS)、量化模型(Q4_K_M 平衡速度与精度) |
| 维护性 | 将 settings.json 和 .claudeignore 纳入项目模板统一管理 |
🌐 扩展支持:除 llama.cpp 外,也可接入 Ollama、vLLM、Text Generation WebUI 等 OpenAI 兼容后端。
📌 最后提醒:本方案完全绕过 Anthropic 云端服务,所有数据保留在本地,符合高安全合规要求。
如需进一步自动化部署脚本或 Docker 化方案,可参考社区开源项目。
✅ 现在,你已具备在私有环境中安全、高效使用 Claude Code 的全部能力!