如何使用 Claude Code 运行本地 LLM
在你的本地设备上使用 Claude Code 运行开源模型的指南。
这份分步指南向你展示如何将开源 LLM 和 API 完全在本地连接到 Claude Code,并配有截图。可使用任何开源模型运行,例如 Qwen3.6、DeepSeek 和 Gemma。
在本教程中,我们将使用以下开源模型: Gemma 4 和 Qwen3.5 它们是很强的智能体和代码模型(可在 24GB RAM/统一内存设备上运行)。
用于推理,我们将使用 Unsloth Desktop 和 llama.cpp 它可让你在 macOS、Linux 和 Windows 上运行/提供 LLM 服务。你也可以使用任何其他模型。对于模型量化版本,我们使用 Unsloth 动态 GGUF ,以在保持准确性的同时运行任何量化 LLM。

Claude Code 设置
在设置本地 LLM 之前,我们需要先安装 Claude Code。Claude Code 是一个基于终端的编程智能体,它能够理解你的代码库,并使用自然语言处理复杂的 Git 工作流。
🕵️修复 Claude Code 中 90% 更慢的推理
Claude Code 最近会在前面添加一个 Claude Code Attribution 标头,这会 使 KV 缓存失效,导致本地模型的推理速度变慢 90%.
归因信息是一行前置到 系统提示词开头的内容 (x-anthropic-billing-header: cc_version=...; cch=...;) 其值会在每次请求时变化,因此整个提示前缀在每一轮都会错过 KV 缓存。
最简单的修复方式是在启动 Claude Code 时直接在命令行中禁用它,这样就不需要编辑文件:
claude --settings '{"env":{"CLAUDE_CODE_ATTRIBUTION_HEADER":"0","CLAUDE_CODE_ENABLE_TELEMETRY":"0"}}' --model unsloth/gemma-4-26B-A4B-it-GGUF较新的 Claude Code 版本也会遵循 export CLAUDE_CODE_ATTRIBUTION_HEADER=0;旧版本会忽略 shell 变量,因此上面的 --settings 形式(或下面的设置文件)是更可靠的选择。
要将其永久生效,请在 CLAUDE_CODE_ATTRIBUTION_HEADER 设为 0,并放入 "env" 中设置 ~/.claude/settings.json中。例如,执行: cat > ~/.claude/settings.json 然后添加下面的内容(粘贴后按回车,再按 CTRL+D 保存)。如果你已有一个之前的 ~/.claude/settings.json 文件,只需将 "CLAUDE_CODE_ATTRIBUTION_HEADER" : "0" 添加到 "env" 部分,并保持设置文件其余内容不变。
📖 快速入门教程

连接 Claude Code🦥 Unsloth 教程 llama.cpp 教程
🦥 Unsloth 教程
在本教程中,我们将通过 UI 使用 Unsloth将本地模型提供/连接到 Claude Code。Unsloth 可在 Windows、WSL、Linux 和 MacOS 上运行。

下载 Unsloth
最简单的入门方式是安装 Unsloth Desktop 应用。它支持 MacOS、Linux、 Windows, NVIDIA, AMD、Intel 和 CPU 配置。
或者,如果你更喜欢手动安装:
MacOS、Linux、WSL:
Windows PowerShell:
Unsloth 已准备就绪
要开始聊天,输入消息并按 Enter。
连接工具: Claude Code, Codex、网页搜索、 MCP 等等
训练模型: 微调文本、扩散、嵌入等更多内容
生成媒体: 在本地创建并训练图像、视频、TTS

模型加载 + API 指南
⚙️ 连接 Claude Code
现在我们已经为 Claude Code 设置好了本地 LLM,接下来配置 Claude Code 以与你的工具协同工作。你可以通过以下方式轻松连接 unsloth start 轻松连接,或者也可以 手动.
⚡ 使用 unsloth start
要直接用某个模型启动 Claude,请运行:
Unsloth 会自动选择正确的参数,但你仍然可以更改。
在 Unsloth Studio 中加载好模型后,打开你的项目文件夹并运行:

