1. Windows 装 OpenClaw 到底卡在哪
OpenClaw 是一个跑在本地、能接管终端与浏览器操作的开源 Agent 框架,你可以把它理解成「住在你电脑里的自动化助手」:给它一个目标,它会自己拆步骤、调工具、执行命令。它适合谁?适合想在 Windows 上做本地 Agent 实验、又不想把数据全丢到云端的开发者,也适合需要统一管理多个模型 Key 的团队。
但 Windows 原生环境装它,坑比 Linux 多得多。核心矛盾在于:OpenClaw 的安装脚本、守护进程、终端交互逻辑基本是按 Unix 写的,直接丢进 PowerShell 会各种水土不服。我实测下来,最稳的路线是WSL2 + npm 全局安装 + TaoToken 统一 Key,三步走完一次跑通。
这篇就按这条链路拆:先确认 WSL 和 npm 环境是否干净,再通过 TaoToken 把模型通道统一收口,最后给出可复制的config.toml骨架和settings.json片段,以及装完后的连通性验证动作。全程命令可直接粘贴,遇到报错也有对应排查。
需要提前说明一点:OpenClaw 本身不绑定任何特定模型供应商,它通过base_url+api_key对接任意兼容 OpenAI 协议的服务。所以「统一 Key」这件事,本质是让 OpenClaw 只认一个入口,后面换模型、换通道都不用改 Agent 配置。
2. 前置环境:WSL 与 npm 的确认动作
2.1 确认 WSL2 已就绪
在 Windows 终端(管理员)里执行:
wsl --list --verbose正常输出应该看到类似:
NAME STATE VERSION * Ubuntu-22.04 Running 2如果 VERSION 显示 1,需要升级:
wsl --set-version Ubuntu-22.04 2如果压根没装发行版,用wsl --install -d Ubuntu-22.04装一个。装完进 WSL 后先跑一次系统更新,避免后面 npm 装包时因为源太旧报错:
sudo apt update && sudo apt upgrade -y注意:OpenClaw 的守护进程依赖 systemd 风格的进程管理,WSL2 默认支持较好,WSL1 会出问题,所以版本号必须是 2。
2.2 确认 Node 与 npm 版本
进入 WSL 的 Ubuntu 环境,检查版本:
node -v npm -vOpenClaw 要求 Node 18 以上,推荐 20 LTS。如果版本太低,用 nvm 管理最省心:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash source ~/.bashrc nvm install 20 nvm use 20装完再确认一次node -v,输出v20.x.x即可。
2.3 处理 npm 全局路径不生效
这是 Windows + WSL 下最高频的坑:npm i -g openclaw装完了,敲openclaw却提示 command not found。原因是 npm 的全局 bin 目录没进 PATH。
先看 npm 把包装哪了:
npm config get prefix如果输出是/home/你的用户名/.npm-global,那 bin 目录就是~/.npm-global/bin。把它写进 shell 配置:
# bash 用户 echo 'export PATH="$HOME/.npm-global/bin:$PATH"' >> ~/.bashrc # zsh 用户 echo 'export PATH="$HOME/.npm-global/bin:$PATH"' >> ~/.zshrc让配置立即生效:
source ~/.bashrc 2>/dev/null || true source ~/.zshrc 2>/dev/null || true再验证:
which openclaw能打印出路径就说明环境变量通了。这一步没通,后面所有配置都是白搭。
3. TaoToken 统一 Key:把模型通道收口
3.1 为什么要在 OpenClaw 前面加一层统一入口
OpenClaw 的 Agent 会频繁调用模型,如果每个 provider 都单独配 Key,配置文件会迅速膨胀,换模型时还要改 Agent 逻辑。TaoToken 的作用就是提供一个兼容 OpenAI 协议的统一入口,OpenClaw 只认这一个base_url和一把 Key,后面接什么模型由入口侧决定。
对本地 Agent 场景来说,这带来两个实际好处:一是配置文件干净,config.toml里只有一组凭证;二是切换模型不用动 Agent 代码,改入口配置即可。
3.2 获取 Key 与确认接入地址
登录 TaoToken 控制台,在 API Keys 页面创建一把新 Key,复制保存。接入地址统一用:
https://taotoken.net/api注意这个地址不带任何查询参数,直接作为base_url使用。OpenClaw 走的是 OpenAI 兼容协议,所以provider填openai即可,实际后端由 TaoToken 侧路由。
提示:Key 只在创建时完整显示一次,建议创建后立刻存进密码管理器,别只留在剪贴板里。
3.3 用 onboard 命令一次性喂入配置
OpenClaw 提供了onboard子命令,可以在初始化时直接带上 provider、Key 和 base_url,省去手动改文件的麻烦:
openclaw onboard --install-daemon \ --provider openai \ --api-key "你的TAOTOKEN_KEY" \ --base-url "https://taotoken.net/api"--install-daemon会把 OpenClaw 注册成后台守护进程,这样关掉终端它也能继续跑。执行过程中如果提示选择模型或第三方平台接入,建议先选Skip for now,把程序跑起来再说,后面进 Web 控制面板再绑也不迟。
4. 可复制配置:config.toml 与 settings.json
4.1 config.toml 骨架
OpenClaw 的主配置在~/.config/openclaw/config.toml(部分版本在~/.openclaw/config.toml,以openclaw doctor输出为准)。下面是一份可直接改用的骨架:
# OpenClaw 主配置 [gateway] host = "127.0.0.1" port = 18789 [provider] name = "openai" base_url = "https://taotoken.net/api" api_key = "你的TAOTOKEN_KEY" default_model = "gpt-4o-mini" [agent] max_steps = 20 timeout_seconds = 120 [logging] level = "info"几个关键点:base_url结尾不要带/v1,OpenClaw 会自己拼路径;default_model填你在 TaoToken 侧确认可用的模型名;port如果被占用,改成 18790 之类即可。
4.2 settings.json 片段
部分 OpenClaw 版本用settings.json管理运行时偏好,路径通常在~/.openclaw/settings.json。可以这样写:
{ "gateway": { "autoStart": true, "port": 18789 }, "provider": { "type": "openai", "baseUrl": "https://taotoken.net/api", "apiKeyEnv": "TAOTOKEN_API_KEY" }, "ui": { "theme": "dark", "openBrowserOnStart": false } }这里用apiKeyEnv指向环境变量,比明文写 Key 更安全。在~/.bashrc里加一行:
export TAOTOKEN_API_KEY="你的TAOTOKEN_KEY"然后source ~/.bashrc生效。这样配置文件可以安全地进 Git,Key 留在本地环境变量里。
4.3 参数对照表
| 配置项 | 作用 | 推荐值 |
|---|---|---|
base_url/baseUrl | 模型请求入口 | https://taotoken.net/api |
provider/type | 协议类型 | openai |
default_model | 默认模型 | 按 TaoToken 侧可用列表填 |
gateway.port | 本地控制面板端口 | 18789 |
max_steps | 单任务最大步数 | 20 |
timeout_seconds | 单步超时 | 120 |
5. 验证请求:确认一次跑通
5.1 用 doctor 做自检
配置写完后,先跑自检:
openclaw doctor它会检查 Node 版本、npm 全局路径、配置文件语法、gateway 端口占用、以及 provider 连通性。如果 provider 那一项报错,多半是 Key 或 base_url 写错了,回到第 4 节核对。
5.2 发一条真实请求
自检通过后,直接发一条最小请求验证端到端链路:
openclaw run --prompt "用一句话说明你当前使用的模型名称"如果返回了模型输出,说明 WSL 环境、npm 安装、TaoToken 通道、OpenClaw 配置四层全部打通。如果卡住不动,加--verbose看详细日志:
openclaw run --prompt "test" --verbose日志里会打印实际请求的 URL 和响应状态码,401 是 Key 问题,404 是 base_url 路径问题,超时则是网络或端口问题。
5.3 启动 Gateway 与控制面板
确认请求能通后,启动守护进程:
openclaw gateway start然后浏览器访问http://127.0.0.1:18789,能看到 Web 控制面板就说明 gateway 正常。面板里可以查看任务历史、切换模型、绑定第三方平台,比命令行直观得多。
6. 本篇常见错排查
6.1 openclaw: command not found
回到 2.3 节,确认npm config get prefix的输出目录已加入 PATH,并且source过配置文件。如果用的是 zsh 但只改了.bashrc,同样不生效。
6.2 npm 安装卡在 idealTree 或超时
WSL 里 npm 默认源有时很慢,换源:
npm config set registry https://registry.npmmirror.com换完重装:
npm i -g openclaw6.3 doctor 报 provider 连接失败
先单独测一下通道是否可达:
curl -s -o /dev/null -w "%{http_code}" https://taotoken.net/api/models \ -H "Authorization: Bearer $TAOTOKEN_API_KEY"返回 200 说明 Key 和地址都对,问题在 OpenClaw 配置;返回 401 说明 Key 无效或没读到环境变量,检查TAOTOKEN_API_KEY是否 export 成功。
6.4 gateway 端口被占用
ss -tlnp | grep 18789找到占用进程后要么 kill 掉,要么在config.toml里把port改成 18790,重启 gateway。
6.5 WSL 里浏览器打不开控制面板
WSL2 的127.0.0.1和 Windows 宿主是互通的,直接在 Windows 浏览器访问http://127.0.0.1:18789即可。如果不行,用hostname -I拿到 WSL 的 IP,换成那个地址访问。
7. 后续接入与长期使用
环境跑通后,日常使用主要围绕三件事:模型切换、Key 管理、Agent 任务编排。模型切换在 TaoToken 侧完成,OpenClaw 配置不用动;Key 轮换时更新环境变量并重启 gateway 即可;任务编排则通过 Web 控制面板或openclaw run命令发起。
如果你打算长期跑编码类 Agent 任务,建议把 gateway 设为开机自启,避免每次手动拉起。openclaw onboard --install-daemon已经做了这件事,可以用openclaw gateway status确认守护进程状态。
配置文件和 Key 建议分开管理:config.toml进版本控制,Key 走环境变量或本地密钥文件。这样换机器时只需重新 export 一次 Key,配置直接复用。
需要创建 Key 或查看接入文档,可以从这里进:
- 模型对话入口:https://taotoken.net/models?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content=openclaw_windows
- Coding Plan(长期编码/Agent 场景):https://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content=openclaw_windows
- 控制台:https://taotoken.net/console?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content=openclaw_windows
- API Keys 管理:https://taotoken.net/api-keys?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content=openclaw_windows
- 接入文档:https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content=openclaw_windows
最后补一个实测细节:WSL 里跑 OpenClaw 时,如果 Agent 需要操作浏览器,记得在 Windows 侧装好对应驱动,WSL 内的无头浏览器和宿主浏览器是两套环境,别混用。这一步踩过坑的人不少,提前分开配置能省很多调试时间。