耗时2小时58分,理想的AI编程助手Claude Code 部署与本地自托管模型配置

0 阅读4分钟

部署 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 通过环境变量识别后端模型服务。必须确保以下三点

  1. ANTHROPIC_BASE_URL 指向 OpenAI 兼容的 API 路径(如 http://localhost:8000/v1
  2. ANTHROPIC_AUTH_TOKEN:若服务无需认证,可设为任意值(如 "not-needed"
  3. 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

CLI 界面示意图


💻 三、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 外,也可接入 OllamavLLMText Generation WebUI 等 OpenAI 兼容后端。


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


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