Unsloth 会为这次启动设置本地端点、API 密钥、模型和上下文长度。你原有的 Claude Code 配置不会受到影响。
Claude Code 已经会将对话保存在其正常会话存储中,因此 --persist 不需要。继续你最近的会话,使用:
查看完整的 unsloth start 从命令行加载模型、远程 Unsloth 服务器和高级选项的参考。
本指南的其余部分涵盖手动 llama.cpp 设置。
🔌 手动连接
如果你更喜欢手动设置,可以先设置以下环境变量。默认情况下,这些变量不会在会话之间保留。
配置: 设置本地 API URL:
从 Unsloth Studio → Settings → API 复制你的密钥(或者在你用 unsloth run启动它时从控制台获取,其中显示为 sk-unsloth-...),然后设置它。
还要设置一个空的 ANTHROPIC_API_KEY ,这样 Claude Code 就不会提示你输入云端密钥:
可选:使用当前在 Unsloth 中加载的模型名称作为默认值。
请使用它在 GET http://localhost:8888/v1/models 中显示的完整模型 ID (与传递给).
配置: 在 Powershell 中设置本地 API URL:
复制你的密钥,从 Unsloth Studio → Settings → API,然后设置:
可选: 使用当前在 Unsloth 中加载的模型名称作为默认值。
模型名称应是当前在 Unsloth Studio 中加载的模型。
启动 Claude Code
使用当前在 Unsloth 中加载的模型启动 Claude Code。
我们将使用 gemma-4-26B-A4B-it-GGUF,但你可以使用任何与 Unsloth 兼容的模型。
为了进一步提升本地模型速度,你还可以使用 --bare --exclude-dynamic-system-prompt-sections。参见下面的“可选:缩减系统提示词”。
Claude Code 应该会打开并显示所选模型。

参见 Claude Code 先修复由于 KV 缓存失效导致开源模型慢 90% 的问题。
尝试使用这个提示词来研究并排名高质量的 SFT 数据集:
在你提交提示词后,智能体将搜索网页、评估结果并撰写最终报告。这可能需要几分钟。
某些工作流可能需要你批准操作或回复后续提示。

某些工作流可能需要你批准操作或回答后续提示。
完成后,生成的 sft_report.md 会看起来类似这样。

如果你看到 Unable to connect to API (ConnectionRefused) ,请记得取消设置 ANTHROPIC_BASE_URL 通过 unset ANTHROPIC_BASE_URL
如果你发现开源模型慢了 90%, 先看这里 来修复 KV 缓存被失效的问题。
可选:缩减系统提示词
Claude Code 是为 Anthropic 的托管模型构建的,因此其默认系统提示词很大。在本地模型上,你可以在启动时添加两个标志来缩减它,以获得更快的响应并更好地复用 KV 缓存:
--bare 会跳过对 hooks、skills、plugins、MCP 服务器和 CLAUDE.md 的自动发现(Claude 仍保留 Bash 和文件读写/编辑),并且 --exclude-dynamic-system-prompt-sections 会将每台机器的部分移出提示前缀。这两个选项都会缩短提示词并提升 KV 缓存复用,使本地模型明显更快。它们是可选的,不会改变上面的连接设置。
可选:调整 Unsloth 服务器
Claude Code 使用在 Unsloth 中运行的模型。你可以在启动服务器时自定义其行为。
使用 --disable-tools 当驱动 Claude Code(或任何外部编程智能体)时。默认情况下,Unsloth Studio 运行自己的服务端工具,这会吞掉智能体的工具调用,所以 Claude Code 会回答,但从不编辑文件。 --disable-tools 切换为透传,因此会使用 Claude Code 自己的 Write/Edit/Bash 工具。
使用 --reasoning off 用于关闭思考,或者使用 --reasoning on 为支持推理的模型开启它。
这会在 0.0.0.0:8888上启动服务器,从而允许本地网络中的其他设备连接。
使用 -p 以更改服务器运行的端口。若你希望网络中的手机、笔记本或其他设备连接,请使用 -H 0.0.0.0 。
如需更高级的运行时配置,请参阅主 API 调优 部分。
🦙 Llama.cpp 教程
在开始之前,我们首先需要完成你将要使用的特定模型的设置。我们使用 llama.cpp 它是一个开源框架,可在你的 Mac、Linux、Windows 等设备上运行 LLM。Llama.cpp 包含 llama-server 这使你能够高效地提供和部署 LLM。模型将通过 8001 端口提供服务,所有智能体工具都通过单一的 OpenAI 兼容端点路由。
Qwen3.5 教程
我们将使用 Qwen3.5-35B-A3B 和特定设置,以实现快速且准确的编码任务。如果你的 VRAM 不足,并且想要一个 更聪明的 模型, Qwen3.5-27B 是个不错的选择,但它大约会慢 2 倍;或者你也可以使用其他 Qwen3.5 变体,例如 9B、4B 或 2B。
如果你想要一个 更聪明的 模型,或者你的 VRAM 不足,可以使用 Qwen3.5-27B。不过,它会比 35B-A3B 慢大约 2 倍。或者你也可以使用 Qwen3-Coder-Next 如果你有足够的 VRAM,它会非常棒。
下载并在本地使用模型
通过以下方式下载模型: huggingface_hub 在 Python 中(安装后通过 pip install huggingface_hub hf_transfer)。我们使用 UD-Q4_K_XL 量化版本,以获得最佳的体积/准确率平衡。你可以在我们的 此处合集。如果下载卡住,请参阅 Hugging Face Hub、XET 调试

