今天聊點(diǎn)更有意思的:把 Claude Code、Codex、OpenClaw 這三個(gè)最火的 Agent 終端,全都接到本地 24GB 顯存的開(kāi)源大模型上跑
之前對(duì)接 Claude Code 的常規(guī)姿勢(shì),是把環(huán)境變量指到 DeepSeek、Kimi 這種云端 API,體驗(yàn)不錯(cuò),但月底賬單也是真不便宜
Unsloth 團(tuán)隊(duì)最近放了個(gè)大招——給自家 Studio 直接掛上了一個(gè) OpenAI 兼容 + Anthropic 兼容 的雙協(xié)議 API 端點(diǎn),本地一條命令起服務(wù),Claude Code、Codex、OpenClaw、OpenCode、Cursor、Cline 全都能直接接
24GB 內(nèi)存(不論 Mac 統(tǒng)一內(nèi)存還是 RTX 顯卡)就能跑得起 Gemma 4 26B-A4B 或 Qwen3.6-27B,全程不聯(lián)網(wǎng),自己的代碼不出本機(jī)
簡(jiǎn)介
先說(shuō)說(shuō) Unsloth API 到底是啥
它其實(shí)是 Unsloth Studio(Unsloth 自家的本地推理 UI)開(kāi)出來(lái)的一個(gè)對(duì)外 HTTP 端口,背后是 llama.cpp 的 llama-server,前面套了一層兼容層,同一個(gè)端口同時(shí)講兩種話
POST /v1/messages—— Anthropic Messages API,給 Claude Code、Anthropic SDK、OpenClaw 用POST /v1/chat/completions和/v1/responses—— OpenAI 兼容,給 OpenAI SDK、Codex、OpenCode、Cursor、Continue、Cline、Open WebUI 用GET /v1/models—— 列出當(dāng)前已加載的模型
認(rèn)證方式跟 OpenAI 一模一樣,請(qǐng)求頭帶 Authorization: Bearer sk-unsloth-…,啟動(dòng)后 key 在終端里直接打出來(lái)一份
![]()
Unsloth API 雙協(xié)議示意
最關(guān)鍵的是它帶了三個(gè)云端 API 才有的高級(jí)能力:
Self-healing tool calling :模型偶爾會(huì)把工具參數(shù)寫(xiě)歪(少個(gè)引號(hào)、JSON 嵌套亂了),Unsloth 服務(wù)端會(huì)自動(dòng)修一下再喂給客戶端,工具調(diào)用成功率明顯高一截
服務(wù)端代碼執(zhí)行 :在請(qǐng)求里加
enable_tools: true和enabled_tools: ["python", "bash"],Bash / Python 直接在服務(wù)端沙箱里跑完把結(jié)果回流,跟 Claude artifacts 那個(gè)味兒差不多Advanced Web Search :模型能真去訪問(wèn)網(wǎng)頁(yè)、讀正文,不是只看一下 snippet
這幾個(gè)能力以前是 Claude / OpenAI 這種閉源 API 的護(hù)城河,現(xiàn)在全本地化了
安裝
整個(gè)鏈路就兩件事:裝 Unsloth Studio,再裝你要用的 Agent CLI
裝 Unsloth Studio(一行)
# macOS / Linux / WSL
curl -fsSL https://unsloth.ai/install.sh | sh# Windows PowerShell
irm https://unsloth.ai/install.ps1 | iex
加載一個(gè) GGUF 模型并啟動(dòng) API
unsloth run unsloth/Qwen3.6-27B-GGUF
# 或者跑 Gemma 4
unsloth run unsloth/gemma-4-26B-A4B-it-GGUF
啟動(dòng)完終端會(huì)打印出兩行很重要的東西,一行是端口(一般是 http://localhost:8000 或 8888),一行是 sk-unsloth-... 開(kāi)頭的 API key,這玩意兒只顯示一次,記得馬上存下來(lái)
也可以從 UI 里手動(dòng)建:左下角頭像 → Settings → API → 起個(gè)名字 → Create
硬件門檻
24GB 內(nèi)存能跑哪些模型,Unsloth 官方給了一張實(shí)測(cè)表,老章挑兩個(gè)最值得本地用的列出來(lái):
模型
4-bit 推薦內(nèi)存
適合誰(shuí)
Gemma 4 26B-A4B(MoE)
28–30 GB
M-series Mac 32GB 統(tǒng)一內(nèi)存最穩(wěn)
Gemma 4 E4B(密集)
9–12 GB
8GB 顯卡也能跑
Qwen3.6-27B
18 GB
24GB 顯存富裕
Qwen3.6-35B-A3B(MoE)
23 GB
24GB 卡踩線,30GB 舒服
老章自己 M4 Pro 48GB 跑 Qwen3.6-27B Q4_K_XL,上下文 32K,吐字速度大概 25 tok/s,寫(xiě)代碼完全夠用
? ?? 提醒一下,CUDA 13.2 跑 GGUF 現(xiàn)在有 bug 會(huì)輸出亂碼,N 卡用戶先用 13.1 或 12.x,NVIDIA 還在修
裝 Claude Code
curl -fsSL https://claude.ai/install.sh | bash
# 或 brew install --cask claude-code
指向 Unsloth 端點(diǎn)
export ANTHROPIC_BASE_URL="http://localhost:8888"
export ANTHROPIC_API_KEY="sk-unsloth-你的key"
關(guān)掉那個(gè)讓推理慢 90% 的坑
這是個(gè)老章踩過(guò)的坑,Claude Code 最近會(huì)在每次請(qǐng)求前偷偷加一個(gè) attribution header,header 一變 KV Cache 直接全廢,推理速度掉 90%
export CLAUDE_CODE_ATTRIBUTION_HEADER=0 是沒(méi)用的,必須寫(xiě)到配置文件里
cat > ~/.claude/settings.json <<'EOF'
{
"env": {
"CLAUDE_CODE_ATTRIBUTION_HEADER": "0"
}
}
EOF
進(jìn)項(xiàng)目目錄跑 claude,再 /model 一下確認(rèn)走的是本地模型,就齊活了
接入 Codex
Codex 現(xiàn)在只認(rèn) OpenAI Responses API(Chat Completions 已經(jīng)在棄用路上),還好 Unsloth 在同一個(gè)端口上把 /v1/responses 也開(kāi)了
裝 Codex
brew install --cask codex
# 或 npm install -g @openai/codex
配置 ~/.codex/config.toml
[model_providers.unsloth]
name = "unsloth"
base_url = "http://localhost:8888/v1"
wire_api = "responses"
env_key = "UNSLOTH_API_KEY"[profiles.local]
model_provider = "unsloth"
model = "Qwen3.6-27B-GGUF"
export UNSLOTH_API_KEY="sk-unsloth-你的key"
codex --profile local
模型 ID 不知道寫(xiě)啥,直接 curl http://localhost:8888/v1/models 把 id 字段抄過(guò)去
接入 OpenClaw
OpenClaw 是個(gè)開(kāi)源 Agent 終端,用 Anthropic Messages 協(xié)議跟模型說(shuō)話,跟 Unsloth 是天作之合
裝 OpenClaw
curl -fsSL https://openclaw.ai/install.sh | bash
編輯 ~/.openclaw/openclaw.json
{
"models": {
"mode": "merge",
"providers": {
"unsloth": {
"baseUrl": "http://localhost:8888/v1",
"api": "anthropic-messages",
"authHeader": true,
"apiKey": "sk-unsloth-你的key",
"models": [
{ "id": "Qwen3.6-27B-GGUF", "name": "Qwen3.6 本地" }
]
}
}
}
}
注意 baseUrl 必須以 /v1 結(jié)尾,api 寫(xiě) anthropic-messages 是告訴 OpenClaw 走 /v1/messages 這條路
實(shí)測(cè)體驗(yàn)
老章用 Qwen3.6-27B 在 Claude Code 里跑了一上午,幾個(gè)真實(shí)感受寫(xiě)在這
好的方面
第一次 cold start 大概 30 秒,之后提示詞響應(yīng)秒回,本地跑不用等隊(duì)列
self-healing tool calls 真的有用,之前直接掛 llama.cpp 給 Claude Code 用,工具調(diào)用十次有三次參數(shù) JSON 裂開(kāi),Unsloth 這邊幾乎沒(méi)翻車
隱私這塊踏實(shí),公司項(xiàng)目敏感代碼再也不用糾結(jié)要不要傳出去
不用再盯賬單了,電費(fèi)怎么也比 API token 便宜
不太好的地方
27B 4-bit 比起 Claude Sonnet 4 / GPT-5 這種頂級(jí)模型,長(zhǎng)鏈路任務(wù)(比如重構(gòu)十幾個(gè)文件)還是會(huì)糊,復(fù)雜任務(wù)老章建議拆小步喂
工具調(diào)用響應(yīng)整體比云端慢一點(diǎn),尤其是帶 web search 的,本地瀏覽器抓頁(yè)面就是慢
Codex 現(xiàn)在一定要
wire_api = "responses",老的chat模式已經(jīng)不推薦,配錯(cuò)了會(huì)一直 400
我的建議
把它當(dāng) 日常副駕 用,寫(xiě)腳手架、改 bug、跑測(cè)試、刷文檔,本地模型完全夠用,性能還穩(wěn)定不限速
真要啃硬骨頭(架構(gòu)設(shè)計(jì)、跨多文件大重構(gòu)),切回 Claude / GPT-5 這種頂級(jí) API,按需混用最劃算
One More Thing
Unsloth 這一手在我看來(lái)意義挺大的——以前本地跑 Agent,瓶頸不在模型,而在 協(xié)議生態(tài)
llama.cpp 自己有 OpenAI 兼容端點(diǎn),但 Claude Code 走的是 Anthropic 協(xié)議,兩邊對(duì)不上;想接 Claude Code 就得自己寫(xiě)代理層,門檻勸退
Unsloth 直接把 OpenAI 和 Anthropic 兩個(gè)協(xié)議都喂在同一個(gè)端口上,再把 self-healing、tool calling、code execution、web search 這些原本要各家 SDK 各搞一遍的能力做成服務(wù)端默認(rèn)開(kāi)啟
裝一次,三家 CLI 全通,這才是本地 Agent 應(yīng)該有的樣子
如果你之前因?yàn)樯鷳B(tài)不全沒(méi)真的把 Claude Code 接到本地用過(guò),這次值得再試一遍
文檔地址:unsloth.ai/docs/basics/api
制作不易,如果這篇文章覺(jué)得對(duì)你有用,可否點(diǎn)個(gè)關(guān)注。給我個(gè)三連擊:點(diǎn)贊、轉(zhuǎn)發(fā)和在看。若可以再給我加個(gè),謝謝你看我的文章,我們下篇再見(jiàn)!
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.