OpenClaw Windows部署:自定义模型接入、Gateway远程访问与设备配对
前言
这篇从 Windows 本地环境开始部署 OpenClaw,完整保留 Node.js、Git、PowerShell 脚本、模型 Provider、Gateway、Web UI 以及远程访问配置。Node.js 通过 nvm 管理,示例使用 Node 22;OpenClaw 通过 PowerShell 安装脚本完成初始化。
模型部分采用 Custom Provider,填写 OpenAI-compatible API Base URL、API Key 与模型 Code。首次对话遇到上下文限制后,再修改 C:\Users\admin\.openclaw\openclaw.json 中的 contextWindow 与 maxTokens,重新验证模型调用。
功能验证继续保留两个实际任务:本地文件定位与桌面操作、HTML 页面生成与本地运行,并记录第一次公网地址 404 后继续修正的过程。
最后处理 OpenClaw Gateway 的 18789 公网入口,依次解决 origin not allowed、Gateway Token 和 Device pairing,再切换固定二级子域名。
整篇重点放在“环境—模型—配置修正—Agent执行—Gateway—配对”这条实际链路上,同时把系统权限、令牌和远程入口的安全边界说清楚。
对于第一次部署这类本地 Agent 的用户来说,把“安装是否成功、模型是否能调用、Gateway 是否正常、任务是否真的执行、远程设备是否被批准”分开验证非常重要。这样遇到问题时,才能判断到底是模型参数、工具调用、网络入口还是设备认证出了问题。
另外,OpenClaw 后续能接触本地文件和桌面工具,所以远程访问不能只追求方便。API Key、Gateway Token、允许的 Origin 和设备配对,都应该和功能验证放在同一条部署链里考虑。

1 OpenClaw更值得看的,是“Agent真正开始执行”
OpenClaw 可以把大模型、Gateway、消息渠道和本地工具连接起来。
它和普通聊天页面最大的区别,不是界面,而是后面还可以继续接本地文件、桌面工具、消息平台、Skills、Hooks 和 Gateway。
所以我更愿意把它理解成:
大模型负责理解任务,OpenClaw负责把任务接到具体执行环境里。
这也意味着它的能力越强,权限边界越重要。
2 Windows先准备Node.js和Git
这次先手动准备 Node.js 和 Git。
2.1 用nvm安装Node.js
打开 nvm-windows 的版本页面:
https://github.com/coreybutler/nvm-windows/releases/tag/1.2.2

下载 nvm-setup.exe 后开始安装:

安装目录示例:
D:\nvm

Node.js 下载位置也放在 nvm 目录:

其余选项保持当前流程继续安装:

安装完成后,打开:
D:\nvm\settings.txt
加入镜像配置:
node_mirror: https://npmmirror.com/mirrors/node/
npm_mirror: https://npmmirror.com/mirrors/npm/

保存以后,打开 CMD 检查 nvm:
nvm -v

然后安装并启用 Node 22:
nvm install 22
nvm use 22.20.0
node -v
npm -v

这里的 22.20.0 是这次操作使用的版本。
如果以后重新部署,实际可用版本仍应以当时环境为准。
2.2 安装Git
接着安装 Git:

下载后启动安装程序:

保持当前流程一路安装:

最后检查:
git --version

Node.js 和 Git 都正常以后,再继续 OpenClaw。
3 PowerShell先解决脚本执行策略
按 Win + X 打开终端或 PowerShell:

如果出现“禁止运行脚本”:

执行:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

重新打开 PowerShell:

这里修改的是当前用户的 PowerShell 执行策略。
执行远程安装脚本前,最好确认脚本来源和内容,尤其不要把陌生地址直接当作固定可信入口。
4 执行OpenClaw安装脚本
在 PowerShell 中执行:
iwr -useb https://openclaw.ai/install.ps1 | iex

安装过程:

初始化时确认风险提示:

然后选择 QuickStart:

接下来进入 AI Provider 配置。
5 给OpenClaw接一个模型
来到模型供应商选择:

这次使用 Custom Provider 思路,模型平台只是示例。
示例中先进入模型服务页面:

页面里还有活动和额度相关内容:

这类免费额度、活动金额和注册权益都可能变化,所以更重要的是理解:
OpenClaw需要一个可用的 API Provider,而不是依赖某个固定优惠。
创建 API Key:

复制 Key:

然后回到 OpenClaw,选择 Custom Provider:

6 配置API Base URL、Key和模型Code
API Base URL 使用:
https://api.siliconflow.cn/v1

然后填写 API Key:

接口兼容类型选择 OpenAI-compatible:

接着选择模型 Code:

这次示例填写 Pro/MiniMaxAI/MiniMax-M2.5。
验证:

出现 Verification successful,说明当前 Provider 可以被 OpenClaw 调用。
继续设置 Endpoint ID 和模型别名:

消息渠道先跳过:

Skills 也先不展开:

