OpenClaw 插上微信后 ClawBot 不回话?TaoToken 这样补模型通道

OpenClaw 插上微信后 ClawBot 不回话?TaoToken 这样补模型通道 ClawBot 装好了却不回话这是 OpenClaw 接入微信之后最容易被误判的一步。按步骤 1 用npx -y tencent-weixin/openclaw-weixin-clilatest install装完插件、扫码登录聊天列表里确实多出一个叫 ClawBot 的机器人可你照着步骤 2 发那句「请提取当前会话的元数据告诉我当前的 accountId 和我的 OpenID」对面一点动静都没有。多数人的第一反应是翻插件日志、重扫码、甚至把 openclaw-weixin 卸了重装其实卡住的大概率不是微信插件而是 OpenClaw 背后的模型通道根本还没接上。这时候先去 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_end 注册并创建一把 Key再把 OpenClaw 的 Base URL 填成 https://taotoken.net/apiClawBot 才会重新开口。1. ClawBot 不回话先分清是插件没通还是模型通道没通1.1 装完 openclaw-weixin 之后ClawBot 只是个「耳朵」插件干的事情其实很单一它把微信客户端和本地的 OpenClaw 进程之间拉了一条管道。扫码登录成功微信侧出现 ClawBot 会话入口说明这条管道已经通了收发消息的链路没问题。但管道通不代表大脑在线——ClawBot 收到你那句中文指令之后要把这句话交给 OpenClaw 里的模型去理解、去决定调用哪个工具、去组织返回文本这一整段推理要是没有模型通道消息就停在半路。所以判断顺序应该是先确认微信侧会话是否出现、消息是否能发出去再确认 OpenClaw 侧模型通道有没有配、Key 是否有效。很多人把两件事混在一起查结果在插件日志里翻半天日志干干净净因为插件本身没报错。1.2 那句元数据指令要经过一次完整的模型调用「请提取当前会话的元数据告诉我当前的 accountId 和我的 OpenID」这句话看起来像是一条系统命令实际上它是一条自然语言请求。OpenClaw 需要模型理解你想干什么再决定去读哪个上下文、返回哪两个字段。这中间至少有一次请求要打到模型服务上。如果 OpenClaw 的模型配置是空的、或者指向一个连不通的地址、或者 Key 是失效的这一次调用会直接失败。表现就是微信里消息发出去了显示已发送ClawBot 却永远在「正在输入」或者干脆静默。你在终端里可能只看到一行超时或者 401不翻 OpenClaw 的运行日志根本看不到。这也是为什么补通道这一步最好放在扫码成功之后、写 Skill 之前。2. 给 OpenClaw 补模型通道拿 Key、填 Base URL2.1 在 TaoToken 官网创建这把 Key先把账号和 Key 准备好。打开 TaoToken注册登录后进入控制台在 API Keys 页面新建一把 Key复制出来先存到记事本里。Key 只显示一次关掉页面就看不到了。同时顺手在模型广场看一眼当前可用的模型列表把你打算给 OpenClaw 用的模型 ID 记下来后面配置里要填。这一步别偷懒用别人的 Key也不要几台机器共用一把。OpenClaw 会持续发起请求一把 Key 混用会让用量统计完全对不上出问题也不好定位是哪台机器。Key 在配置里一律写成占位符YOUR_API_KEY实际的字符串只存在你自己本机的配置文件和环境变量里。2.2 把 OpenClaw 的 Base URL 指向 https://taotoken.net/apiOpenClaw 走的是 OpenAI 兼容风格的接口所以只要把请求地址和 Key 换掉就行。Base URL 填https://taotoken.net/api注意末尾不要带/v1也不要在这条地址后面拼任何查询参数——它是给程序用的接口地址跟你在浏览器里打开的官网落地页不是一回事。Windows 下可以用环境变量先设好再启动 OpenClawsetx OPENCLAW_BASE_URL https://taotoken.net/api setx OPENCLAW_API_KEY YOUR_API_KEY setx OPENCLAW_MODEL YOUR_MODEL_ID设完环境变量要重开一个终端窗口老的 cmd 或 PowerShell 不会自动读到新值。如果你更习惯写配置文件OpenClaw 一般会在用户目录下放一份配置可以按下面这个结构改字段名以你本机openclaw config --help或官方文档为准别硬抄{ model: { provider: openai-compatible, baseUrl: https://taotoken.net/api, apiKey: YOUR_API_KEY, model: YOUR_MODEL_ID } }YOUR_MODEL_ID一定要填模型广场里当时真实存在的 ID不要自己拼日期后缀或者猜一个名字。模型列表会变写完配置过几天发现 ID 失效的情况很常见遇到就回 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_end 的模型广场重新抄一遍。注意https://taotoken.net/api是填进工具的接口地址没有末尾斜杠、没有/v1、也不带 UTM 参数。带 UTM 的那条长链接只用于注册、创建 Key 和看用量两者别混。2.3 先做一次最小验证再回微信配置改完不要直接去微信里试先在终端里跑一条最简单的请求确认通道本身是活的。可以用 OpenClaw 自己的探活命令也可以直接在控制台里发一条测试消息看返回是否正常。终端能出结果说明 Base URL、Key、模型 ID 这三样至少没有明显写错。这一步的价值在于把问题范围砍掉一半。如果终端里都调不通那微信里一定不回话而且原因跟 openclaw-weixin 插件毫无关系如果终端通了、微信还是没反应再回头查微信侧的消息路由思路会清楚很多。3. 回到步骤 2让 ClawBot 正常返回 accountId 与 openId3.1 发指令的位置和时机通道配好之后回到原教程的步骤 2。要点是必须由目标微信好友单独和 ClawBot 发起会话而不是你在自己的会话窗口里自言自语。当前插件版本还不支持把 ClawBot 和好友拉进同一个群所以别指望在群里 它得让好友扫你的 OpenClaw 二维码建立单独会话。会话建立后在这个会话里发那句元数据指令。正常情况下 ClawBot 会返回两个值一个是 accountId形如16f8e1774071-im-bot这种带后缀的会话标识另一个是 openId形如o9cq8047YG0rE3HrvgtgBdPyap1cim.wechat。这两个值都是针对「这个好友 这个机器人」这一组关系生成的换个好友就是另一组不能互相复制。3.2 两个参数怎么存进 config.json拿到之后立刻存进配置别留在聊天记录里。tech-news-push-skill/config.json的结构是这样的{ test_mode: false, greeting: 早上好今日晨报, news_count: 10, wechat_friends: [ { name: 好友姓名, target: 好友openId格式xxxim.wechat, account: 好友accountId } ] }target必须带im.wechat后缀少了后缀脚本会走到发送分支然后失败。account直接抄 ClawBot 返回的那串。test_mode先设成false之前建议第一遍留true跑一次确认脚本能正常读完配置、拼出消息、只是不发出去这样能排除掉一大半配置格式问题。4. tech-news-push-skill 目录脚本里跟通道相关的两处4.1 SKILL.md 和 config.json 各管什么Skill 目录下四个东西分工很清楚SKILL.md是给模型看的说明书描述这个技能做什么、什么时候触发config.json是给人改的参数好友列表、问候语、条数都在这里scripts/放两个 Python 脚本logs/是脚本自己生成的。目录结构照原教程建tech-news-push-skill/ ├── scripts/ │ ├── fixed_real_time.py │ └── add_multiple_friends.py ├── SKILL.md ├── config.json └── logs/add_multiple_friends.py用来交互式地往config.json里加好友运行python scripts\add_multiple_friends.py按提示依次输入姓名、openId、accountId输错了输入done退出重来。它只改配置文件不碰模型通道通道问题在这一步不会有任何体现。4.2 fixed_real_time.py 里的 OPENCLAW_CMD 与消息转义fixed_real_time.py里跟运行环境强相关的有两处。第一处是顶部那个OPENCLAW_CMD常量它指向本机 npm 全局目录下的openclaw.cmd比如C:\Users\你的用户名\AppData\Roaming\npm\openclaw.cmd。路径写错脚本第一句检查就会退出。第二处是消息转义换行符要先替换成字面量\n再交给命令行否则微信收到的消息会在第一个换行处被截断。脚本还会做一次 emoji 清理把标题里可能混进来的表情符号去掉。这是为了绕开部分环境下的编码兼容问题不是可有可无的装饰。你自己改脚本时别把这几行删了尤其在 Windows 上cmd 的默认代码页跟 Python 的 UTF-8 输出之间很容易打架。5. 跑 python scripts\fixed_real_time.py看 logs\fixed_real_time.log5.1 日志里应该出现哪几行手动跑一次python scripts\fixed_real_time.py然后打开logs\fixed_real_time.log。一份正常的日志大致是这样的顺序先是启动行和时间戳接着是「开始新闻推送任务」然后是「配置加载成功」再往下列出找到的好友数量、抓到的新闻条数、生成消息的长度最后是每个好友的发送结果和汇总的推送完成: N/M。只要看到最后那行分子分母对得上说明整条链路是通的。5.2 不回话时按这张表对一遍真出问题的时候对照下面几条看比盲目重装插件快得多现象更可能的原因处理方向ClawBot 完全静默终端 401Key 写错或已失效回控制台重新创建一把替换YOUR_API_KEY请求发出但返回模型不存在模型 ID 抄错或已下架去模型广场重新确认 ID终端通、微信不回好友参数或会话关系不对重新走一遍步骤 2 取 accountId 与 openId消息只有半截换行符没转义检查脚本里的\n替换逻辑日志显示成功但没收到发送目标带错后缀确认 openId 以im.wechat结尾前两条属于通道问题第三条属于插件与参数问题后两条属于脚本格式问题。把这几类分开处理就不会出现「明明是 Key 错了却一直在卸载微信插件」这种绕远路的情况。6. setup_daily_task.bat 之后的收尾6.1 定时任务只负责「定时」通道要保持可用步骤 5 的定时任务照原教程做写好setup_daily_task.bat用管理员身份运行或者直接手敲schtasks /create /tn OpenClaw_微信新闻推送 /sc daily /st 08:00 /ru SYSTEM /rl HIGHEST /f。任务建好之后可以schtasks /run /tn OpenClaw_微信新闻推送立刻触发一次再type logs\fixed_real_time.log看结果。这里有个容易被忽略的前提计划任务只保证脚本在 8 点被叫起来它不保证模型通道是活的。如果 OpenClaw 进程没在跑、或者通道配置被改坏了任务照样会执行、照样写日志只是日志里全是失败。所以定时任务上线之后每天早上扫一眼日志尾部的汇总行比什么都管用。6.2 去控制台对一下这次的调用脚本跑通之后最值得做的一件事是对账去 TaoToken 模型对话 用同一把 Key 发一条测试消息确认返回正常、模型 ID 和 Base URL 都没写歪再去 控制台 API Keys 看这把 Key 的调用记录有没有记上。如果打算让 OpenClaw 长期每天跑新闻推送可以顺带看看 Coding Plan 的套餐是否够用再决定要不要换一把单独的 Key 给定时任务用。回到最初那个问题ClawBot 装了不回话九成不是微信插件坏了而是 OpenClaw 少了模型通道。Key 和 Base URL 补上步骤 2 的参数就能正常吐出来后面的 Skill、config.json、Python 脚本和 Windows 定时任务才有意义。微信侧的插件安装、好友参数获取、定时任务这三段仍然按原教程一步步做TaoToken 只负责把手里的那把 Key 和接口地址交给你。