首页 / 资讯中心 / 文章详情

为了搞个 AI 助手,我在 Windows 上折腾了整整一天:从 PowerShell 到 TaoToken 的排错记录

为了搞个 AI 助手,我在 Windows 上折腾了整整一天:从 PowerShell 到 TaoToken 的排错记录 ★ FEATURED ARTICLE
1. Windows 上跑 AI 助手为什么 PowerShell 是第一道坎如果你在 Windows 上折腾过 OpenClaw 这类本地 AI 助手大概率经历过这样的场景命令敲下去终端先给你来一段红字然后你开始怀疑是不是网络问题、是不是 Key 填错了、是不是飞书那边没配对。折腾一整天最后发现是 PowerShell 版本太老。这篇记录的就是我踩过的完整链路从 PowerShell 环境准备到 OpenClaw 接入飞书再到 401、local proxy failed、reading choices 这几类典型报错的定位方法。目标很明确让你在 Windows 上把 AI 助手跑起来并且知道每一步出错时该看哪里。先说清楚这套东西是什么。OpenClaw 是一个可以常驻运行的 AI 助手框架它能接飞书、钉钉、企业微信这类 IM 工具让你在聊天窗口里直接召唤 AI 干活。适合谁适合手里有一台不关机的 Windows 机器、想搞个 7×24 小时在线助手的人。不适合谁如果你只是想偶尔问两句直接用网页版模型对话就够了没必要上这套。Windows 和 macOS 最大的区别在于终端环境。macOS 自带 zsh一行命令下去基本顺滑。Windows 默认给你的是 PowerShell 5.1这个版本在装依赖、跑脚本时会报各种奇怪的错。所以第一步不是装 OpenClaw而是先把 PowerShell 升到 7。你可以先查一下当前版本。打开 PowerShell注意不是 CMD输入$PSVersionTable.PSVersion如果 Major 显示 5那就是 5.1必须升级。升级方式很简单打开微软应用商店搜 PowerShell安装即可。装完之后一定要新开一个窗口旧窗口还是老版本。这一步看着简单但很多人卡在这里因为装完直接在当前窗口继续敲命令结果还是报错。我试过在 5.1 上硬跑安装脚本报错信息五花八门有的说解析失败有的说找不到命令。换到 7 之后同样的命令一次过。所以别省这一步。还有一个细节PowerShell 里粘贴不是 CtrlV是 ShiftInsert或者右键。这个习惯问题会让新手以为命令没复制进去。环境准备好之后才进入真正的安装和配置环节。下面按顺序讲。2. TaoToken 前置准备Base URL、Key 和 Model ID 三件套在配置 OpenClaw 之前你需要先准备好模型接入的三件套Base URL、API Key、Model ID。这三样东西缺一不可而且顺序不能乱。我用的是 TaoToken 作为接入层。它的作用是统一管理模型调用你不需要在本地存一堆不同厂商的 Key也不用担心某个模型接口变了要改代码。官网地址是 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content API 入口是 https://taotoken.net/api 。先说 Base URL。在 OpenClaw 的配置里你需要填的是 API 地址也就是 https://taotoken.net/api 。注意这里不要加 UTM 参数配置里只写干净的 API 地址。然后是 API Key。你需要去控制台创建一个。打开 https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_contentconsoleutm_campaignrewrite 登录后进入 API Keys 页面点创建。创建出来的 Key 是一串以 sk- 开头的字符串复制下来后面配置要用。这个 Key 只显示一次丢了就得重新建。如果你还没决定用哪个模型可以先在模型对话页面试一下。打开 https://taotoken.net/chat?utm_sourcetaotoken_aicg_blog_endutm_contentmodel_chatutm_campaignrewrite 选一个模型发条消息确认能正常返回。这一步能帮你排除 Key 本身的问题。Model ID 这块要注意。OpenClaw 配置里填的模型名必须和接入层支持的名称一致。比如你想用 MiniMax就填对应的模型 ID不要自己编一个名字。常见的写法是类似 minimax-2.5 这种格式具体以你控制台里看到的为准。为什么强调这三件套因为后面 401 报错、local proxy failed、reading choices 这三类问题90% 都能通过检查这三样东西定位。401 通常是 Key 错了或者没带上local proxy failed 往往是 Base URL 写错或者网络层有问题reading choices 则是返回结构不对可能是 Model ID 填错导致接口返回了非预期格式。如果你打算长期跑编码类任务或者 Agent 场景可以看一下 Coding Plan地址是 https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding_planutm_campaignrewrite 。它适合高频调用的场景比按量单独买要省心。准备好这三样之后就可以进入 OpenClaw 的配置环节了。3. 可复制配置OpenClaw 接入飞书的完整片段这一节给你可以直接复制的配置片段。我按文件路径和字段名来写你对照着改就行。首先是 OpenClaw 的主配置文件。在 Windows 上它通常在用户目录下的 .openclaw 文件夹里。你可以用 PowerShell 打开cd $env:USERPROFILE\.openclaw如果这个目录不存在说明 OpenClaw 还没初始化先跑一次 openclaw onboard。主配置里和模型接入相关的部分结构大概是这样{ provider: { baseUrl: https://taotoken.net/api, apiKey: sk-你的Key, model: minimax-2.5 }, channel: { type: feishu, appId: cli_你的AppID, appSecret: 你的AppSecret, connectionMode: websocket, domain: china } }注意 baseUrl 后面不要加斜杠也不要带任何查询参数。apiKey 就是你在控制台创建的那串。model 填你实际要用的模型 ID。飞书这边你需要在开放平台创建自建应用拿到 App ID 和 App Secret。权限配置用下面这段{ scopes: { tenant: [ im:message, im:message:send_as_bot, contact:user.base:readonly, contact:contact.base:readonly ], user: [docx:document:readonly] } }这段权限是最简可用集。im:message 负责收发消息im:message:send_as_bot 让机器人能以自己身份发消息后面两个是读取用户和通讯录基本信息。如果你还要让机器人发图片需要额外加资源相关权限。连接方式选 websocketdomain 选 china。这两个字段很关键选错了飞书那边收不到事件。如果你用的是 Claude Code 这类工具配置方式类似但文件路径不同。Claude Code 的配置在 settings 文件里Base URL 和 Key 的填法一致。具体可以参考接入文档https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite 。配置写完之后不要急着启动。先用一个最小请求验证三件套是否通。在 PowerShell 里跑$headers { Authorization Bearer sk-你的Key Content-Type application/json } $body { model minimax-2.5 messages ({ role user; content ping }) } | ConvertTo-Json Invoke-RestMethod -Uri https://taotoken.net/api/v1/chat/completions -Method Post -Headers $headers -Body $body如果返回里有 choices 字段说明鉴权和模型都通了。如果报 401检查 Key。如果报连接失败检查 Base URL。这一步过了再启动 OpenClaw。4. 验证请求从 PowerShell 到飞书消息的逐步排查配置写完只是开始真正的问题是启动之后能不能通。这一节给你一套逐步验证的方法从本地请求一路查到飞书消息。第一步验证模型接口。上面那段 Invoke-RestMethod 就是干这个的。返回正常的话你会看到类似这样的结构{ choices: [ { message: { role: assistant, content: pong } } ] }如果这一步就失败后面都不用看了。先解决鉴权和地址问题。第二步启动 OpenClaw 网关。在 PowerShell 里跑openclaw gateway start启动成功后终端会输出一个带 token 的本地地址类似 http://127.0.0.1:端口/?tokenxxx。用浏览器打开这个地址能看到 Web 界面就说明网关起来了。第三步检查飞书长连接。网关启动后它会主动向飞书发起 websocket 连接。你可以在日志里看到连接状态。如果日志里一直重连或者报错去飞书开放平台检查事件订阅方式是不是选了长连接。第四步发消息测试。在飞书里给机器人发一条消息。第一次会触发配对终端会提示你执行配对命令openclaw pairing approve feishu 你的配对码配对成功后再发一条消息机器人应该会回复。如果消息发出去了但没回复按这个顺序查先看网关日志有没有收到事件再看模型请求有没有发出去最后看返回有没有被正确解析。这三步对应三个不同的故障点。我实测下来最容易出问题的是飞书事件订阅没配好。很多人权限配了、应用发布了但忘了在事件与回调里添加接收消息的事件。没有这个飞书根本不会把消息推给 OpenClaw。另一个常见问题是机器人没有聊天窗口。这是因为应用版本没发布或者发布后没等审核通过。自建应用一般发布即生效但版本号要填对。验证通过之后你就可以在飞书里正常使唤它了。截图、开浏览器这些能力取决于你装了什么 Skill以及飞书那边有没有对应权限。5. 本篇常见错排查401、local proxy failed、reading choices这一节专门对着报错讲。你遇到问题的时候直接搜报错关键词。401 Unauthorized这是最常见的。原因有三个Key 没填、Key 填错、Key 没带上。检查配置文件里的 apiKey 字段确认是 sk- 开头没有多余空格。如果你用的是环境变量确认变量名和代码里读的一致。在 PowerShell 里可以用echo $env:TAOTOKEN_API_KEY看看有没有值。没有的话在配置文件里直接写死或者用 setx 设置。local proxy failed这个报错通常出现在请求发不出去的时候。原因可能是 Base URL 写错了比如多写了斜杠、写成了 http 而不是 https、或者带了不该带的参数。检查配置里的 baseUrl确保是 https://taotoken.net/api 。另一个可能是本地网络层的问题。如果你之前配过系统代理PowerShell 可能走了代理导致连接失败。可以临时清一下$env:HTTP_PROXY $env:HTTPS_PROXY 然后再试。如果清了就通说明是代理配置的问题。reading choices 相关报错这类报错一般是返回结构不对。最常见的原因是 Model ID 填错了导致接口返回了错误信息而不是正常的 choices 结构。检查配置里的 model 字段确认和你控制台里看到的模型名完全一致。还有一种情况是返回了流式数据但代码按非流式解析。OpenClaw 默认应该处理了这种情况但如果你自己改了配置注意 stream 字段。OAuth 相关报错如果你用的是 Claude Code 或者类似工具可能会遇到 OAuth 报错。这通常是因为认证方式选错了。用 API Key 接入的话不需要走 OAuth 流程。检查配置里是不是混用了两种认证方式。飞书消息不回复这个不算报错但很常见。排查顺序网关日志有没有收到事件、模型请求有没有发出去、返回有没有解析成功。如果网关日志里没有事件去飞书开放平台检查事件订阅。如果有事件但没请求检查 OpenClaw 的 channel 配置。如果有请求但没回复检查模型返回。配对失败配对码过期或者输错。重新发一条消息触发配对然后尽快执行配对命令。配对码一般几分钟内有效。这些错我都踩过大部分是配置问题不是代码问题。所以遇到报错先别慌按上面的顺序查一遍基本能定位。6. 长期运行建议与接入入口跑通之后如果你打算让它长期在线有几个点要注意。第一Windows 的电源设置。默认情况下系统空闲一段时间会休眠你的 AI 助手就断了。去电源选项里把睡眠改成“从不”屏幕可以关但系统不要睡。第二OpenClaw 的日志。装一个 command-logger 这类 Hook把所有操作记下来。出问题的时候日志比你的记忆靠谱。第三模型选择。长期高频调用的话选一个便宜且快的模型。MiniMax 这类在国内接入方便价格也适合 7×24 跑。如果你要做编码类任务可以看看 Coding Plan地址是 https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding_planutm_campaignrewrite 。第四Key 的管理。不要把 Key 写在会提交到 Git 的文件里。用环境变量或者本地配置文件并且把配置文件加到 .gitignore。如果你还没创建 Key去这里https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi_keysutm_campaignrewrite 。创建之后复制保存好。接入文档在这里https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite 。里面有不同工具的配置示例包括 Claude Code 的接入方式。想先试试模型效果的话模型对话入口https://taotoken.net/chat?utm_sourcetaotoken_aicg_blog_endutm_contentmodel_chatutm_campaignrewrite 。整套流程走下来最花时间的其实是飞书那边的配置和排查。模型接入本身很快三件套填对就通。所以如果你卡住了先确认 PowerShell 版本再确认三件套最后查飞书事件订阅。按这个顺序基本能解决大部分问题。
阅读完成 · 觉得有帮助?
咨询建站