Hooks 这里按示例启用:

然后安装并启动 Gateway:

选择 Open the Web UI:

到这里,安装和模型接入已经完成,但还不能只看“页面能打开”。
还要真正问一次模型。
7 第一次对话就遇到了配置问题
测试问题:
你好,你是谁?你当前运行在什么操作系统上?接入你的大模型是什么?请你详细回答,谢谢!
结果:

这次并没有直接正常回答。
问题出在自定义模型配置的上下文参数。
回到 PowerShell,可以看到配置文件位置:

示例路径:
C:\Users\admin\.openclaw\openclaw.json
打开目录:

再用文本编辑器打开配置文件:

找到模型部分,修改:
"contextWindow": 200000,
"maxTokens": 8192

保存后,再问一次同样的问题:
你好,你是谁?你当前运行在什么操作系统上?接入你的大模型是什么?请你详细回答,谢谢!

继续查看结果:

这次已经可以正常回答。
这一段很值得保留,因为它说明:
模型 API 能验证成功,不代表 OpenClaw 的上下文参数一定已经适配当前模型。
遇到问题时,要继续看配置,而不是简单归结为“模型不能用”。
8 真正的Agent验证:先让它找本地文件
接下来不只聊天,开始给它一个本地任务:
我昨天在桌面上放了一个带“元旦”两个字的 docx 方案文件,你帮我找一下,找到后直接发送给我。

第一次并没有直接把文件发到当前聊天窗口。
继续交互:

后面的演示里,它继续操作桌面环境,定位微信和文件传输助手:

进一步解释执行过程:

这次示例展示的是:
OpenClaw能够把自然语言任务继续连接到本机已有工具和操作流程。
但桌面自动化会受到系统环境、窗口状态、应用版本、权限和焦点位置影响。
一次成功演示不等于任何电脑上都能稳定复现。
9 第二个任务:让它写网页并本地运行
接着测试更完整的开发任务:
帮我写一个个人简历的 HTML 页面,样式要做得现代、好看一点。
我的具体信息如下:
- **姓名**:苏苏
- **求职意向**:新媒体运营专员
- **个人优势**:熟悉各大自媒体平台规则,脑洞大,能独立完成爆款图文及短视频策划。
- **工作经历**:
1. 2023.07-至今,在某某文化传媒公司担任新媒体运营,负责公司小红书账号0-1起盘,单月涨粉超5万。
2. 2022.03-2023.06,在某某科技公司担任新媒体实习生,参与策划过百万播放量的短视频项目。
- 帮我简单补充一些排版需要的背景或细节部分。
写完后,帮我在 D 盘新建一个叫 resume 的文件夹把它放进去,然后想办法直接把它在本地运行起来,最后发给我一个能在浏览器里直接点开预览的网页链接。

结果里,它完成了页面生成并尝试启动服务。
打开本地地址:

这一步说明生成结果已经在当前电脑上跑起来。
接下来继续要求它把局域网页面变成公网地址:
你给我的这个是局域网地址,我无法查看,我现在在外面,我的电脑上好像有cpolar,你看一下,你把这个穿出来给我,要公网地址我才可以访问

第一次给出的地址:
https://2da332f.r3.nas.cpolar.cn
访问:

结果是 404。
这反而比“一次成功”更有价值。
继续反馈:
我访问你给我的这个链接显示404,没有看到页面

OpenClaw 再次调整以后,给出新的地址:
https://15d2d9c9.r3.nas.cpolar.cn

第二次地址可以打开。
这一段真正展示的是:
Agent不是只生成代码,还在尝试把本地服务、现有工具和网络入口串成一条执行链。
但流程里也出现了第一次 404,所以不适合写成“全自动一次成功”。
10 这类本地Agent为什么必须强调权限
到这里,OpenClaw已经碰到了本地文件、桌面应用、网页代码、本地服务和网络工具。
所以权限越大,越应该先明确边界。
至少要注意:
- API Key 不公开;
- Gateway Token 不公开;
- 不给不信任的人访问 Web UI;
- 重要文件先备份;
- 高风险动作尽量保留人工确认;
- 不要把测试环境中的权限配置直接搬到重要工作机上。
如果只是第一次体验,最好先从测试目录和低风险任务开始。
11 安装cpolar准备远程访问Gateway
接下来处理远程访问。
cpolar 介绍图:

下载 Windows 版本:

安装以后检查:
cpolar version

注册账号:

注册页面:

然后浏览器访问:
http://127.0.0.1:9200

登录 Web UI:

12 把OpenClaw Gateway的18789映射出去
OpenClaw Gateway 这次使用 18789。
默认隧道列表:

编辑 HTTP 隧道,把本地地址设置为 18789:

然后查看在线隧道:

这里截图中的隧道名称出现了 astrbot-6185,和本文 OpenClaw / 18789 的命名并不一致。
实际操作时应该以自己刚刚配置的 OpenClaw 隧道为准。
访问公网 HTTPS 地址:

