耗时2小时58分,理想的AI编程助手Claude Code 部署与本地自托管模型配置
JohnCHsu
2026年03月16日 09:39
收录于文集
共3篇
Claude

部署 Claude Code(由 Anthropic 提供),并连接自托管的大语言模型(如 Qwen、Llama 系列等),完全绕过 Anthropic 官方 API,实现离线/内网安全开发辅助。


目录

  • 前言

  • 🔧 一、安装 Claude Code CLI

  • ⚙️ 二、全局配置文件设置

  • 💻 三、VS Code 插件集成

  • ⚠️ 四、常见问题与解决方案

  • ✅ 五、总结与建议


前言

Claude Code 简介

Claude Code 是 Anthropic 推出的智能编程助手,支持代码理解、生成、调试与重构。 通过 OpenAI 兼容 API 接口,Claude Code 可无缝对接任何支持该协议的本地 LLM 服务(如 llama.cpp、vLLM、Ollama 等),无需依赖 Anthropic 官方 API。

📖 官方文档:https://code.claude.com/docs

自托管的大语言模型

上篇文章 《性能干翻235B,单卡私有化部署OpenClaw》​ 提到了如何用 llama.cpp 部署本地模型服务,本篇以此作为大模型API 配置。


🔧 一、安装 Claude Code CLI

方法 1:通过 npm(适合开发者调试)

代码块
Shell
自动换行
复制代码
npm install -g @anthropic-ai/claude-code
复制成功

方法 2:官方原生安装(推荐用于生产环境)

代码块
Shell
自动换行
复制代码
# macOS / Linux / WSL
curl -fsSL https://claude.ai/install.sh | bash

# Windows (PowerShell)
irm https://claude.ai/install.ps1 | iex
复制成功

验证安装

代码块
Shell
自动换行
复制代码
claude --version
复制成功

⚙️ 二、全局配置文件设置

Claude Code 通过环境变量识别后端模型服务。必须确保以下三点

  1. ANTHROPIC_BASE_URL 指向 OpenAI 兼容的 API 路径(如 http://localhost:8000/v1)

  2. ANTHROPIC_AUTH_TOKEN:若服务无需认证,可设为任意值(如 "not-needed")

  3. ANTHROPIC_MODEL:必须与本地 LLM 服务注册的模型 ID 严格一致

配置文件路径

示例配置 (settings.json)

代码块
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

在项目目录中运行:

代码块
Shell
自动换行
复制代码
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,添加如下配置:

代码块
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”


⚠️ 四、常见问题与解决方案

错误示例

代码块
PlainText
自动换行
复制代码
request (128640 tokens) exceeds the available context size (128000 tokens)
复制成功

解决方案

✅ 方案 1:启用自动压缩(推荐)

已在配置中设置:

代码块
JSON
自动换行
复制代码
"CLAUDE_AUTOCOMPACT_PCT_OVERRIDE": 80
复制成功

上下文容量在80% 处自动压缩触发,但对超大项目可能仍不足。

✅ 方案 2:手动清理上下文

在聊天窗口输入:

代码块
PlainText
自动换行
复制代码
/compact
复制成功

强制丢弃非核心历史消息,保留当前代码状态。

✅ 方案 3:扩大模型上下文窗口

启动本地 LLM 服务时显式指定更大上下文,例如:

代码块
Shell
自动换行
复制代码
# llama.cpp 示例
./server -m ./models/qwen3-35b.Q4_K_M.gguf --ctx-size 131072

复制成功

✅ 方案 4:减少输入规模

  • 在项目根目录创建 .claudeignore 文件,排除无关目录:

代码块
gitignore
自动换行
复制代码
node_modules/
dist/
build/
venv/
*.log
*.bin
复制成功
  • 避免在巨型单体仓库中全量分析


✅ 六、总结与建议

🌐 扩展支持:除 llama.cpp 外,也可接入 Ollama、vLLM、Text Generation WebUI 等 OpenAI 兼容后端。


📌 最后提醒:本方案完全绕过 Anthropic 云端服务,所有数据保留在本地,符合高安全合规要求。 如需进一步自动化部署脚本或 Docker 化方案,可参考社区开源项目。


现在,你已具备在私有环境中安全、高效使用 Claude Code 的全部能力!