
1. 为什么要在 Windows VMware 里跑 OpenClawOpenClaw 是一个开源 AI 智能体核心用 TypeScript 写支持本地私有化部署能通过聊天软件接收指令、调用技能、持久记忆。它最大的特点是本地优先、模型无关——所有会话数据存在本地模型可以接 Claude、GPT、Gemini 或本地模型。适合谁想在自己电脑上搭一个私人 AI 助手、又不想把数据交给云端的开发者。但 Windows 原生跑 OpenClaw 有几个现实问题Node.js 版本管理混乱、端口冲突排查麻烦、依赖装到一半报错很难回滚。所以我更推荐在 VMware 虚拟机里跑一个 Ubuntu把 OpenClaw 装在里面Windows 只负责开虚拟机。这样环境干净、快照可回滚、出问题直接还原。这篇要解决的核心问题是在 Windows 上用 VMware 虚拟机完成 OpenClaw 安装并通过 TaoToken 统一 Key 接入模型通道。我会给出可复制的settings.json/config.toml骨架、验证命令以及我自己踩过的几个坑。虚拟机文件我不走网盘直接教你从零装一个干净的比下载 60GB 的包更可控。2. TaoToken 前置统一 Key 与 API 通道准备OpenClaw 本身是模型无关的它需要一个能调模型的 API 通道。TaoToken 在这里的角色就是统一 Key 网关——你不需要分别去配 Anthropic、OpenAI 的 Key而是用 TaoToken 的一个 Key 走统一 API 通道OpenClaw 侧只认一个base_url和一个api_key。这样做的好处很直接换模型不用改 OpenClaw 的代码只改配置里的模型名Key 泄露了只吊销一个计费和额度在一个地方看。你需要先拿到两样东西第一API Key。登录 TaoToken 控制台在 API Keys 页面创建一个新 Key复制保存。地址是https://taotoken.net/api-keys注意这个 Key 只显示一次。第二确认 API 基地址。TaoToken 的 API 入口是https://taotoken.net/apiOpenClaw 配置里的base_url就填这个后面不要带斜杠。注意Key 不要写进会提交到 Git 的文件里。虚拟机里也建议用环境变量或单独的.env别硬编码在settings.json里。如果你还没注册可以从官网入口进https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content。注册后在控制台创建 Key再回到虚拟机里配置。3. VMware 虚拟机准备与 OpenClaw 安装3.1 虚拟机规格与系统选择VMware Workstation 里新建虚拟机系统选 Ubuntu 22.04 LTS 桌面版或服务器版都行。我建议桌面版因为后面要看浏览器自动化技能的效果。规格给到项目最低推荐内存2GB4GB 及以上磁盘20GB40GBCPU2 核4 核网络NATNAT 或桥接磁盘一定要给够OpenClaw 的依赖加上 Node 的缓存20GB 很容易满。网络用 NAT 就行虚拟机通过宿主机上网TaoToken 的 API 请求走这条路没问题。装完 Ubuntu 后先更新系统sudo apt update sudo apt upgrade -y sudo apt install -y curl git build-essential3.2 安装 Node.js 22.xOpenClaw 要求 Node.js ≥ 22.12.0。Ubuntu 自带的 Node 版本太老用 NodeSource 装curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash - sudo apt install -y nodejs node -v输出应该是v22.x.x。如果低于 22.12.0说明源没生效检查setup_22.x那步有没有报错。然后装 pnpmOpenClaw 用 pnpm 更省空间sudo npm install -g pnpm pnpm -v3.3 安装 OpenClaw两种方式选一种。方式一npm 全局安装npm i -g openclawbeta openclaw --version方式二pnpm 安装推荐pnpm add -g openclawbeta openclaw --version看到版本号比如v2026.3.2就说明装上了。如果命令找不到检查pnpm bin -g的路径有没有加进PATH。装完先跑一次诊断openclaw doctor它会检查 Node 版本、依赖、网络、端口占用。有红色项先解决别急着往下走。4. 可复制配置settings.json 与 config.toml 骨架OpenClaw 的配置目录在~/.openclaw/。核心文件是settings.json部分版本用config.toml。下面给两份骨架按你的版本选。4.1 settings.json 骨架{ gateway: { port: 18789, host: 127.0.0.1 }, model: { provider: openai-compatible, base_url: https://taotoken.net/api, api_key: ${TAOTOKEN_API_KEY}, model: claude-sonnet-4-20250514, fallback_models: [ gpt-4o, gemini-2.0-flash ] }, memory: { path: ~/.openclaw/memory, format: markdown }, skills: { path: ~/.openclaw/skills, auto_load: true }, logging: { level: info, path: ~/.openclaw/logs } }关键字段说明base_url填 TaoToken 的 API 地址api_key用环境变量引用别写明文。model填你要用的模型名fallback_models是故障转移列表主模型不可用时自动切。4.2 config.toml 骨架如果你的版本用 TOML[gateway] port 18789 host 127.0.0.1 [model] provider openai-compatible base_url https://taotoken.net/api api_key ${TAOTOKEN_API_KEY} model claude-sonnet-4-20250514 fallback_models [gpt-4o, gemini-2.0-flash] [memory] path ~/.openclaw/memory format markdown [skills] path ~/.openclaw/skills auto_load true4.3 设置环境变量在~/.bashrc或~/.zshrc里加export TAOTOKEN_API_KEY你的Key然后source ~/.bashrc。验证一下echo $TAOTOKEN_API_KEY能打印出 Key 就对了。这样配置文件里用${TAOTOKEN_API_KEY}就能读到不用把 Key 写死在 JSON 里。5. 验证请求与成功结果配置写完先别急着接聊天平台直接用命令行验证模型通道通不通。5.1 启动网关openclaw gateway start或者前台跑看日志openclaw gateway --verbose看到Gateway listening on 127.0.0.1:18789就说明网关起来了。5.2 发一条测试请求另开一个终端openclaw chat --message 你好请回复你的模型名称如果配置正确你会收到模型回复。这一步验证的是OpenClaw → TaoToken API → 模型 → 返回整条链路通。也可以直接 curl 测 TaoToken 通道curl 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}] }返回 JSON 里有choices字段就说明 Key 和通道都正常。如果返回 401检查 Key返回 404检查base_url有没有多写斜杠。5.3 跑 onboard 向导openclaw onboard向导会依次问模型供应商、API Key、聊天平台接入。供应商选openai-compatibleKey 填你的 TaoToken Keybase_url 填https://taotoken.net/api。聊天平台可以先跳过后面单独配。5.4 验证记忆模块发几条消息后检查~/.openclaw/memory/目录ls -la ~/.openclaw/memory/ cat ~/.openclaw/memory/*.md能看到 Markdown 格式的对话记录说明持久记忆在工作。这是 OpenClaw 的核心特性之一数据全在本地。6. 本篇常见错排查6.1 Node 版本不够报错OpenClaw requires Node.js 22.12.0。解决node -v确认版本低了就重装 NodeSource 源。别用apt install nodejs那个版本太老。6.2 端口被占用报错EADDRINUSE: address already in use 127.0.0.1:18789。查占用sudo lsof -i :18789要么杀掉进程要么改settings.json里的gateway.port。6.3 API 返回 401Key 没读到。检查echo $TAOTOKEN_API_KEY有没有输出配置文件里是不是写的${TAOTOKEN_API_KEY}。如果直接写明文 Key 还报 401去控制台确认 Key 没过期、没被吊销。6.4 虚拟机网络不通curl https://taotoken.net/api超时。检查 VMware 网络模式是不是 NAT虚拟机里ping 8.8.8.8通不通。NAT 模式下宿主机能上网虚拟机就能上网。如果宿主机有防火墙放行 VMware 的虚拟网卡。6.5 pnpm 全局命令找不到openclaw: command not found。执行pnpm bin -g看路径把它加到PATHexport PATH$(pnpm bin -g):$PATH写进~/.bashrc持久化。6.6 模型名写错返回model not found。TaoToken 的模型名要和控制台里列出的完全一致大小写、版本号后缀都不能错。不确定就先 curl 测一下模型名。7. 接入方式选择与后续动作装完验证通过后根据你的使用场景选下一步如果你是要排查接入问题、管理 Key去 API Keys 页面和接入文档https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi_keysutm_campaignrewrite和https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite。如果你只是想先验证模型对话通不通用模型对话页面直接测https://taotoken.net/chat?utm_sourcetaotoken_aicg_blog_endutm_contentchatutm_campaignrewrite。如果你要长期跑编码任务或 Agent 工作流看 Coding Planhttps://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding_planutm_campaignrewrite。虚拟机里跑 OpenClaw 的好处是你可以随时打快照。配置调通了打一个装新技能前打一个出问题直接回滚比在 Windows 原生环境里折腾省心得多。我自己的习惯是每改一次settings.json就快照一次回滚成本几乎为零。