1. 从内网到外网OpenClaw WebUI 访问限制的真实场景OpenClaw WebUI 默认只监听回环地址也就是127.0.0.1这意味着你只能在跑服务的那台机器上用浏览器打开它。一旦你想从笔记本、手机或者另一台内网机器访问页面就会直接拒绝连接。这个设计本身是出于安全考虑但对于需要远程调试、多设备协作或者把 WebUI 挂到公网入口的场景来说第一步就得把bind从loopback改成lan让服务绑定到0.0.0.0。改完绑定只是解决了“能不能连上”的问题真正决定你能不能稳定用起来的是鉴权链路。OpenClaw WebUI 支持 token 模式而 token 背后指向的模型通道如果每个项目都单独配一套 Key维护成本会迅速上升。我试过把 OpenClaw 的模型请求统一走 TaoToken 的 API 通道用一个 Key 覆盖 WebUI 里的对话、代码补全和 Agent 调用这样外网访问时只需要管好一个 token 的轮换和权限不用在多个配置文件里来回改。这篇内容面向的是已经装好 OpenClaw、想让 WebUI 支持局域网或公网访问并且希望用统一 Key 完成鉴权的开发者。你会拿到一份可复制的settings.json骨架、外网访问的验证步骤以及几个高频报错的排查清单。整个链路的目标很明确一次跑通外网访问并且确认 Key 真的生效。2. TaoToken 前置统一 Key 与 API 通道准备在动 OpenClaw 的配置文件之前先把模型通道这一层理清楚。OpenClaw WebUI 本身不生产模型能力它只是一个交互入口真正干活的是背后配置的 API 通道。如果你打算让 WebUI 在外网环境下也能正常对话和跑 Agent就需要一个稳定、可统一管理的 Key 来源。TaoToken 在这里扮演的角色是统一 Key 和 API 通道提供方。你可以在它的控制台里创建一个 API Key然后把 OpenClaw 的模型请求指向 TaoToken 的 API 地址。这样做的好处是WebUI 的settings.json里只需要维护一个 token 字段不用为每个模型供应商单独写一套鉴权配置。对于外网访问场景来说配置面越小出错的概率越低。具体操作上先到 TaoToken 控制台生成一个 API Key。这个 Key 后面会填进 OpenClaw 的配置骨架里作为模型请求的凭证。生成之后先复制保存因为部分控制台只会在创建时完整显示一次。拿到 Key 之后确认你要用的 API 入口地址。TaoToken 的 API 地址是https://taotoken.net/api这个地址会作为 OpenClaw 配置里的baseUrl或者等价的通道字段。注意这里不要加多余的路径后缀OpenClaw 的请求拼接逻辑会自己处理/v1/chat/completions这类端点。如果你后续还要做更细的权限控制比如给不同设备分配不同的 Key可以在控制台的 API Keys 页面里管理。对于长期跑编码和 Agent 的场景也可以了解一下 Coding Plan它更适合高频调用和固定额度的使用方式。但就这篇的外网访问配置而言你只需要一个能用的 API Key 和正确的 API 地址就够了。3. 可复制配置settings.json 骨架与 bind 修改OpenClaw 的配置文件通常位于~/.openclaw/openclaw.json部分版本会在~/.clawdbot/clawdbot.json。如果你不确定路径可以先执行一次clawdbot config path或者直接看启动日志里打印的配置加载路径。下面这份骨架把外网访问需要的几个关键字段都列出来了你可以直接复制后替换 token 和端口。{ gateway: { port: 18789, mode: remote, bind: lan, auth: { mode: token, token: 你的OpenClaw访问Token } }, model: { provider: openai-compatible, baseUrl: https://taotoken.net/api, apiKey: 你的TaoToken API Key, model: claude-sonnet-4-20250514 }, controlUi: { allowInsecureAuth: true } }几个字段需要重点说明。bind从loopback改成lan等价于绑定到0.0.0.0这是外网访问的前提。mode建议从local改成remote部分版本在local模式下会忽略bind的设置。auth.mode保持tokenauth.token是你访问 WebUI 时 URL 里要带的那个 token和 TaoToken 的 API Key 是两个不同的东西不要混用。model这一段是模型通道配置。baseUrl填 TaoToken 的 API 地址apiKey填你在控制台生成的 Key。model字段按你实际要用的模型名填写不同版本的 OpenClaw 对模型名的解析方式略有差异如果启动后报模型不存在优先检查这个字段。如果你更习惯用命令行改也可以不走手动编辑clawdbot config set gateway.bind lan clawdbot config set gateway.mode remote clawdbot config set gateway.controlUi.allowInsecureAuth true clawdbot gateway restart命令行方式的好处是不容易把 JSON 结构改坏尤其是当你的配置文件里已经有其他字段时。改完之后建议用clawdbot config get gateway回读一次确认bind和mode都生效了。注意allowInsecureAuth在部分版本里是允许非本地认证的开关。如果你的 OpenClaw 版本不支持这个字段启动时可能会报未知配置项这时候把它删掉即可不影响 token 鉴权本身。4. 验证请求外网访问与 Key 生效确认配置改完并重启服务后先在本机确认服务确实绑到了0.0.0.0。Linux 下可以用ss -tlnp | grep 18789Windows 下用netstat -ano | findstr 18789。如果看到监听地址是0.0.0.0:18789而不是127.0.0.1:18789说明 bind 修改已经生效。接下来从另一台设备访问。假设服务器局域网 IP 是192.168.1.50浏览器打开http://192.168.1.50:18789/?token你的OpenClaw访问Token如果页面能正常加载出 WebUI 界面说明外网访问链路已经通了。这时候不要急着高兴还要确认模型通道是否真的走了 TaoToken。在 WebUI 里发一条最简单的消息比如“回复 ok”然后观察返回。如果返回正常说明model.baseUrl和apiKey配置正确。想更直接地验证 Key 生效可以绕过 WebUI直接用 curl 打一次 TaoToken 的 APIcurl -X POST https://taotoken.net/api/v1/chat/completions \ -H Authorization: Bearer 你的TaoToken API Key \ -H Content-Type: application/json \ -d { model: claude-sonnet-4-20250514, messages: [{role: user, content: ping}] }如果返回里带有正常的choices字段说明 Key 和 API 地址都没问题。这时候再回到 WebUI 里测试如果 WebUI 报鉴权失败而 curl 正常那问题就出在 OpenClaw 的配置字段上重点检查apiKey有没有写错、baseUrl有没有多写斜杠。首次从公网或新设备访问时OpenClaw 可能会提示pairing required。这是设备授权机制不是配置错误。回到服务器终端执行openclaw devices list openclaw devices approve [设备ID]授权之后刷新页面即可。这个步骤在外网访问里很常见尤其是你换了浏览器或者清了 cookie 之后。5. 本篇常见错排查清单报错一页面打不开连接被拒绝。先确认服务是否真的在跑clawdbot gateway status看进程状态。然后确认bind是不是lan以及防火墙有没有放行 18789 端口。Linux 下ufw allow 18789Windows 下在 Defender 防火墙里加一条入站规则。云服务器还要检查安全组。报错二页面能打开但提示 token 无效。检查 URL 里的?token是否和配置文件里的auth.token完全一致注意不要有多余空格。如果你改过 token 但没重启服务旧 token 仍然生效重启后再试。报错三WebUI 能进但发消息报模型鉴权失败。这种情况多半是model.apiKey或baseUrl的问题。先用上面那段 curl 单独验证 TaoToken 的 Key 是否可用。如果 curl 正常检查 OpenClaw 配置里baseUrl是否写成了https://taotoken.net/api/带了尾部斜杠部分版本拼接后会变成双斜杠导致 404。报错四启动时报未知配置项allowInsecureAuth。说明你的 OpenClaw 版本不支持这个字段直接删掉即可。token 鉴权不依赖这个开关删掉后外网访问仍然可用。报错五公网访问时提示pairing required且 devices list 为空。确认你执行openclaw devices list的终端和跑 gateway 的是同一个用户。如果用 systemd 跑的需要sudo -u 对应用户 openclaw devices list。授权后如果还提示清一下浏览器缓存再刷新。报错六局域网能访问公网不行。这通常是网络层的问题不是 OpenClaw 配置问题。检查端口映射、安全组、以及运营商是否封了对应端口。这种情况下不要反复改settings.json先把网络链路打通。6. 接入文档与后续操作入口外网访问跑通之后你可能会想把这套配置固化下来或者给团队里其他人复用。这时候建议把 OpenClaw 的访问 token 和 TaoToken 的 API Key 分开管理访问 token 控制谁能打开 WebUIAPI Key 控制模型调用额度。两者职责不同轮换周期也不一样。如果你在配置过程中遇到鉴权相关的报错优先去看接入文档里的字段说明大部分字段名和取值范围都有对照表。需要新建或轮换 Key 的时候直接到 API Keys 页面操作生成后替换settings.json里的apiKey再重启服务即可。想先确认模型通道是否正常可以打开模型对话页面发一条测试消息这比在 WebUI 里排查更快。如果你打算长期跑编码任务或者 Agent 工作流Coding Plan 的额度方式会比按次调用更省心适合把 OpenClaw 当成日常工具来用的场景。配置这件事最怕的就是一次改太多字段出了问题不知道是哪个引起的。建议你按这篇的顺序来先改bind和mode确认外网能打开页面再配model段确认 Key 生效最后处理设备授权。每一步都验证过再往下走排障成本会低很多。