页面能打开,但出现:
origin not allowed (open the Control UI from the gateway host or allow it in gateway.controlUi.allowedOrigins)
这说明网络入口已经到了 OpenClaw Gateway,只是 Origin 还没有被允许。
13 解决origin not allowed
可以让 OpenClaw 帮助修改自身配置。
示例指令:
# 将对话中的域名,修改为您cpolar穿透后对应的公网域名地址
我将openclaw的webui界面18789端口通过cpolar穿透至公网了,域名地址是:https://1cf1b8b8.r1.cpolar.top,但是访问页面提示origin not allowed需要在网关.controlUi.allowedOrigins中允许它,请你帮我修改一下openclaw的配置文件允许它,改完后并且重启openclaw网关

修改完成并重启 Gateway:

再次访问:

这一次错误发生变化。
说明 Origin 问题已经解决,接下来进入 Token 校验。
14 Gateway Token不能跳过
回到本地 OpenClaw 概览页复制 Gateway Token:

在公网页面中填写:

点击连接以后,出现:
pairing required
此设备需要网关主机的配对批准。
openclaw devices list
openclaw devices approve <requestId>
在手机上?从桌面运行 openclaw dashboard --no-open 复制完整 URL(包括 #token=...)。
Docs: Device pairing
说明当前设备还没有得到 Gateway 主机批准。
这不是故障,而是设备配对流程。
15 批准新设备配对
回到 CMD 或 PowerShell:
openclaw devices list
# 注意需要将 <requestId> 替换成 Request 中的id字符串
openclaw devices approve <requestId>

执行批准后:

健康状态正常。
再进行对话:

到这里,远程访问链路才真正完整:
公网地址 → allowedOrigins → Gateway Token → Device pairing → 正常连接。
这个顺序比只写“穿透成功”重要得多。
16 长期使用再配置固定域名
如果需要固定地址,进入预留页面:
https://dashboard.cpolar.com/reserved

示例中预留:
- 地区:
China Top - 二级域名:
openclaw
然后编辑 OpenClaw 隧道:

修改为二级子域名:

在线隧道列表:

访问固定 HTTPS 地址:

因为域名发生了变化,allowedOrigins 也要跟着更新。
示例指令:
# 将对话中的域名,修改为您cpolar穿透保留后对应的公网域名地址
请你修改一下openclaw的配置文件中allowedOrigins项原来的允许的域名【https://1cf1b8b8.r1.cpolar.top】修改为【https://openclaw.cpolar.top】,改完后并重启openclaw网关

重新填写 Gateway Token,并再次完成设备授权:

这样固定域名下的远程访问才恢复正常。
17 这篇真正跑通了什么
从这次操作看,已经完成的链路包括:
- Windows 安装环境;
- Node.js 与 Git;
- OpenClaw 安装;
- 自定义模型 Provider;
- API Key 与模型 Code;
- Gateway;
contextWindow / maxTokens修正;- 本地文件与桌面操作示例;
- HTML 页面生成和本地运行;
- 外部地址访问尝试;
- Gateway 公网映射;
allowedOrigins;- Gateway Token;
- Device pairing;
- 固定域名切换。
真正值得看的不是“AI能做任何事”。
而是:
它已经开始从语言模型走向一个有执行环境、有权限、有工具链、有远程入口的 Agent。
18 哪些宣传性结论不应该写得太满
像“30分钟必定部署完成”“所有任务都能自动完成”“任意电脑都能稳定接管”“永远在线”“绝对安全”“零成本长期使用”,都不适合作为这篇的确定结论。
因为实际耗时、模型能力、桌面环境、网络、API 额度、工具权限都会影响结果。
这篇更准确的结论应该是:
Windows 上已经把 OpenClaw 从安装、模型接入一路跑到实际工具执行和 Gateway 远程访问,并记录了中途真实遇到的配置和连接问题。
总结
整套流程可以拆成四层:Windows 与 Node.js 提供运行环境,自定义 Provider 提供模型能力,Gateway 负责 OpenClaw 的本地服务与控制入口,远程访问部分再处理 Origin、Token 和设备配对。
这次不仅验证了模型对话,还继续修正 contextWindow 与 maxTokens,并完成本地文件、桌面操作和网页生成等任务演示。第一次公网页面 404、后续 Gateway 校验也都保留了真实排错过程。
远程访问真正完成的标志,不是公网地址能打开,而是 allowedOrigins 正确、Gateway Token 有效、新设备得到主机批准,并且固定域名变化后对应配置也同步更新。
OpenClaw 的价值更适合落在“让大模型获得可控执行环境”上。能力越接近系统操作,权限、令牌、设备审批和测试边界就越值得优先处理。
转载自 CSDN-专业IT技术社区
原文链接:https://blog.csdn.net/liu_chen_yang/article/details/167683164




