1. 为什么要在 Windows 上折腾 OpenClaw
OpenClaw 是一个跑在你自己电脑上的开源 AI 网关,它把大模型的对话能力接到飞书、钉钉、Telegram 这些你天天用的通讯工具里,还能直接读写本地文件、模拟键鼠操作。说白了,它让 AI 从“网页里的聊天框”变成“能替你干活的数字员工”。适合谁?适合手头只有一台 Windows 电脑、想让 AI 帮忙整理文件、写代码、发消息,又不想买云服务器的普通用户。
但这里有个现实问题:OpenClaw 默认只监听本机端口,你在公司、在地铁上根本连不上家里的电脑。所以完整链路是三步——本地部署跑通、cpolar 打通公网、接入统一 API 通道让模型调用稳定。我试过把这套流程走完,中间踩了几个配置坑,下面按顺序拆开讲,每一步都给可复制的命令和配置。
本篇聚焦 Windows + Node.js + Git 的环境,用 cpolar 做内网穿透,模型侧走 TaoToken 的统一 Key/API 通道,避免在多个平台之间反复注册、切换密钥。目标很明确:让你在外面用手机就能指挥家里电脑上的 AI 干活。
2. 前置准备:Node.js、Git 与 TaoToken 通道
2.1 Node.js 与 Git 的安装要点
OpenClaw 依赖 Node.js 22 及以上版本,Git 用来拉取源码。Windows 上推荐用 nvm-windows 管理 Node 版本,方便后续切换。安装 nvm 后,打开settings.txt加入国内镜像,下载会快很多:
node_mirror: https://npmmirror.com/mirrors/node/ npm_mirror: https://npmmirror.com/mirrors/npm/然后在 cmd 里执行:
nvm install 22 nvm use 22.20.0 node -v npm -vGit 直接去官网下载安装包,一路 Next 即可,装完用git --version验证。这两步没有太多玄机,唯一要注意的是 PowerShell 默认禁止运行脚本,部署前先执行一次:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser2.2 为什么模型侧要走 TaoToken 统一通道
OpenClaw 支持自定义 Provider,你可以填任何兼容 OpenAI 协议的 Base URL。问题在于,如果你同时用 Claude、千问、硅基流动,就得维护多套 Key、多个 Base URL,配置文件里改来改去很容易出错。TaoToken 的思路是提供一个统一的 API 入口,你只需要一个 Key,就能在模型对话、Coding Plan、API Keys 之间切换不同模型。
对 OpenClaw 这种需要长期稳定调用的场景来说,统一通道的好处是:配置文件里只写一个 Base URL 和一个 Key,换模型时改模型名就行,不用动鉴权部分。注册和拿 Key 的入口在官网 https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= ,API 地址是 https://taotoken.net/api ,注意这个地址后面不加 UTM 参数。
3. 可复制配置:OpenClaw 接入 TaoToken
3.1 一键部署与 Provider 选择
在 PowerShell 里执行官方脚本:
iwr -useb https://openclaw.ai/install.ps1 | iex初始化时选择 QuickStart,到了“AI 大脑供应商”这一步,选 Custom Provider,然后填 TaoToken 的 Base URL:
https://taotoken.net/api粘贴你在控制台创建的 API Key,接口类型选 OpenAI-compatible,模型 Code 填你要用的模型名,比如claude-sonnet-4-20250514或qwen-max。验证通过后会提示 Verification successful。
3.2 config.toml 与 settings.json 骨架
OpenClaw 的主配置文件在C:\Users\你的用户名\.openclaw\openclaw.json。模型部分的关键参数是contextWindow和maxTokens,默认 4096 会导致长对话报错,建议改成:
{ "models": { "provider": "custom", "baseUrl": "https://taotoken.net/api", "apiKey": "你的TaoToken密钥", "model": "claude-sonnet-4-20250514", "contextWindow": 200000, "maxTokens": 8192 }, "gateway": { "port": 18789, "controlUi": { "allowedOrigins": [] } } }如果你用的是 TOML 格式的配置骨架,对应写法是:
[model] provider = "custom" base_url = "https://taotoken.net/api" api_key = "你的TaoToken密钥" model = "claude-sonnet-4-20250514" context_window = 200000 max_tokens = 8192 [gateway] port = 18789allowedOrigins先留空,等 cpolar 生成公网域名后再往里加,这样能避免一开始就放开所有来源。
4. 验证请求:从本地对话到公网访问
4.1 本地连通性验证
配置保存后重启网关,在 Web UI 里发一条测试消息:
你好,你是谁?你当前运行在什么操作系统上?接入你的大模型是什么?如果模型能正确回答出 Windows 和模型名,说明 TaoToken 通道已经通了。如果报上下文超限,回去检查contextWindow是否生效。
4.2 cpolar 隧道启动与公网验证
cpolar 安装后用cpolar version确认,然后访问http://127.0.0.1:9200登录后台。在隧道管理里编辑 website 隧道,本地地址填 18789,协议选 http,地区选 China Top。启动后在线隧道列表会给出一个 https 地址,类似:
https://1cf1b8b8.r1.cpolar.top第一次访问会报origin not allowed,这是正常的。回到本地 OpenClaw 对话,让它帮你改配置:
我将 openclaw 的 18789 端口通过 cpolar 穿透至公网,域名是 https://1cf1b8b8.r1.cpolar.top, 访问提示 origin not allowed,请帮我修改配置文件允许它,并重启网关。网关重启后再访问,会提示需要网关令牌。从本地 Web UI 的概览菜单复制令牌,粘贴到公网页面点连接。如果出现pairing required,在终端执行:
openclaw devices list openclaw devices approve <requestId>把 requestId 替换成列表里的实际 ID,批准后健康状态变为正常,公网对话就通了。
5. 本篇常见错排查
5.1 origin not allowed 与 pairing required
这两个报错几乎每个人都会遇到。origin not allowed的原因是网关默认只允许本机来源,解决办法就是把 cpolar 生成的域名加进allowedOrigins。pairing required是新设备首次连接需要主机批准,执行openclaw devices approve即可。注意每次 cpolar 免费版换域名后,都要重新加一次 allowedOrigins。
5.2 模型验证失败与上下文超限
如果 Custom Provider 验证时报 401,先检查 Key 是否复制完整、Base URL 是否写成https://taotoken.net/api而不是带路径的地址。如果对话到一半报 token 超限,就是contextWindow没改,默认 4096 对长任务不够用。另外 cpolar 免费版每 24 小时换一次域名,长期用建议在预留页面保留二级子域名,把域名类型改成二级子域名后更新隧道,这样地址就固定了。
6. 长期使用建议与入口
跑通之后,如果你打算让 OpenClaw 长期接管编码、文件整理这类任务,建议把模型调用切到 Coding Plan 通道,配额和稳定性更适合高频场景。日常验证模型是否正常,可以直接用模型对话页面发一条测试消息。需要管理多个 Key 或查看用量,去 API Keys 控制台。接入文档里有完整的参数说明和示例,遇到配置问题先翻文档比到处搜更快。
把网关令牌保管好,别发到公开群里。公网地址加上令牌就等于你家电脑的钥匙,这一点比什么配置技巧都重要。