从openclaw doctor报错说起:Windows 执行策略与模型通道的两段式修复
在 Windows 上跑openclaw doctor,很多人第一次遇到的不是模型问题,而是 PowerShell 直接拦住了脚本执行,终端里甩出一段红字,大意是"在此系统上禁止运行脚本"。这个报错跟 OpenClaw 本身没关系,是 Windows 默认的脚本执行策略在起作用。把执行策略改成RemoteSigned之后,openclaw doctor能跑起来了,但紧接着会撞上第二个问题:OpenClaw 要调用模型,而模型调用需要 Token,这一步得去 TaoToken 注册并创建 Key,再把 Base URL 和 Key 填进 OpenClaw 的配置里。本文按"先修执行策略、再补模型 Key"的顺序,把这两段都走一遍,最后用openclaw doctor和一次真实模型请求来验证通道是否打通。
一、原问题与场景:openclaw doctor为什么在 Windows 上先报脚本错
openclaw doctor是 OpenClaw 用来做环境自检的命令,它会检查 Node 版本、依赖、配置文件、模型通道等一堆东西。在 Windows 上,这个命令通常是通过 PowerShell 调起来的,而 PowerShell 有一个默认的执行策略(Execution Policy),默认值在客户端系统上一般是Restricted,意思是"不允许运行任何脚本文件"。OpenClaw 的 CLI 在启动时会加载.ps1脚本或类似的包装层,于是就被这条策略挡在门外。
报错的典型形态是:
无法加载文件 ...\openclaw.ps1,因为在此系统上禁止运行脚本。 有关详细信息,请参阅 about_Execution_Policies。 + CategoryInfo : SecurityError: (:) [],PSSecurityException + FullyQualifiedErrorId : UnauthorizedAccess注意这里的关键词是SecurityError和UnauthorizedAccess,不是网络错误,也不是模型错误。很多人看到红字第一反应是去查 OpenClaw 的模型配置,方向就偏了。正确的第一步是处理 PowerShell 执行策略。
原文给出的解法是执行:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser当提示"是否确认更改"时,输入Y并回车。设置成功后,关闭并重新打开终端,再次运行openclaw doctor即可。
这里解释一下这条命令的几个部分:
-ExecutionPolicy RemoteSigned:表示本地编写的脚本可以直接运行,从网络下载的脚本需要数字签名。这是开发机上比较常用的折中策略,比Unrestricted安全,比Restricted可用。-Scope CurrentUser:只对当前用户生效,不需要管理员权限,也不会影响系统上其他用户。这一点很重要,很多教程让你用管理员权限改LocalMachine,其实没必要,CurrentUser就够了。- 改完之后必须关闭并重新打开终端,因为执行策略是在 PowerShell 会话启动时读取的,当前会话不会自动刷新。
这一步做完,openclaw doctor应该能正常启动自检流程了。但自检里有一项是模型通道连通性,如果 Key 还没配,这一项会失败或者提示未配置。这就进入第二段。
二、TaoToken 前置:OpenClaw 调用模型需要 Key 和 Base URL
OpenClaw 本身不生产模型能力,它是一个客户端/Agent 框架,真正干活的是背后的模型。所以openclaw doctor检查模型通道时,需要你提供一个可用的 API 端点和对应的 Key。
TaoToken 在这里的角色很明确:它提供统一的模型接入通道,你拿到的是一个 Base URL 和一个 API Key。OpenClaw 把请求发到这个 Base URL,带上 Key,TaoToken 负责把请求路由到对应的模型。你不需要在 OpenClaw 里分别配置每家模型厂商的地址和密钥,换模型时也只需要在 TaoToken 控制台调整,OpenClaw 侧的配置基本不动。
具体要做的:
- 打开 TaoToken 官网 注册账号。
- 进入控制台的 API Keys 页面,创建一个新的 Key。创建后立刻复制保存,页面通常只完整显示一次。
- 记下 Base URL:
https://taotoken.net/api。注意这里不要带/v1,也不要把官网带 UTM 的地址填进去。OpenClaw 的配置项要的是纯 API 端点。
关于 Key 的管理,后续你换模型、换工具、给不同项目分配不同 Key,都在 TaoToken 控制台里操作。OpenClaw 这边只认你填进去的那一个值。
如果你用的是 Claude Code 这类工具,配置方式会落到settings.json里的ANTHROPIC_*环境变量;如果是 Codex,则对应config.toml。OpenClaw 有自己的配置入口,下面按 OpenClaw 的方式来。
三、可复制配置:把 Base URL 和 Key 填进 OpenClaw
openclaw doctor跑通之后,接下来是让 OpenClaw 真正能调用模型。OpenClaw 的模型配置通常放在它的配置文件或环境变量里。不同版本的 OpenClaw 配置路径可能略有差异,但核心就两个字段:Base URL 和 API Key。
一种常见做法是通过环境变量注入。在 PowerShell 里可以这样设置(把YOUR_API_KEY换成你在 TaoToken 控制台创建的值):
$env:OPENCLAW_BASE_URL = "https://taotoken.net/api" $env:OPENCLAW_API_KEY = "YOUR_API_KEY"如果 OpenClaw 使用配置文件,找到它的配置文件(通常在用户目录下的.openclaw或项目根目录),写入类似结构:
{ "model": { "baseUrl": "https://taotoken.net/api", "apiKey": "YOUR_API_KEY" } }几个容易填错的地方,这里单独拎出来:
- Base URL 不要带
/v1。TaoToken 的 API 端点是https://taotoken.net/api,OpenClaw 或底层 SDK 会自己拼接路径。你手动加上/v1反而会导致 404。 - 不要把官网地址填进去。官网是
https://taotoken.net/,带 UTM 参数的那串是给浏览器用的,不是 API 端点。填错了请求会打到网页上,返回 HTML 而不是 JSON。 - Key 不要有多余空格。从控制台复制时容易带上换行或空格,粘贴后检查一下首尾。
- 改完配置要重开终端。跟执行策略一样,环境变量在当前会话里不会自动刷新。
如果你更习惯用 CLI 方式管理,TaoToken 也提供了命令行工具:
npm i -g @taotoken/taotoken taotoken cc -k YOUR_API_KEY -u https://taotoken.net/api -m MODEL_ID这条命令适合在终端里快速切换模型和 Key,-u后面跟的就是 API 端点,-m是模型 ID。OpenClaw 场景下,你可以用它来验证 Key 是否有效,再回到 OpenClaw 配置里填同样的值。
四、验证请求:重开终端跑openclaw doctor并触发一次模型调用
配置填完之后,验证分两步。
第一步,重开终端,再跑一次openclaw doctor。
这一步是确认执行策略的修改和配置的写入都生效了。正常情况下,之前那个SecurityError应该消失,自检流程能走完。如果模型通道配置正确,doctor 里关于模型连通性的检查项应该显示通过或可用。
第二步,触发一次真实的 OpenClaw 模型请求。
openclaw doctor有时只做静态检查,不一定真的发请求。所以最好手动触发一次模型调用,比如让 OpenClaw 执行一个简单的对话或补全任务。观察终端输出:
- 如果返回了模型生成的文本,说明 Base URL、Key、模型 ID 三者都对,统一通道走通了。
- 如果返回 401,说明 Key 有问题,回 TaoToken 控制台检查 Key 是否被禁用或复制错误。
- 如果返回 404,大概率是 Base URL 带了
/v1或填成了官网地址。 - 如果连接超时,检查网络是否能访问
taotoken.net。
验证通过后,你后续换模型或换工具,仍然在 TaoToken 控制台管理 Key。OpenClaw 侧只需要在换模型时确认模型 ID 是否需要在配置里同步调整。
五、本篇常见错排查
围绕openclaw doctor和 TaoToken 配置,下面这些错比较高频,按现象对照排查。
1. 改完执行策略,openclaw doctor还是报脚本错。
原因通常是没重开终端。执行策略在 PowerShell 会话启动时读取,当前会话改了也不生效。关掉所有终端窗口,重新打开一个再跑。另外确认你改的是CurrentUser作用域,如果你在另一个用户下运行终端,策略不共享。
2.openclaw doctor能跑,但模型检查项失败。
先确认 Base URL 是不是https://taotoken.net/api,有没有误加/v1。再确认 Key 是不是从 API Keys 页面 创建的、有没有复制完整。如果 Key 刚创建,稍等几秒再试,避免控制台同步延迟。
3. 请求返回 401 Unauthorized。
Key 无效或未带上。检查环境变量名是否和 OpenClaw 期望的一致,有些版本用OPENCLAW_API_KEY,有些用OPENCLAW_TOKEN,以你本地版本的文档为准。另外确认 Key 没有多余空格。
4. 请求返回 404 或返回 HTML。
Base URL 填错了。最常见的是填了带 UTM 的官网地址,或者手动加了/v1。正确值就是https://taotoken.net/api。
5. 换模型后请求失败。
模型 ID 不对。在 TaoToken 控制台确认你要用的模型 ID,然后在 OpenClaw 配置或 CLI 的-m参数里填对应的值。换模型不需要换 Base URL 和 Key。
6. 终端里Set-ExecutionPolicy提示权限不足。
说明你改的不是CurrentUser作用域,或者当前账户受限。加上-Scope CurrentUser重试,一般不需要管理员权限。如果公司机器有组策略限制,需要联系 IT。
7. 配置改了但 OpenClaw 读不到。
检查配置文件路径是否正确,以及环境变量是否在启动 OpenClaw 的同一个终端会话里设置。用echo $env:OPENCLAW_BASE_URL确认当前会话能看到这个值。
六、语义一致 CTA:按你的下一步选入口
如果你现在卡在openclaw doctor报错或模型通道配置上,属于排障和接入场景,建议直接去 API Keys 页面 创建 Key,同时对照 接入文档 确认 Base URL 和参数格式。文档里有各工具的配置示例,比对着填不容易错。
如果你只是想先验证某个模型能不能用,不想动 OpenClaw 配置,可以去 模型对话 页面直接发一条消息,看通道是否正常。这一步能快速区分是 Key 的问题还是 OpenClaw 配置的问题。
如果你是在做长期编码或 Agent 类项目,需要稳定、可切换的模型通道,可以了解 Coding Plan。它适合把模型调用作为日常开发基础设施的场景,Key 和通道管理都在控制台统一处理。
回到本篇的主线:openclaw doctor报错先修 PowerShell 执行策略,Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser加确认加重开终端;然后补上 TaoToken 的 Base URL 和 Key,重开终端再跑 doctor,并触发一次真实模型请求验证。两段都走通,OpenClaw 的模型通道才算真正可用。