[2025年9月更新:从GGUF切换到MLX后,速度从60 tok/sec提升到80 tok/sec]
[2025年8月更新:模型从glm-4.5-air-mlx-4bit切换到gpt-oss-120b]
最近Claude Code比Cursor更流行,可惜国内使用Claude非常困难,我在Apple M4 Max + 128 GB内存的MacBook Pro上离线运行最新的OpenAI gpt-oss-120b开放权重模型,并通过它来驱动Claude Code功能,实现完全本地化的AI编程助手。
硬件环境
我用的是Apple M4 Max处理器和128GB内存的MacBook Pro,依托统一内存Unified Memory运行gpt-oss-120b非常流畅,可以把上下文长度Context Length设置为131072
,这对于处理大量代码文件非常有帮助。如下图所示:

安装LM Studio
首先,需要安装LM Studio作为本地模型的运行环境。LM Studio的图形界面友好,对MLX支持很好,且支持个人和企业免费使用,开源模型更新非常快,包括最新的gpt-oss-120b模型。
下载并使用
openai/gpt-oss-120b
GGUF模型(约64GB)将Context Length设置为
131072
将GPU Offload设置为36/36(将模型层全部加载到GPU内存中,提高运行速度)
将CPU Thread Pool Size设置为16/16(尽可能使用M4 Max计算资源)
打开Offload KV Cache to GPU Memory(将KV缓存转移到GPU内存,减轻CPU负担)
打开Keep Model in Memory(保持模型常驻内存,避免重复加载)
打开Try mmap()(使用内存映射加载模型,提高初始化速度)
打开Flash Attention(启用快速注意力机制,大幅提升推理性能)
启动本地服务器,默认服务在
http://localhost:1234
安装Claude Code
接下来安装Claude Code,我用homebrew安装:
brew install claude-code
claude config set -g autoUpdates false
按照homebrew关闭自动更新,通过brew upgrade
更新。
安装Claude Code Router
Claude Code Router是一个第三方工具,它可以将Claude Code的请求转发到本地的LM Studio服务器,从而实现离线使用Claude Code的功能。通过npm安装:
npm install -g @musistudio/claude-code-router@latest
这个路由器的核心功能是将Claude Code发出的API请求拦截并重定向到我指定的本地或远程模型服务。
配置Claude Code Router
安装完成后,需要创建一个配置文件,指定模型服务地址和API密钥。这是完整的配置示例:
cat > ~/.claude-code-router/config.json << EOF
{
"LOG": false,
"API_TIMEOUT_MS": "600000",
"HOST": "127.0.0.1",
"PORT": 7890,
"APIKEY": "",
"PROXY_URL": "",
"NON_INTERACTIVE_MODE": false,
"Transformers": [],
"Providers": [
{
"name": "lmstudio",
"api_base_url": "http://localhost:1234/v1/chat/completions",
"api_key": "not_needed",
"models": [
"gpt-oss-120b",
"gpt-oss-20b"
],
"transformer": {
"use": [
["maxtoken", {"max_tokens": 131072}],
"enhancetool"
]
}
},
{
"name": "gemini",
"api_base_url": "https://generativelanguage.googleapis.com/v1beta/models/",
"api_key": "YOUR_GEMINI_API_TOKEN",
"models": [
"gemini-2.5-flash",
"gemini-2.5-pro"
],
"transformer": {
"use": [
"gemini"
]
}
}
],
"Router": {
"default": "lmstudio,gpt-oss-120b",
"background": "lmstudio,gpt-oss-120b",
"think": "lmstudio,gpt-oss-120b",
"longContext": "gemini,gemini-2.5-flash",
"longContextThreshold": 131072,
"webSearch": "gemini,gemini-2.5-flash"
}
}
EOF
配置的关键点包括:
设置本地代理服务地址为
http://127.0.0.1:7890
配置LM Studio作为主要模型提供者,指向本地运行的gpt-oss-120b
配置Gemini 2.5 Flash作为长上下文模型和网络搜索提供方
设置API超时时间为10分钟,以适应大型代码生成任务
启动服务
配置完成后,可以启动Claude Code Router服务,然后运行Claude Code:
ccr code
如果需要在修改配置后重启服务,可以使用:
ccr restart
检查系统状态,
$ ccr status
📊 Claude Code Router Status
════════════════════════════════════════
✅ Status: Running
🆔 Process ID: 71742
🌐 Port: 7890
📡 API Endpoint: http://127.0.0.1:7890
📄 PID File: /Users/username/.claude-code-router/.claude-code-router.pid
🚀 Ready to use! Run the following commands:
ccr code # Start coding with Claude
ccr stop # Stop the service
如果希望支持VSCode和Cursor的Claude Code插件,可以将ccr code
映射到claude
命令。这样点击VSCode和Cursor右上角的Claude Code图标,就会打开ccr code
:
echo "alias claude='ccr code'" >> ~/.zshrc
使用体验
通过上述配置,我成功在MacBook Pro上实现了完全离线运行的Claude Code。OpenAI的gpt-oss-120b运行非常流畅,回复速度和代码质量都能接受。
