1. 为什么要在 Windows 上折腾 OpenClawOpenClaw 是一个跑在本地的 AI 代理与任务管理工具你可以把它理解成一个「住在你电脑里的任务调度员」它接收你给的 prompt按配置调用模型把结果落到 workspace 和会话文件里还能通过 Dashboard 看任务状态。它适合谁适合想在 Windows 上低成本试水 AI Agent、又不想一上来就绑信用卡买 API 额度的开发者。我这次的目标很明确在 Windows 10/11 上用 PowerShell 把 OpenClaw 跑起来先用本地 demo 模型验证整条链路通不通再通过 TaoToken 的统一 Key 把在线模型通道接上。demo 模型完全免费、不需要任何 Key适合先确认安装没问题等你确认 Dashboard、任务、日志都能正常跑再换成真实模型排障成本最低。整篇会给出可直接复制的config.toml骨架、PowerShell 命令以及一次真实请求的验证过程。Node.js、npm、Git 这些前置依赖怎么装、装完怎么验证也会一步步写清楚。你不需要提前懂 OpenClaw 的内部结构跟着敲就行。2. 前置环境Node.js、npm 与 PowerShell 准备OpenClaw 的 CLI 是 Node.js 写的所以第一步是把运行时装好。Windows 上最省事的方式是用 winget没有 winget 就去官网下 LTS 安装包安装时记得勾选「Add to PATH」。# 用 winget 安装 Node.js LTS 和 Git winget install OpenJS.NodeJS.LTS winget install Git.Git # 关掉当前 PowerShell 再重开然后验证 node -v npm -v git --version三条命令都能返回版本号说明环境就绪。如果node报「无法识别」八成是 PATH 没刷新重开一个 PowerShell 窗口即可。接下来处理 PowerShell 的脚本执行策略。默认情况下 Windows 会拦截.ps1脚本安装脚本会直接失败# 查看当前策略 Get-ExecutionPolicy -Scope CurrentUser # 允许本地与远程签名脚本 Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser输入Y确认。这一步只影响当前用户不会动系统级策略属于比较克制的做法。注意如果你在公司受管设备上操作执行策略可能被组策略锁定Set-ExecutionPolicy会报错。这种情况建议换一台个人设备别硬改。环境就绪后安装 OpenClaw CLI# 官方安装脚本会自动检查并补装 Node.js iwr -useb https://openclaw.ai/install.ps1 | iex # 验证 CLI 是否可用 openclaw --version如果安装过程中报npm error code ENOENT基本就是 Git 没装或没进 PATH。装完 Git 后必须重启 PowerShell让新的 PATH 生效再重跑安装脚本。这一步我踩过重启前怎么试都报同样的错。3. TaoToken 统一 Key把在线模型通道接进来demo 模型能验证安装但它不会真的调用大模型。要跑真实对话就得有一个能统一管理多家模型的入口。TaoToken 做的就是这件事一个 Key 走通多家模型省去你分别注册、分别配额度的麻烦。官网入口在 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 注册后在控制台生成 Key。拿到 Key 之后先别急着写进配置文件用一条最小请求确认 Key 本身可用。TaoToken 的 API 基址是https://taotoken.net/api兼容 OpenAI 风格的/v1/chat/completions# 把 sk-xxxx 换成你自己的 Key $env:TAOTOKEN_KEY sk-xxxx $headers { Authorization Bearer $env:TAOTOKEN_KEY Content-Type application/json } $body { model gpt-4o-mini messages ({ role user; content 用一句话说明你是什么模型 }) } | ConvertTo-Json -Depth 5 Invoke-RestMethod -Uri https://taotoken.net/api/v1/chat/completions -Method Post -Headers $headers -Body $body返回里能看到choices[0].message.content就说明 Key 和通道都正常。这一步单独做的好处是后面 OpenClaw 报错时你能立刻判断是 Key 的问题还是配置的问题不用两头猜。Key 的管理入口在控制台的 API Keys 页面https://taotoken.net/console/api-keys?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 。建议给不同用途建不同的 Key方便单独吊销。接入细节和参数说明可以对照文档https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 。4. 可复制的 config.toml 骨架与 PowerShell 配置OpenClaw 的配置集中在~\.openclaw\config.toml。先跑一次初始化向导让它把目录结构建好openclaw onboard向导里的选项按下面选安全警告选 Yes模型/认证提供商选 Skip for now消息渠道选 Skip for nowSkills 选 NoHooks 选 Skip for nowGateway 服务用默认的 Node.js 版本。完成后会生成~\.openclaw\workspace和~\.openclaw\agents\main\sessions两个目录。接着编辑config.toml把在线模型通道指向 TaoToken。下面这份骨架可以直接抄把 Key 换成你自己的# ~\.openclaw\config.toml [gateway] port 18789 host 127.0.0.1 [models.demo] provider local kind demo # 本地 demo 模型无需 Key用于验证链路 [models.taotoken] provider openai-compatible base_url https://taotoken.net/api/v1 api_key sk-xxxx model gpt-4o-mini timeout 60 [agent.main] default_model demo几个参数值得说明base_url必须带/v1因为 OpenClaw 走的是 OpenAI 兼容协议timeout给 60 秒网络波动时不容易被误判为失败default_model先设成demo等验证通过再改成taotoken。如果你不想把 Key 明文写进文件可以用环境变量引用[models.taotoken] provider openai-compatible base_url https://taotoken.net/api/v1 api_key ${TAOTOKEN_KEY} model gpt-4o-mini然后在 PowerShell 里持久化这个变量# 写入当前用户环境变量重开窗口仍生效 [Environment]::SetEnvironmentVariable(TAOTOKEN_KEY, sk-xxxx, User)改完配置后重启 Gateway让新配置加载openclaw gateway restart openclaw gateway statusstatus显示 running就说明配置被正确读取了。5. 验证请求从 demo 模型到真实模型先跑 demo 模型确认任务链路本身没问题openclaw task create --model demo --prompt Hello OpenClaw openclaw task list openclaw task logs task_idtask list里能看到任务状态从 pending 变成 donetask logs里能看到 demo 模型的回显。这一步不消耗任何额度纯粹验证「任务创建 → 执行 → 落盘 → 日志可查」这条链路。链路通了之后切到真实模型。把config.toml里的default_model改成taotoken重启 Gateway再发一次请求openclaw gateway restart openclaw task create --model taotoken --prompt 用三句话介绍你自己 openclaw task list openclaw task logs task_id如果日志里出现了模型返回的自然语言内容说明 TaoToken 通道已经真正接进 OpenClaw 了。你也可以打开 Dashboard 看可视化结果openclaw dashboard浏览器访问http://localhost:18789/在会话和任务面板里能看到刚才两次请求的记录。想单独验证某个模型是否可用也可以直接在模型对话页测试https://taotoken.net/models?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 。如果你打算长期跑编码类或 Agent 类任务频繁手动发 task 会比较累可以考虑用 Coding Plan 把额度固定下来https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 。它更适合持续性的调用场景而不是一次性验证。6. 本篇常见报错与排查清单下面这些是我在 Windows PowerShell 组合里实际遇到过的坑按报错信息对照处理即可。报错信息原因处理方式无法识别 nodeNode.js 未装或 PATH 未刷新重装 Node.js LTS重开 PowerShellnpm error code ENOENTGit 缺失或未进 PATH装 Git 并勾选 Add to PATH重启终端禁止运行脚本执行策略拦截Set-ExecutionPolicy RemoteSigned -Scope CurrentUseropenclaw 未识别全局安装未成功npm install -g openclawlatest后重开终端401 UnauthorizedKey 错误或未加载检查config.toml的api_key或确认环境变量已生效404 Not Foundbase_url少了/v1改成https://taotoken.net/api/v1gateway status显示 stopped配置语法错误用 TOML 校验工具检查注意引号和缩进还有一个容易被忽略的点config.toml里如果同时存在[models.demo]和[models.taotoken]default_model的值必须和其中一个的键名完全一致大小写敏感。写错的话 Gateway 能启动但发任务时会报「model not found」。排查顺序建议固定成先openclaw doctor看依赖和配置体检再openclaw gateway status看服务状态最后openclaw task logs看具体请求日志。三层从外到内能快速定位问题出在环境、服务还是请求本身。7. 接下来怎么用从验证到日常跑通之后OpenClaw 的日常用法其实就三件事发任务、看日志、改配置。demo 模型可以一直留着作为「配置改坏了」时的对照基准——如果 demo 能跑而 taotoken 不能跑问题一定在 Key 或 base_url 上不用怀疑安装。Gateway 已经注册成计划任务开机后台运行你不需要每次手动启动。想换模型时改config.toml里的model字段再openclaw gateway restart就行。想加新通道照着[models.taotoken]那段复制一份改base_url和model即可OpenClaw 支持多模型并存。如果你后面要接 Claude Code 这类编码工具TaoToken 也提供了对应的接入方式可以参考https://taotoken.net/claude-code-anthropic?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 。整体思路和本篇一致先确认 Key 可用再写进工具配置最后用一次最小请求验证。