在 Windows 上用 OpenClaw 控制浏览器:把 CDP endpoint 改到 TaoToken 的几种方法 1. Windows 上 OpenClaw 控制浏览器时 CDP endpoint 到底该指向哪里OpenClaw 是一套本地运行的 AI 智能体框架它的浏览器控制能力让模型能真正“看见”并操作网页——点击按钮、填写表单、滚动页面、截图回传。在 Windows 上跑这套东西核心链路其实就一条OpenClaw 通过 Chrome DevTools ProtocolCDP连上一个 Chrome/Edge 实例然后把页面操作指令翻译成 CDP 命令发过去。CDP endpoint 就是这条链路的“门牌号”写错了就连不上写对了才能让 AI 动手。很多人第一次配的时候会卡在同一个地方openclaw browser --browser-profile remote status返回cdpReady: false或者干脆报connect ECONNREFUSED 127.0.0.1:9222。这不是 OpenClaw 坏了而是 endpoint 指向的浏览器实例根本没以调试模式启动或者端口被别的进程占了。Windows 下 Chrome 默认不会开--remote-debugging-port你得手动加参数重启而且如果已经有 Chrome 在跑新加的调试参数会被忽略——这是 Windows 上最常见的坑。那 TaoToken 在这里扮演什么角色它不替代 Chrome也不替代 OpenClaw 的浏览器控制模块。它做的是把模型调用这一层统一起来你不需要在 OpenClaw 里分别填 OpenAI、Anthropic、DeepSeek 的 Key而是把 Base URL 指向 TaoToken 的 API 通道用一个 Key 走所有模型。浏览器控制本身还是走 CDP但“AI 决定点什么按钮”这一步的推理请求走的是 TaoToken。所以整条链路是OpenClaw → CDP → Chrome执行动作OpenClaw → TaoToken API → 模型决策。两条链路各管各的但配置时容易混在一起下面分开说清楚。适合谁看已经在 Windows 上装了 OpenClaw、想让 AI 接管浏览器做自动化但不确定 CDP endpoint 该填http://127.0.0.1:9222还是别的地址也不确定模型 Key 该怎么统一管理的人。如果你还没装 OpenClaw先跑npm install -g openclaw和openclaw initNode.js 建议 v20 以上PowerShell 或 Windows Terminal 都行权限不够就用管理员终端。2. TaoToken 前置准备统一 Key 与 API 通道的配置位置在动 CDP 之前先把模型调用这层理顺。OpenClaw 的模型配置和浏览器配置是分开的两个块很多人只改了browser却忘了model结果浏览器连上了AI 却因为 Key 报 401 不动手。TaoToken 的 API 地址是https://taotoken.net/api注意这个地址不带任何查询参数直接作为 Base URL 用。你需要先去控制台创建一个 API Key然后把它填到 OpenClaw 的模型配置里。OpenClaw 的配置文件在C:\Users\你的用户名\.openclaw\openclaw.json用记事本或 VS Code 打开都行。模型这块的配置长这样{ model: { provider: openai-compatible, baseUrl: https://taotoken.net/api, apiKey: sk-你的TaoToken密钥, modelId: claude-sonnet-4-20250514 } }这里provider写openai-compatible是因为 TaoToken 的 API 通道兼容 OpenAI 的请求格式OpenClaw 用这个 provider 就能直接发请求。modelId填你实际要用的模型 ID比如 Claude 系列、GPT 系列都行具体 ID 以控制台里显示的为准。Key 不要直接硬编码在文件里长期用更稳妥的做法是设成环境变量然后在配置里引用{ model: { provider: openai-compatible, baseUrl: https://taotoken.net/api, apiKey: ${TAOTOKEN_API_KEY}, modelId: claude-sonnet-4-20250514 } }然后在 PowerShell 里设环境变量$env:TAOTOKEN_API_KEY sk-你的TaoToken密钥这样配置文件可以随便备份、分享不怕 Key 泄露。设完环境变量后要重启 Gateway 才能生效openclaw gateway restart。如果你用的是 Claude Code 或者 Cline 这类工具配置逻辑一样Base URL 都是https://taotoken.net/apiKey 用同一个Model ID 按需换。区别只是配置文件路径不同Claude Code 看~/.claude/settings.jsonCline 在 VS Code 的设置里填。核心三件套永远是 Base URL、Key、Model ID缺一个都跑不通。这一步做完先别急着配浏览器。用openclaw gateway status确认 Gateway 在跑然后用一句简单对话测试模型通道是否通openclaw chat 说一句你好。如果返回正常说明 TaoToken 这层没问题可以进入 CDP 配置了。3. 可复制配置CDP endpoint 直连与经 TaoToken 通道的完整片段现在进入正题。Windows 上 OpenClaw 控制浏览器CDP endpoint 的写法取决于你用哪种浏览器实例。下面给三种最常用的配置都是可以直接复制进openclaw.json的。第一种托管浏览器openclaw profile。OpenClaw 自己启动一个隔离的 Chrome 实例有独立的用户数据目录和 CDP 端口不碰你日常浏览器的数据。配置{ browser: { enabled: true, defaultProfile: openclaw, headless: false, profiles: { openclaw: { cdpPort: 18800, color: #FF4500 } } } }这里没有写cdpUrl因为 OpenClaw 会根据cdpPort自动拼出http://127.0.0.1:18800。启动命令openclaw browser --browser-profile openclaw start openclaw browser --browser-profile openclaw open https://www.baidu.com openclaw browser --browser-profile openclaw snapshotsnapshot会返回当前页面的截图和 DOM 摘要能看到百度首页就说明 CDP 通了。第二种远程 CDP 接入已启动的 Chrome。你自己用调试参数启动 Chrome然后让 OpenClaw 连上去。先启动 Chrome C:\Program Files\Google\Chrome\Application\chrome.exe --remote-debugging-port9222 --user-data-dirC:\chrome-debug-profile注意--user-data-dir必须指定一个独立目录否则如果已有 Chrome 在跑新参数不生效。然后配置{ browser: { enabled: true, defaultProfile: remote, profiles: { remote: { cdpUrl: http://127.0.0.1:9222, color: #00AA00 } } } }验证openclaw browser --browser-profile remote status返回cdpReady: true即成功。如果是局域网另一台机器把127.0.0.1换成那台机器的 IP比如http://192.168.1.100:9222但要确保那台机器的 Chrome 是用--remote-debugging-address0.0.0.0启动的否则只监听本地。第三种模型走 TaoToken、浏览器走本地 CDP 的完整配置。这是最推荐的组合把模型和浏览器两块都写全{ model: { provider: openai-compatible, baseUrl: https://taotoken.net/api, apiKey: ${TAOTOKEN_API_KEY}, modelId: claude-sonnet-4-20250514 }, browser: { enabled: true, defaultProfile: openclaw, headless: false, profiles: { openclaw: { cdpPort: 18800, color: #FF4500 }, remote: { cdpUrl: http://127.0.0.1:9222, color: #00AA00 } } } }这份配置里模型请求发往https://taotoken.net/api浏览器控制走本地 CDP 端口 18800 或 9222。两者互不干扰但都通过同一个openclaw.json管理。改完记得openclaw gateway restart。如果你用 Cline 或 Claude Code 做编码辅助同时想让 OpenClaw 管浏览器那 Cline 那边的配置也是 Base URLhttps://taotoken.net/api 同一个 Key Model ID和 OpenClaw 的模型块保持一致就行。这样所有模型调用都走 TaoToken 统一通道账单和额度在一个地方看。4. 验证请求一次页面导航加截图确认 CDP 与模型通道都通配置写完不算完得实际跑一次才能确认两条链路都活着。下面这套验证流程我建议按顺序做每一步都有明确的成功标志。第一步确认 Gateway 在跑。openclaw gateway status返回running或类似状态即可。如果没跑openclaw gateway start。第二步确认模型通道通。用一句不需要浏览器的对话测试openclaw chat 用一句话说明 CDP 是什么如果返回了合理的回答说明 TaoToken 的 Base URL、Key、Model ID 三件套都对了。如果报 401检查 Key 是否过期或复制时多了空格如果报model not found检查 Model ID 是否和控制台一致。第三步启动托管浏览器并导航。openclaw browser --browser-profile openclaw start openclaw browser --browser-profile openclaw open https://www.baidu.comopen命令会返回当前页面的标题和 URL。如果返回tab not found或超时说明 CDP 没连上回到第 5 节排查。第四步截图验证。openclaw browser --browser-profile openclaw snapshot这个命令会输出当前页面的截图文件路径和 DOM 摘要。截图默认存在C:\Users\你的用户名\.openclaw\snapshots\下用图片查看器打开能看到百度首页的搜索框和 logo 就说明 CDP 完全通了。第五步让 AI 真正操作一次。启动 Gateway 的对话模式openclaw chat然后输入打开百度搜索“OpenClaw 教程”然后截图给我看如果 AI 返回了截图路径并且截图里确实显示了搜索结果页那整条链路——模型决策走 TaoToken、浏览器执行走 CDP——就全部打通了。这一步成功之后你就可以把openclaw browser的命令写进脚本或者用对话方式让 AI 做更复杂的操作比如填表单、抓列表、批量截图。实测下来最容易出问题的不是模型通道而是 CDP 这端。因为 Windows 上 Chrome 的调试端口经常被已有进程占用或者--user-data-dir没设对导致参数不生效。所以验证时如果第三步卡住优先查 Chrome 进程和端口占用而不是怀疑 TaoToken。5. 本篇常见错排查401、local proxy failed、reading choices、OAuth 报错对照配置过程中会碰到几类典型报错下面按报错原文对照排查都是实际会遇到的。报错一401 Unauthorized或invalid api key。这是模型通道的问题跟 CDP 无关。检查openclaw.json里model.apiKey是否填了 TaoToken 的 Key以及环境变量TAOTOKEN_API_KEY是否在当前终端会话里生效。PowerShell 里设的环境变量只对当前窗口有效新开窗口要重新设或者用系统级环境变量。另外确认 Base URL 是https://taotoken.net/api不要多写/v1或结尾斜杠OpenClaw 会自己拼路径。报错二local proxy failed或connect ECONNREFUSED 127.0.0.1:18800。这是 CDP 端的问题。说明 OpenClaw 试图连本地 18800 端口但那个端口上没有 Chrome 在监听。原因通常是托管浏览器没启动或者启动失败了。先跑openclaw browser --browser-profile openclaw status看返回的cdpReady是不是 false。如果是手动启动openclaw browser --browser-profile openclaw start。如果启动时报port already in use换个端口比如把cdpPort改成 18801。报错三reading choices或unexpected response format。这个报错通常出现在模型返回的内容格式不符合 OpenClaw 预期时。如果你用的 Model ID 和实际能力不匹配比如用了一个不支持 function calling 的模型去做浏览器操作决策就会报这个。解决方法是换一个支持工具调用的模型 IDClaude 系列和 GPT 系列都支持。另外确认 TaoToken 控制台里该模型的状态是可用的。报错四OAuth token expired或authentication failed。如果你之前用 OAuth 方式登录过某个模型服务OpenClaw 可能还在用旧的 token。检查openclaw.json里有没有残留的oauth配置块有的话删掉统一用apiKey方式。TaoToken 的通道不需要 OAuth一个 Key 走所有模型。报错五tab not found或no target available。这是扩展中继模式下的常见问题。如果你用的是 Chrome 扩展方式一次只能附加一个标签页。多个标签页同时附加会冲突。解决方法是在旧标签页点扩展图标关掉再在目标标签页开启。另外确认 Gateway 在跑扩展徽章显示ON而不是!。报错六remoteCdpTimeoutMs exceeded。连接远程 CDP 时超时。如果是局域网另一台机器先在那台机器上用浏览器访问http://那台机器IP:9222/json/version看能不能返回 JSON。返回不了说明 Chrome 没监听外部地址需要加--remote-debugging-address0.0.0.0重启。另外 Windows 防火墙可能拦了 9222 端口需要放行。排查顺序建议先确认模型通道用openclaw chat测再确认 CDP 通道用openclaw browser status测最后才测组合操作。这样能快速定位是哪一层的问题不用瞎猜。6. 该走哪条路直连 CDP 与经 TaoToken 统一通道的选择建议回到最初的问题CDP endpoint 到底该怎么配以及要不要经 TaoToken。答案取决于你的使用场景。如果你只是本地跑 OpenClaw 做浏览器自动化模型调用和浏览器控制都在同一台 Windows 机器上那最省事的组合是CDP 用托管浏览器cdpPort: 18800模型走 TaoToken 的https://taotoken.net/api。这样你不需要手动启动 Chrome 调试实例OpenClaw 自己管一个隔离的浏览器模型 Key 也只有一个不用在多个服务商之间切换。如果你需要操作已经登录的页面比如企业内网、需要登录的 SaaS 后台那就用扩展中继模式。CDP 这块走 Chrome 扩展模型仍然走 TaoToken。扩展中继的配置在openclaw.json里把defaultProfile设成chrome然后按第 3 节的方式加载扩展。注意扩展中继模式下 CDP endpoint 不是http://127.0.0.1:9222而是 OpenClaw 内部的中继端口默认 18792这个不用你手动填OpenClaw 自己处理。如果你要控制另一台机器上的浏览器比如 Gateway 跑在 Windows 主机浏览器跑在另一台 Windows 或 Linux 上那就用远程 CDP。cdpUrl填那台机器的 IP 和端口模型还是走 TaoToken。这种场景下建议用私有网络方案把两台机器连起来不要直接把调试端口暴露到公网。TaoToken 的价值在于不管你用哪种 CDP 方式模型调用这层都不用改。你换模型、换 Key、看额度都在一个地方。对于需要长期跑自动化任务的人来说这比在每个工具里分别配 Key 要省心。如果你还没创建 Key可以去控制台生成一个然后按第 2 节的方式填进配置。接入文档里有更详细的参数说明遇到不确定的字段可以对照查。最后提醒一点浏览器控制服务默认只监听127.0.0.1这是安全的默认值。如果你改成监听0.0.0.0让局域网访问一定要配合防火墙规则或私有网络不要直接暴露。CDP 端口一旦被外部连上等于把浏览器控制权交出去了。定期更新 OpenClaw 到最新版本也有必要npm install -g openclawlatest就行。