
1. 从 PowerShell 报错说起openclaw 接入微信为什么总提示未找到你大概率是在微信更新后看到可以接入 openclaw 的消息兴冲冲打开 PowerShell敲下那条官方指令npx -y tencent-weixin/openclaw-weixin-clilatest install结果终端直接甩回来一句[openclaw-weixin] 未找到 openclaw请先安装 npm install -g openclaw 详见 https://docs.openclaw.ai/install你按提示装了npm install -g openclaw再跑一遍还是同样的报错。这时候很多人会开始怀疑人生明明全局装了openclaw -v也能打印版本号为什么安装器就是找不到这个问题的核心其实不在 openclaw 本身而在weixin-cli这个安装器内部用了一个which函数去探测 openclaw 可执行文件的位置。which是 Unix/Linux 体系里的命令Windows PowerShell 原生并不支持它。PowerShell 里对应的是Get-Command或者更接近的where.exe。所以安装器在 Windows 上执行which openclaw时永远拿到null于是它认定你没装直接抛出「未找到 openclaw请先安装」。换句话说这是一个探测逻辑的兼容性问题不是你的环境真的缺东西。理解这一点之后解决思路就很清晰了绕开这个有问题的安装器手动完成它本来要做的三件事——装插件、登录通道、重启网关。这篇内容面向的是正在本地折腾 openclaw 接入微信、被这条报错卡住的开发者。我会从环境变量、安装路径、依赖版本一路排查到统一 Key/API 通道的配置给出可以直接复制的检查命令和配置片段让你在本地复现并确认修复结果。如果你只是想快速跳过报错可以直接看第 3 节的手动安装三连如果你想搞清楚为什么建议从第 2 节顺着看下来。需要先说明一点openclaw 本身是一个本地运行的 Agent 网关它需要调用大模型来完成对话和工具调用。所以除了解决「找不到 openclaw」这个表层问题你还要确保模型通道是通的。后面我会用 TaoToken 作为统一 Key/API 通道来演示配置这样插件装好之后能立刻验证端到端是否跑通。2. 先确认 openclaw 本体是否真的可用环境变量与安装路径排查在动手绕开安装器之前先花两分钟确认你的 openclaw 本体是健康的。很多人跳过这一步结果手动装插件时又撞上新的报错反而更难定位。2.1 用 where.exe 替代 which 做探测打开 PowerShell先跑这几条where.exe openclaw openclaw --version node --version npm --versionwhere.exe openclaw会打印出 openclaw 可执行文件的完整路径通常长这样C:\Users\你的用户名\AppData\Roaming\npm\openclaw.cmd C:\Users\你的用户名\AppData\Roaming\npm\openclaw如果这条命令没有任何输出说明 openclaw 确实没进 PATH或者根本没装成功。这时候再执行npm install -g openclaw装完重新开一个 PowerShell 窗口PATH 变更需要新会话生效再跑一次where.exe openclaw。openclaw --version能打印版本号说明本体可用。node --version建议在 18 以上npm --version建议 9 以上。openclaw 的插件体系对 Node 版本有一定要求版本太低会在加载插件时报模块解析错误。2.2 检查 npm 全局目录是否在 PATH 里Windows 上 npm 全局包默认装在%APPDATA%\npm这个目录必须出现在 PATH 中。检查方法npm config get prefix $env:Path -split ; | Select-String npm第一条会输出类似C:\Users\你的用户名\AppData\Roaming\npm的路径。第二条用来确认这个路径是否已经在当前会话的 PATH 里。如果没有你需要手动把它加进系统环境变量然后重启终端。这里有个容易踩的坑有些人用 nvm-windows 管理 Node 版本切换版本后全局包目录会变之前装的 openclaw 就「消失」了。如果你最近切过 Node 版本重新npm install -g openclaw一次即可。2.3 确认 openclaw 的配置目录openclaw 会在用户目录下生成配置和插件目录。跑一下openclaw config path如果这条子命令不存在可以直接看默认位置Get-ChildItem $env:USERPROFILE\.openclaw正常情况下你会看到config.json、plugins、channels之类的目录。插件就是装到plugins下面的。记住这个路径第 3 节手动装插件时会用到。2.4 依赖版本与网络因素npx -y tencent-weixin/openclaw-weixin-clilatest这条命令会临时下载安装器。如果你的 npm 源不稳定下载到的可能是残缺包或者版本不是最新的。可以先清一下缓存npm cache clean --force然后确认 npm registry 指向的是可用源npm config get registry如果输出的是一个你本地网络访问不畅的地址换成官方源或你常用的镜像源再试。注意这里只是解决下载问题和前面说的which兼容性问题是两码事——即使下载完全正常安装器在 Windows 上依然会因为which返回 null 而报错。排查到这里如果where.exe openclaw有输出、openclaw --version正常那就可以确定报错纯粹是安装器的探测逻辑问题直接进入下一节手动安装。3. 绕开安装器手动装插件、登录通道、重启网关的可复制配置既然安装器坏在探测环节我们就把它的三步核心动作手动执行一遍。这三条命令是解决问题的关键建议按顺序执行。3.1 手动安装微信插件openclaw plugins install tencent-weixin/openclaw-weixin这条命令会把微信通道插件装到 openclaw 的 plugins 目录。执行成功后会看到类似plugin installed: openclaw-weixinx.x.x的输出。如果提示插件已存在可以加--force覆盖openclaw plugins install tencent-weixin/openclaw-weixin --force装完后验证一下插件列表openclaw plugins list你应该能在列表里看到openclaw-weixin状态是 enabled。3.2 登录微信通道openclaw channels login --channel openclaw-weixin这条命令会启动登录流程通常会在终端打印一个二维码或者一个授权链接。按提示用微信扫码或点击授权即可。登录成功后凭证会保存在 openclaw 的 channels 配置里。如果这条命令报「channel not found」说明上一步插件没装成功回到 3.1 检查。如果报网络相关错误检查你的网络是否能正常访问所需服务。3.3 重启网关让配置生效openclaw gateway restart插件和通道配置变更后必须重启网关才会加载。重启后可以看网关状态openclaw gateway status正常应该显示 running。3.4 配置统一 Key/API 通道TaoToken插件装好、通道登录成功后openclaw 还需要一个能调用大模型的通道。这里用 TaoToken 作为统一入口把 Base URL、Key、Model ID 三件套配好。openclaw 的模型配置通常在config.json里。先找到配置文件openclaw config path然后用编辑器打开加入或修改 provider 配置。下面是一个可复制的 JSON 片段路径和字段名按你本地实际结构调整{ providers: { taotoken: { type: openai-compatible, baseUrl: https://taotoken.net/api, apiKey: sk-你的TaoToken密钥, models: { default: { id: claude-sonnet-4-5, name: Claude Sonnet 4.5 } } } }, defaultProvider: taotoken }三件套对应关系要记牢配置项值说明Base URLhttps://taotoken.net/api统一 API 入口不加 UTMAPI Key在控制台创建形如sk-...Model ID如claude-sonnet-4-5按实际可用模型填Key 的获取入口在 TaoToken 控制台的 API Keys 页面创建后复制保存。模型 ID 可以参考接入文档里的模型列表填你账号可用的。配置改完后同样要重启网关openclaw gateway restart如果你用的是 Claude Code 这类工具做编码或者想长期跑 Agent 任务可以考虑用 Coding Plan 来统一管理额度避免每次都要单独配 Key。这个看你的使用强度决定。4. 验证请求从插件加载到端到端对话的成功结果配置改完不代表就通了必须实际发一次请求验证。这一节给你一套从底层到上层的验证动作。4.1 验证插件和通道状态openclaw plugins list openclaw channels list openclaw gateway status三条命令分别确认插件已加载、微信通道已登录、网关在运行。任何一条不对回到第 3 节对应步骤。4.2 验证模型通道连通性在正式走微信之前先用 openclaw 自带的对话命令测一下模型通道openclaw chat --provider taotoken --message 你好请回复一句话确认通道正常如果配置正确你会看到模型返回的内容。这一步能排除掉模型通道的问题把故障范围缩小到微信插件本身。如果这条命令报 401说明 Key 不对或没生效报连接超时说明 Base URL 或网络有问题。具体对照见第 5 节。4.3 端到端验证微信通道模型通道通了之后给微信发一条消息观察 openclaw 网关的日志openclaw gateway logs --follow在微信里发一句「你好」日志里应该能看到消息进入、模型调用、回复发出的完整链路。如果日志里看到消息进来了但没有回复多半是模型通道的问题如果消息根本没进来那是微信通道登录状态的问题。4.4 成功结果的判断标准一次完整的成功验证应该满足openclaw plugins list里有openclaw-weixin且 enabledopenclaw channels list里微信通道状态是 logged inopenclaw chat能拿到模型回复微信发消息后网关日志有完整的收发记录微信里能收到回复四条都满足说明从环境变量到 TaoToken 通道整条链路是通的。这时候再回头看最初那条「未找到 openclaw请先安装」它已经被彻底绕过了。5. 本篇常见错排查401、local proxy failed、reading choices、OAuth 对照手动安装过程中除了原始的「未找到 openclaw」你还可能撞上下面这些报错。逐个对照处理。5.1 401 UnauthorizedError: 401 Unauthorized这是模型通道的鉴权失败。检查三件事API Key 是否复制完整有没有多余空格、Key 是否已过期或被删除、Base URL 是否写成了https://taotoken.net/api注意不要漏掉/api。改完配置记得openclaw gateway restart。5.2 local proxy failedError: local proxy failed to connect这个报错通常出现在网关尝试连接本地代理或上游服务时。先确认openclaw gateway status是 running再确认你的 Base URL 可达。可以在 PowerShell 里直接测curl.exe https://taotoken.net/api如果这条不通说明网络层有问题和 openclaw 配置无关。如果通了但 openclaw 还报这个错检查 config.json 里有没有残留的旧代理配置把它清掉。5.3 reading choices 相关报错TypeError: Cannot read properties of undefined (reading choices)这是典型的响应结构不匹配。openclaw 期望的是 OpenAI 兼容格式的响应里面有choices数组。出现这个报错通常是 Base URL 指向了一个不兼容的端点或者模型 ID 填错了导致上游返回了错误结构。确认 Base URL 是https://taotoken.net/api模型 ID 是接入文档里列出的可用模型。5.4 OAuth 相关报错Error: OAuth token expired / invalid_grant如果你在微信通道登录时用了 OAuth 流程凭证过期会出现这个。重新执行openclaw channels login --channel openclaw-weixin重新扫码授权即可。如果反复过期检查系统时间是否准确时间偏差过大会导致 OAuth 校验失败。5.5 插件装了但 list 里看不到执行openclaw plugins install显示成功但openclaw plugins list里没有。先确认你装插件和查列表用的是同一个 openclaw 实例同一个 Node 版本、同一个用户目录。用where.exe openclaw确认路径用openclaw config path确认配置目录。如果最近切过 Node 版本重新装一次插件。5.6 排错顺序建议遇到多个报错时按这个顺序排查效率最高先where.exe openclaw确认本体再openclaw plugins list确认插件再openclaw chat确认模型通道最后才测微信端到端。从底层往上层排能避免在错误的方向上浪费时间。6. 把通道固定下来长期使用 openclaw 接入微信的配置建议报错解决之后建议把配置固定下来避免下次 Node 版本切换或重装系统后又要重新折腾。第一把 openclaw 的配置目录纳入你的备份范围。config.json里存着 provider 配置和通道凭证备份它等于备份了整条链路。插件本身可以重装但登录凭证重来一次比较麻烦。第二如果你经常切换 Node 版本考虑固定一个版本专门跑 openclaw。nvm-windows 切换后全局包会丢这是很多人「昨天还好好的今天又报未找到」的根本原因。第三模型通道建议统一走一个入口。像 TaoToken 这种统一 Key/API 通道的好处是你换模型、换工具时不用到处改 Key。openclaw、Claude Code、其他 Agent 工具都可以指向同一个 Base URL管理成本低很多。需要创建新 Key 时去控制台操作接入细节看文档即可。第四把第 3 节那三条手动命令记下来。下次再遇到安装器报「未找到 openclaw」直接手动执行不用再去研究which和where.exe的区别。这三条命令是openclaw plugins install tencent-weixin/openclaw-weixin openclaw channels login --channel openclaw-weixin openclaw gateway restart最后提醒一句openclaw 是本地网关它负责调度和转发真正的模型能力来自你配置的通道。所以「未找到 openclaw」只是入口问题通道配好、验证通过整条链路才算真正跑起来。按第 4 节的四条标准逐项确认你就能确定自己的环境是健康的。