+千問/Coding Plan API配置+避坑全解)
1. 先搞清楚 OpenClaw 到底在跑什么OpenClaw 是一個把自然語言指令轉成實際動作的智能體框架它自己不帶推理能力必須外接一個大模型 API 才能理解你說的話、拆解任務、調(diào)用技能。你可以把它理解成一個「遙控器」——遙控器本身不會播節(jié)目得配上電視大模型才有畫面。2026 年這個版本對 Node.js 版本、端口策略、配置結構都做了調(diào)整很多老教程直接照抄會踩坑。它適合誰三類人一是想在自己服務器上掛一個 7×24 小時在線的助手隨時通過 Web 面板或接口調(diào)用二是對數(shù)據(jù)隱私敏感、希望所有對話和技能數(shù)據(jù)都留在本地的開發(fā)者三是想拿它對接千問或 Coding Plan 這類模型服務做自動化任務編排的團隊。不管哪類核心鏈路都一樣裝運行時 → 初始化 → 配模型 API → 驗證請求通不通。我實測下來最容易卡住的不是安裝本身而是「模型配好了但請求發(fā)不出去」——報錯五花八門401、local proxy failed、reading choices 輪番上陣。這篇就按「阿里云 本地三系統(tǒng)」兩條線把每一步命令、每一段配置、每一個驗證動作都攤開寫你照著敲就能復現(xiàn)。先說清楚整體結構阿里云適合長期掛機、要公網(wǎng)訪問的場景本地適合零成本、重隱私的場景。兩條線共用同一套模型配置邏輯區(qū)別只在安裝和端口放通。下面從環(huán)境準備開始一步步來。環(huán)境要求先對齊阿里云推薦 2vCPU 2GiB 內(nèi)存起步帶寬 ≥3Mbps系統(tǒng)盤 ≥40GB ESSD本地 CPU ≥2 核內(nèi)存 ≥2GB推薦 4GBNode.js 必須 22.x 以上。系統(tǒng)層面 Windows 1164 位 22H2、macOS 12、Ubuntu 20.04/Debian 11 都能跑。Node 版本不對是最常見的啟動失敗原因先node -v確認別跳過。2. TaoToken 前置把模型入口和 Key 準備好在配 OpenClaw 之前得先有一個能用的模型 API 入口。這里我用 TaoToken 作為統(tǒng)一接入層它把千問、Coding Plan 等模型服務收斂成一套兼容 OpenAI 格式的接口OpenClaw 側只需要填 Base URL Key Model ID 三件套就能通。官網(wǎng)入口是 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content API 根地址是 https://taotoken.net/api 。為什么建議先過一層統(tǒng)一入口因為 OpenClaw 的 provider 配置是按「provider 名 baseurl apikey model」組織的如果你直接對接多個原生平臺每個平臺的鑒權頭、路徑、模型命名都不一樣切換和排障都麻煩。統(tǒng)一入口之后你換模型只改 Model IDBase URL 和 Key 不動驗證邏輯也一致。拿 Key 的路徑進控制臺 https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_contentconsoleutm_campaignrewrite 在 API Keys 頁面創(chuàng)建復制出來形如sk-開頭的字符串。這個 Key 就是后面配置里providers.xxx.apikey的值。注意別把它貼到公開倉庫本地配置文件權限設成 600。模型側有兩個方向一是走模型對話驗證連通性入口 https://taotoken.net/models?utm_sourcetaotoken_aicg_blog_endutm_contentmodelsutm_campaignrewrite 二是長期編碼 / Agent 場景用 Coding Plan入口 https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding-planutm_campaignrewrite 。Coding Plan 適合高頻調(diào)用、需要穩(wěn)定額度的場景普通對話驗證用模型對話頁就夠。接入文檔在 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite 里面列了各模型的 Model ID 命名規(guī)則配 OpenClaw 時直接對照填。如果你用 Claude Code 類工具Anthropic 兼容入口是 https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi-keysutm_campaignrewrite 對應的 Key 管理頁ClaudeCodeAnthropic 的 deep link 是 https://taotoken.net/claudecode-anthropic?utm_sourcetaotoken_aicg_blog_endutm_contentclaudecode-anthropicutm_campaignrewrite 。前置準備清單一個可用的 API Key、確認好的 Base URLhttps://taotoken.net/api 、一個 Model ID比如千問系列或 Coding Plan 對應模型。這三樣齊了后面 OpenClaw 的 provider 配置就是填空題。3. 可復制配置阿里云與本地三系統(tǒng)落地這一節(jié)是全文最核心的部分所有片段都能直接復制。先講阿里云再講本地三系統(tǒng)最后給統(tǒng)一的模型配置片段。阿里云側買實例時選「應用鏡像」里的 OpenClaw 鏡像預裝了 Node.js 22省去手動裝運行時。地域優(yōu)先選免備案區(qū)域國內(nèi)業(yè)務選華東 1杭州。實例規(guī)格 2vCPU 2GiB 40GiB ESSD 起步。連上服務器后先更新依賴并拿到隨機端口# 更新系統(tǒng)依賴 yum update -y --disablerepo* --enablerepoaliyunos,epel # 獲取 OpenClaw 隨機端口2026 版本默認隨機不是固定 18789 openclaw config get gateway.port # 放行隨機端口把 PORT 換成上一步拿到的數(shù)字 firewall-cmd --add-portPORT/tcp --permanent firewall-cmd --add-port80/tcp --permanent firewall-cmd --add-port443/tcp --permanent firewall-cmd --reload # 驗證放行結果 firewall-cmd --list-ports端口這步是阿里云部署最大的坑2026 版本端口是隨機的老教程寫死 18789 會導致 Web 面板打不開。一定要先config get gateway.port拿到真實端口再放行。接著初始化并啟動cd /opt/openclaw npm config set registry https://registry.npmmirror.com/ openclaw onboard --non-interactive --accept-risk --enable-skill-market openclaw gateway start --daemon openclaw token generate --admin --allow-ip 0.0.0.0/0 openclaw dashboard url最后一行會輸出 WebUI 訪問地址復制到瀏覽器打開用生成的 admin Token 登錄。本地三系統(tǒng)。macOS/Linux 用官方國內(nèi)鏡像腳本curl -fsSL https://open-claw.org.cn/install-cn.sh | bash openclaw --version openclaw onboard --non-interactive --accept-risk --enable-skill-market openclaw gateway start --daemon openclaw token generate --admin openclaw dashboard urlWindows 11 用管理員 PowerShellSet-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser choco install git -y iwr -useb https://open-claw.org.cn/install-cn.ps1 | iex裝完繼續(xù)執(zhí)行和 macOS 相同的 onboard / start / token / dashboard 四條命令。模型配置片段這是 §3 必須給的可復制 JSON。OpenClaw 的配置文件在~/.openclaw/openclaw.json你可以直接編輯也可以用openclaw config set逐項寫。下面是走 TaoToken 統(tǒng)一入口的完整 JSON 結構{ agents: { defaults: { model: { primary: taotoken/qwen3.5-plus } } }, providers: { taotoken: { baseurl: https://taotoken.net/api, apikey: sk-你的TaoToken-Key, temperature: 0.7, maxTokens: 2048 } } }如果你要分別對接千問原生和 Coding Plan用命令行寫# 千問方向 openclaw config set agents.defaults.model.primary dashscope-api/qwen3.5-plus openclaw config set providers.dashscope-api.apikey sk-你的千問Key openclaw config set providers.dashscope-api.baseurl https://dashscope.aliyuncs.com/compatible-mode/v1 openclaw config set providers.dashscope-api.temperature 0.7 openclaw config set providers.dashscope-api.maxTokens 2048 # Coding Plan 方向 openclaw config set agents.defaults.model.primary coding-plan/qwen3.5-plus openclaw config set providers.coding-plan.apikey sk-sp-你的CodingPlanKey openclaw config set providers.coding-plan.baseurl https://coding.dashscope.aliyuncs.com/v1 openclaw config set providers.coding-plan.temperature 0.7 openclaw config set providers.coding-plan.maxTokens 1024 openclaw gateway restart三件套對照表配任何 provider 都按這個填配置項含義示例值baseurl接口根地址https://taotoken.net/apiapikey鑒權密鑰sk-xxxxxxxxmodel.primary主模型 IDtaotoken/qwen3.5-plus改完配置必須openclaw gateway restart否則不生效。這一步漏掉的人特別多表現(xiàn)為「配置明明改了但請求還是走舊模型」。4. 驗證請求從連通性到真實對話配完不驗證等于沒配。這一節(jié)給逐項驗證動作每一步都有預期結果對不上就往下看排障。第一步確認服務在跑openclaw gateway status預期輸出里有running和當前端口號。如果是stopped先openclaw gateway start --daemon。第二步驗證 provider 配置讀到了openclaw config get providers.taotoken.baseurl openclaw config get agents.defaults.model.primary兩條命令分別回顯你填的 Base URL 和 Model ID。如果回顯為空說明配置沒寫進去檢查 JSON 文件路徑和語法。第三步發(fā)一條真實請求。OpenClaw 提供 CLI 直連測試openclaw chat --message 用一句話說明你現(xiàn)在用的是哪個模型預期返回一段自然語言且內(nèi)容里能看出模型身份。如果這里報錯基本就是 Key 或 Base URL 的問題。第四步走 HTTP 層驗證排除 OpenClaw 封裝干擾curl -X POST https://taotoken.net/api/v1/chat/completions \ -H Authorization: Bearer sk-你的Key \ -H Content-Type: application/json \ -d { model: qwen3.5-plus, messages: [{role: user, content: ping}] }預期返回 JSONchoices[0].message.content里有內(nèi)容。這一步通了說明 Key、Base URL、模型 ID 三件套全對問題只可能在 OpenClaw 側。第五步WebUI 端到端。打開openclaw dashboard url給的地址登錄后在對話框發(fā)一條消息看是否正常返回。WebUI 通了整條鏈路就閉環(huán)了。驗證順序建議嚴格按「服務狀態(tài) → 配置回顯 → CLI 請求 → HTTP 請求 → WebUI」走哪一步斷掉就鎖定哪一層別一上來就懷疑模型。我踩過的坑是HTTP 層通了但 WebUI 不通最后發(fā)現(xiàn)是瀏覽器緩存了舊的 Token清一下就好。5. 常見報錯逐項排查這一節(jié)按真實報錯對照每條都給定位方法和修復動作。401 Unauthorized。最常見Key 錯了或沒帶上。先確認providers.xxx.apikey的值和 TaoToken 控制臺里的一致注意前后不能有空格。然后確認請求頭是Authorization: Bearer sk-xxxBearer 后面有一個空格。如果 Key 是從網(wǎng)頁復制的檢查有沒有把換行符帶進去。修復后openclaw gateway restart。local proxy failed。這個報錯通常出現(xiàn)在本地部署且配了代理類中間層時。OpenClaw 2026 版本對本地回環(huán)地址的請求有校驗如果你的 Base URL 指向了本機某個轉發(fā)端口會被攔。解決方法是把 Base URL 直接指向 https://taotoken.net/api 不要經(jīng)過本地轉發(fā)。同時檢查環(huán)境變量里有沒有殘留的HTTP_PROXY/HTTPS_PROXY有就 unset 掉再重啟服務。reading choices 報錯。典型表現(xiàn)是Cannot read properties of undefined (reading choices)。這說明請求發(fā)出去了但返回體結構不對——大概率是 Base URL 少了/v1或多了/v1。TaoToken 的根地址是 https://taotoken.net/api OpenClaw 內(nèi)部會拼/v1/chat/completions所以 baseurl 填到/api為止不要再加/v1。填錯就會拿到非預期響應解析 choices 時崩掉。OAuth 相關報錯。如果你用的是 Claude Code 類工具對接報 OAuth 失敗檢查是不是把 Anthropic 兼容入口和普通 API 入口混用了。Claude Code 場景走 https://taotoken.net/claudecode-anthropic?utm_sourcetaotoken_aicg_blog_endutm_contentclaudecode-anthropicutm_campaignrewrite 對應的配置方式Key 從 https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi-keysutm_campaignrewrite 拿。普通 OpenClaw 對話不需要 OAuth用 Bearer Key 即可。服務啟動失敗。先node -v確認是 22.x。Linux 上如果版本低curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash - sudo apt install -y nodejs再openclaw gateway start --daemon。Windows 上如果 PowerShell 報執(zhí)行策略錯誤回到 §3 的Set-ExecutionPolicy那步。Web 控制臺打不開。三個檢查點地域是否免備案、隨機端口是否放行firewall-cmd --list-ports看有沒有你拿到的那個端口、服務是否 running。三條都過還打不開openclaw gateway restart再來一次。數(shù)據(jù)備份。配置和技能數(shù)據(jù)都在~/.openclaw/下定期備份cp ~/.openclaw/openclaw.json ~/.openclaw/openclaw-backup.json cp -r ~/.openclaw/skills ~/.openclaw/skills-backup排障時如果涉及 Cline MCP 或 Codex auth.json 的配置記住三件套必須齊全Base URL、Key、Model ID缺一個都會報鑒權或模型找不到。CC Switch 切換 provider 后同樣要 restart。6. 長期跑起來把配置固化下來部署通了只是開始長期穩(wěn)定運行還得做幾件事。第一把模型配置寫進版本管理但 Key 用環(huán)境變量注入別硬編碼在 JSON 里。OpenClaw 支持讀環(huán)境變量你可以在啟動腳本里export TAOTOKEN_KEYsk-xxx配置文件里寫apikey: ${TAOTOKEN_KEY}。第二阿里云實例設個快照策略每周自動備份系統(tǒng)盤。本地的話~/.openclaw/目錄加進你的同步盤或 git 私倉。第三監(jiān)控端口和進程。簡單做法是加一條 cron*/5 * * * * openclaw gateway status | grep -q running || openclaw gateway start --daemon第四模型切換不用重裝。想從千問換到 Coding Plan只改agents.defaults.model.primary和對應 provider 的 apikeyrestart 即可。長期編碼 / Agent 高頻場景建議直接上 Coding Plan入口 https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding-planutm_campaignrewrite 額度更穩(wěn)。最后給一個我常用的驗證腳本每次改完配置跑一遍五秒確認鏈路健康#!/bin/bash echo 服務狀態(tài) openclaw gateway status echo 當前模型 openclaw config get agents.defaults.model.primary echo 連通性 curl -s -o /dev/null -w %{http_code} -X POST https://taotoken.net/api/v1/chat/completions \ -H Authorization: Bearer $TAOTOKEN_KEY \ -H Content-Type: application/json \ -d {model:qwen3.5-plus,messages:[{role:user,content:ping}]} echo 返回 200 就說明整條鏈路是通的。把這套流程跑順之后OpenClaw 在阿里云和本地三系統(tǒng)上的部署差異其實就只剩安裝和端口兩步模型配置完全通用。