我们使用了 unsloth/Qwen3.5-35B-A3B-GGUF ,但你也可以使用其他变体,如 27B,或其他模型,例如 unsloth/Qwen3-Coder-Next-GGUF.

启动 Llama-server
要为智能体工作负载部署 Qwen3.5,我们使用 llama-server。我们应用 Qwen 推荐的采样参数 用于思考模式: temp 0.6, top_p 0.95 , top-k 20。请注意,如果你使用非思考模式或其他任务,这些数值会变化。
在新的终端中运行此命令(使用 tmux ,或者打开一个新终端)。下面的配置应该 可完美装入一块 24GB GPU(RTX 4090)(占用 23GB) --fit on 上自动卸载,但如果你看到性能不佳,请降低 --ctx-size .
我们使用了 --cache-type-k q8_0 --cache-type-v q8_0 用于 KV 缓存量化,以减少 VRAM 占用。对于全精度,使用 --cache-type-k bf16 --cache-type-v bf16 。注意,在某些机器上 bf16 KV Cache 可能会稍慢一些。
你也可以为 Qwen3.5 关闭思考,这可以提高智能体编程任务的性能。要在 llama.cpp 中关闭思考,请将以下内容添加到 llama-server 命令:
--chat-template-kwargs "{\"enable_thinking\": false}"

使用 llama-server 启动 Claude Code
我们使用了 unsloth/GLM-4.7-Flash-GGUF ,但你可以使用任何类似的内容,例如 unsloth/Qwen3.6-27B-GGUF.
参见 Claude Code 先修复由于 KV 缓存失效导致开源模型慢 90% 的问题。
进入你的项目文件夹(mkdir project ; cd project)并运行:
要使用 Qwen3.6-35B-A3B,只需改成:

要让 Claude Code 在不经过任何批准的情况下执行命令,请执行 (注意:这会让 Claude Code 在未经任何批准的情况下随意执行和运行代码!)
试试这个提示,以安装并运行一个简单的 Unsloth 微调:

稍等片刻后,Unsloth 将通过 uv 安装到虚拟环境中,并完成加载:

最后你将看到一个使用 Unsloth 成功微调的模型!

如果你看到 Unable to connect to API (ConnectionRefused) ,请记得取消设置 ANTHROPIC_BASE_URL 通过 unset ANTHROPIC_BASE_URL
如果你发现开源模型慢了 90%, 先看这里 来修复 KV 缓存被失效的问题。
最后更新于
这有帮助吗?







