尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

openclaw 本地部署实战:网关启动 + 本地模型接入完整步骤(TaoToken 配置版)

openclaw 本地部署实战:网关启动 + 本地模型接入完整步骤(TaoToken 配置版) 1. 为什么要在本地跑 openclaw以及它到底解决什么问题openclaw 是一个把「网关 多模型路由 本地/云端模型统一接入」打包在一起的工具。你可以把它理解成一个本地的模型调度中枢上游对接 LM Studio、Ollama 这类本地推理服务或者对接云端 API下游给编辑器、Agent、脚本提供统一的 OpenAI 兼容接口。它适合三类人一是想在本地跑模型、又不想每次改配置的开发者二是手里有多个模型来源、想统一 Key 和入口的人三是做 Agent 或编码助手、需要一个稳定网关层的人。我这次的目标很明确在本地把 openclaw 网关跑起来然后接入 LM Studio 里的本地模型同时用 TaoToken 作为统一 Key/API 通道避免在多个配置文件里反复填不同厂商的地址和密钥。整套流程走完你会得到一个可复制的config.toml骨架、一份settings.json片段以及网关启动验证和本地模型连通性测试的具体命令。先说清楚一个容易混淆的点openclaw 本身不生产模型它只做路由和协议转换。本地模型由 LM Studio 或 Ollama 提供openclaw 负责把请求转发过去并把返回结果按 OpenAI 格式吐回来。所以「本地部署」其实是两件事部署 openclaw 网关以及部署本地推理服务。两者都通了才算真正跑通。环境前提Node.js 22、pnpm 包管理器、一个能正常加载模型的 LM Studio或 Ollama。如果你还没装 LM Studio先去官网下载加载一个模型并启动本地服务默认端口是 1234。这一步不做后面 openclaw 连不上任何东西。2. TaoToken 前置统一 Key 与 API 通道怎么准备在动手改配置之前先把 TaoToken 这条通道准备好。它的作用是给你一个统一的 API 入口和 Keyopenclaw 里所有需要「云端兜底」或「统一鉴权」的地方都指向它这样你就不用为每个模型厂商单独维护一套密钥。第一步打开官网 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 注册并登录。登录后进入控制台 https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_contentconsoleutm_campaignrewrite 在「API Keys」页面创建一个新的 Key。创建时建议按用途命名比如openclaw-local方便以后区分。第二步拿到 Key 之后记住 API 基础地址是 https://taotoken.net/api 这个地址不加 UTM 参数直接用于配置。这个地址就是 openclaw 里要填的baseUrl。Key 的格式通常是一串以sk-开头的字符串复制下来等会儿填进配置文件。第三步如果你打算用 Coding Plan 做长期编码或 Agent 场景可以在控制台里看一下套餐说明 https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding-planutm_campaignrewrite 。本地模型负责日常轻量推理TaoToken 负责需要更强模型时的兜底这个组合在实测里比较省心。注意Key 只创建一次就够不要在每个配置文件里重复粘贴不同 Key。统一用一个出问题好排查。到这里前置就完成了。你手里应该有三样东西一个 TaoToken Key、API 地址https://taotoken.net/api、以及一个已经启动的 LM Studio 本地服务端口 1234。3. 可复制配置config.toml 骨架与 settings.json 片段openclaw 的配置分两层网关层用config.toml模型层可以用~/.openclaw/config.yaml或~/.openclaw/openclaw.json。下面给出一份可以直接抄的骨架你只需要替换 Key 和模型 ID。先看网关层的config.toml# ~/.openclaw/config.toml [gateway] host 127.0.0.1 port 18789 log_level info [providers.taotoken] type openai-completions base_url https://taotoken.net/api api_key sk-你的TaoTokenKey default_model gpt-4o-mini [providers.lmstudio] type openai-completions base_url http://localhost:1234/v1 api_key lm-studio default_model gpt-oss-120b [routing] # 本地优先云端兜底 strategy local-first fallback taotoken这份配置里providers.taotoken指向 TaoToken 的统一通道providers.lmstudio指向本地推理服务。routing.strategy设为local-first意思是优先走本地模型本地不可用时自动切到 TaoToken。这个策略在实测里对延迟和成本都友好。再看模型层的~/.openclaw/openclaw.json片段{ models: { mode: merge, providers: { lmstudio: { baseUrl: http://localhost:1234, api: openai-completions, models: [ { id: gpt-oss-120b, name: GPT OSS 120B, reasoning: true, input: [text], cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 }, contextWindow: 200000, maxTokens: 32768 } ] }, taotoken: { baseUrl: https://taotoken.net/api, api: openai-completions, models: [ { id: gpt-4o-mini, name: TaoToken GPT-4o mini, input: [text], contextWindow: 128000, maxTokens: 16384 } ] } } } }关键点说明mode设为merge表示本地模型和云端模型合并到同一个模型列表里不会互相覆盖。id必须和 LM Studio 里实际加载的模型 ID 完全一致大小写敏感。cost字段对本地模型填 0因为不产生费用。如果你用的是config.yaml而不是openclaw.json结构是一样的只是换成 YAML 缩进写法models: mode: merge providers: lmstudio: baseUrl: http://localhost:1234 api: openai-completions models: - id: gpt-oss-120b name: GPT OSS 120B reasoning: true input: [text] cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 } contextWindow: 200000 maxTokens: 32768配置写完后把本地模型设为默认pnpm openclaw models set lmstudio/gpt-oss-120b网关会自动热重载不需要手动重启。这一步做完模型列表里应该同时能看到lmstudio/gpt-oss-120b和taotoken/gpt-4o-mini。4. 网关启动与本地模型连通性验证配置就绪后开始启动网关。先安装依赖如果还没装git clone https://github.com/openclaw/openclaw.git cd openclaw pnpm install pnpm dev然后启动网关服务pnpm openclaw gateway run --port 18789如果提示端口被占用先停掉旧实例再重启pnpm openclaw gateway stop pnpm openclaw gateway run --port 18789网关起来后获取 Dashboard 访问链接pnpm openclaw dashboard --no-open输出类似Dashboard URL: http://127.0.0.1:18789/#tokenxxxxxx把完整 URL含#token...粘贴到浏览器就能进入 Control UI 页面。这一步是验证网关是否真正在监听的最直接方式。接下来验证本地模型连通性。用 curl 直接打网关的 OpenAI 兼容接口curl http://127.0.0.1:18789/v1/chat/completions \ -H Content-Type: application/json \ -H Authorization: Bearer sk-你的TaoTokenKey \ -d { model: lmstudio/gpt-oss-120b, messages: [{role: user, content: 用一句话说明你是什么模型}], stream: false }如果返回里有正常的choices[0].message.content说明本地模型接入成功。再测一次 TaoToken 通道curl http://127.0.0.1:18789/v1/chat/completions \ -H Content-Type: application/json \ -H Authorization: Bearer sk-你的TaoTokenKey \ -d { model: taotoken/gpt-4o-mini, messages: [{role: user, content: ping}], stream: false }两条都通说明网关、本地模型、TaoToken 三条链路全部打通。实测下来本地模型首次请求会有几秒加载延迟之后响应很快。5. 本篇常见错排查端口 18789 被占用最常见。先pnpm openclaw gateway stop再lsof -i :18789确认没有残留进程然后重新gateway run。如果确实被别的服务占用换端口--port 18790同时改config.toml里的port。LM Studio 连不上Connection refused检查 LM Studio 是否真的启动了本地服务默认端口 1234。在 LM Studio 里打开「Local Server」面板确认状态是 Running。另外注意baseUrl要不要带/v1openclaw 的openai-completions类型通常会自动补/v1如果报 404试着把baseUrl改成http://localhost:1234或http://localhost:1234/v1各试一次。模型 ID 不匹配id必须和 LM Studio 里加载的模型标识完全一致。在 LM Studio 的模型列表里复制准确的 ID不要手打。大小写、连字符、版本号都要对上。TaoToken 返回 401Key 填错或过期。去控制台 https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi-keysutm_campaignrewrite 重新生成一个替换config.toml里的api_key。注意不要有多余空格。网关热重载没生效改完配置后如果模型列表没更新手动重启一次网关。pnpm openclaw models set之后一般会自动热重载但config.toml的结构性改动建议重启。Dashboard 打不开确认 URL 里的#token部分完整复制了。token 是临时凭证重启网关后会变重新执行dashboard --no-open获取新链接。6. 后续怎么用把 openclaw 接进你的工作流网关跑通之后你的编辑器、Agent、脚本都可以指向http://127.0.0.1:18789/v1用统一的 Key 调用。本地模型负责日常轻量任务遇到复杂推理时通过routing.fallback自动切到 TaoToken。这套组合的好处是本地零成本、云端兜底、配置只维护一份。如果你要长期做编码或 Agent 场景建议看一下 Coding Plan https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding-planutm_campaignrewrite 配合本地模型做分层调度。接入文档在 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite 里面有完整的接口说明和参数对照。想先验证模型效果可以直接用模型对话 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_contentmodel-chatutm_campaignrewrite 试几条 prompt确认通道正常再写进配置。最后提醒一句config.toml和openclaw.json里的 Key 不要提交到 Git。本地开发用环境变量注入更稳妥比如api_key ${TAOTOKEN_API_KEY}然后在 shell 里 export。这样换机器、换 Key 都不用改配置文件。
返回列表