1. 配对码提示成功,ClawBot 却一句话都不回
配对码输完、终端跳出授权通过,微信里给 ClawBot 发消息却始终没有动静——这是把 Claude Code 接进微信时最容易走偏的一次排障。多数人第一反应是去翻微信设置、重扫二维码、怀疑安卓灰度更新没生效,其实链路根本没走到微信那一侧。cc-weixin 这套方案里,消息要穿过两段路:第一段是「微信 → 本地监听进程」,第二段是「本地 Claude Code → 模型接口」。配对码只解决了第一段的身份校验,它证明的是「这个微信号有权限调用你本机的 bot」,完全不代表第二段是通的。第二段的开关不在插件里,而在 Claude Code 自己的settings.json:ANTHROPIC_BASE_URL和ANTHROPIC_AUTH_TOKEN没填对,请求在本地就被拦下了,微信端自然只能干等。
判断顺序建议从终端往回倒推。监听窗口(claude --dangerously-load-development-channels server:weixin)如果在你发消息时毫无输出,说明消息压根没到模型调用这一步;如果刷出了收到消息的日志、后面却没有回复,那基本可以确定是模型通道没配通。更快的验证方式是在另一个终端单独跑一句claude -p "只回复两个字:通了",这句能出话,说明 Claude Code 本体没问题,问题就锁死在 settings 相关配置上。定位清楚再动手,比反复扫码省时间。
这篇按排障顺序写:先把模型通道补上,再回头验证微信侧的文字、图片、语音能不能正常拿到回复。
2. 补上模型通道:TaoToken 拿 Key 的完整步骤
TaoToken 在这里承担的角色很明确,就是 Claude Code 的模型调用入口,给命令行工具提供一个可用的BASE_URL和一把AUTH_TOKEN。它能让 Claude Code 这类 Anthropic 协议兼容的客户端正常发请求,适合已经在用命令行 AI 工具、需要长期跑编码任务和自动化脚本的开发者。你不需要改插件的任何代码,只需要在 Claude Code 的配置里把地址和密钥指向它,微信侧那套插件链路原样保留。
第一步是拿到密钥。打开https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content=clawbot_settings完成注册,进控制台找到 API Keys 页面,点创建,复制生成的这一串sk-开头的字符串。这串东西只完整显示一次,建议直接丢进密码管理器,别放在微信收藏里。控制台里同时会列出可用的模型名,先记住一个你要用的,后面写配置时要用到,不要凭印象手打。
第二步是确认两个变量的含义,这一步想清楚,后面基本不会错。ANTHROPIC_BASE_URL是请求发往哪里,填https://taotoken.net/api就行,注意结尾不要带/v1,也不要带上任何查询参数,很多人下意识把文档里看到的完整 URL 原样贴进去,多出来的路径会让请求打到错误的路由上。ANTHROPIC_AUTH_TOKEN就是刚才那把 Key,原样粘贴,前后不要留空格。如果你之前为了用官方服务设置过ANTHROPIC_API_KEY,建议在配置文件里把它清掉,两个凭证同时存在时,客户端取哪个是不确定的,这属于典型的「配置看起来没错但就是不回话」。
如果你只是临时验证一次,也可以在 shell 里用环境变量顶一下,但记得这种方式只在当前窗口有效,关掉终端就没了。
export ANTHROPIC_BASE_URL="https://taotoken.net/api" export ANTHROPIC_AUTH_TOKEN="sk-你复制到的那串Key" claude -p "只回复两个字:通了"能打印出「通了」,说明通道本身没问题,可以进入下一步把它写进配置文件做长期生效。
3. 改 settings.json:可直接复制的三段配置
3.1 先找到文件放在哪
Claude Code 读取的是用户级配置文件,位置和系统有关。macOS 和 Linux 下是~/.claude/settings.json,Windows 下是C:\Users\你的用户名\.claude\settings.json。如果这个文件还不存在,就是新建一个,别去改项目目录里那份,项目级配置会随仓库走,塞密钥进去既容易泄漏也容易和别人的配置打架。
用编辑器直接打开更省事,命令如下。
mkdir -p ~/.claude nano ~/.claude/settings.jsonnotepad $env:USERPROFILE\.claude\settings.json3.2 写入 env 段
文件里只保留下面这一份结构就够了,env是 Claude Code 启动时注入的环境变量集合,把两个值放进去,重启会话就会自动生效。
{ "env": { "ANTHROPIC_BASE_URL": "https://taotoken.net/api", "ANTHROPIC_AUTH_TOKEN": "sk-你复制到的那串Key" } }如果你本地已经有一份settings.json,里面有别的字段,那就只在顶层加一个env键,别整个覆盖掉。改完把它保存为 UTF-8 编码,Windows 上用记事本要注意别存成带 BOM 的格式,个别版本的解析器遇到 BOM 会直接报 JSON 解析失败,表现就是 Claude Code 启动时报一句看不懂的错。
3.3 顺手把模型名一起写进去
有的场景下默认模型不一定是你想用的那个,可以在同一层env里补一个模型名。具体填什么按 TaoToken 文档里的可用模型列表来,不要随手写一个自己猜的名字,模型名拼错时接口通常不会给明确提示,只会表现为长时间转圈或者直接报错。
{ "env": { "ANTHROPIC_BASE_URL": "https://taotoken.net/api", "ANTHROPIC_AUTH_TOKEN": "sk-你复制到的那串Key", "ANTHROPIC_MODEL": "按文档填写的模型名" } }3.4 必须重启会话才算生效
配置是在claude进程启动那一刻读进内存的,改完文件不重启,跑着的会话用的还是旧值。做法是关掉所有 Claude Code 窗口,包括那个正在跑server:weixin监听的窗口,然后重新开一个终端执行claude。这一步看起来像废话,但它是「明明改对了却不生效」的头号原因,很多人的实际操作是把配置文件改完直接去微信发消息,监听进程还挂着旧环境,当然没反应。
4. 验证链路:从 claude -p 到微信回话
4.1 第一层验证:命令行本身能不能说话
新开终端,先跑这句。
claude -p "只回复两个字:通了"几秒内打印出「通了」,说明settings.json已经被读取,模型通道是活的。这一步不过关就别去折腾微信,先把 401、404 这类错误解决掉,它们在下一节的表格里有对应处理方式。
4.2 第二层验证:监听进程起没起来
确认命令行能出话之后,重新走一遍插件侧的流程。先启动claude --dangerously-skip-permissions,执行/weixin:configure生成二维码,手机扫码确认;如果是安卓设备,扫码后弹出版本更新提示就点更新,更新完把微信从后台彻底划掉再打开,这一步跳过后插件条目不会出现在设置里。
绑定完成后,另开一个终端窗口执行监听命令。
claude --dangerously-load-development-channels server:weixin这个参数名看着唬人,只是说明该功能目前处于开发阶段,和功能是否可用没关系。窗口保持开着别关,它负责把微信来的消息转交给 Claude Code。
4.3 第三层验证:配对与回话
在微信好友列表里找到 ClawBot,随便发一句话,它会返回一个 6 位配对码。回到终端输入下面这条命令,把码替换掉。
/weixin:access pair 123456看到配对成功的提示后,再在 ClawBot 里发一条文字,比如「现在几点」。正常情况下几秒内会收到回复,同时监听窗口里会刷出消息日志,能看到入站消息和模型返回两段记录。这两条同时出现,才算真正打通:只有日志没有回复,问题在模型通道;只有回复没有日志,那你可能还开着别的旧会话,建议全部关掉重来。文字通了之后,再依次试图片和语音,插件会把它们转成模型能处理的形式,验证方式和文字一致。
5. 本篇常见错排查:401、404、配对码失效
把最容易撞上的几种情况列成表,对着现象查更快。
| 现象 | 大概率原因 | 处理方式 |
|---|---|---|
claude -p报 401 / 认证失败 | Key 复制不全、前后带空格或被重置 | 回控制台重新复制一把,粘贴后检查首尾 |
| 报 404 或路径不存在 | BASE_URL结尾多了/v1或带了查询参数 | 严格改成https://taotoken.net/api |
| 命令行正常,微信里不回 | 监听窗口没重启,仍在用旧配置 | 关掉全部 claude 进程,重新起监听 |
| 设置里看不到 ClawBot 条目 | 微信没重启,灰度更新未加载 | 后台划掉微信再打开,进设置里的插件页确认 |
/weixin:configure不出二维码 | 插件未真正加载 | 用/plugin看 installed 列表里有没有 weixin |
| 一直转圈没有结果 | 模型名写错,或该模型不可用 | 按文档里的模型名重新填一次 |
| 启动即报 JSON 解析错误 | 文件被存成带 BOM 或存在多余逗号 | 换成纯 UTF-8,用 JSON 校验工具过一遍 |
| 配对提示成功但发消息无响应 | 配对码超时后仍在使用 | 重新给 ClawBot 发消息拿新码,再 pair 一次 |
还有两个不那么显眼但很常见的点。一个是同时设置了ANTHROPIC_API_KEY和ANTHROPIC_AUTH_TOKEN,客户端可能优先用了前者,请求就发去了不该去的地方,把旧的那个删掉再试。另一个是 Bun 运行时版本太旧,server:weixin起来后静默退出,终端里看不到明显报错,升级一次 Bun 再重启监听就能解决。排查时养成一个习惯:每次只改一个变量,改完立刻用claude -p验证,出问题能立刻知道是哪一步引入的。
6. 把配置固定下来,别每次重配
通道打通之后,建议把settings.json备份一份到私人笔记里,Key 单独存,两者别放在同一个地方。后续换机器或者重装系统,把这份配置贴回去、重启一次会话就能复现,不需要再从头走一遍扫码、更新、配对的流程。
如果你还在收尾阶段,先确认命令行那一层稳定,再去看微信侧的表现。需要新建或更换密钥时,走https://taotoken.net/console/api-keys?utm_source=taotoken_aicg_blog_end&utm_content=clawbot_settings&utm_campaign=rewrite这个入口,字段含义和填写样例可以对照https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_content=clawbot_settings&utm_campaign=rewrite里的说明逐项核对,尤其是地址结尾这种容易多写一个字符的位置。要是你打算把微信里的这个 bot 当成日常编码入口长期用,顺手了解一下https://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_content=clawbot_settings&utm_campaign=rewrite里的额度方案,避免写到一半被额度打断。想先确认某个模型在当前通道下是否可用、回复风格是否符合预期,也可以直接用https://taotoken.net/chat?utm_source=taotoken_aicg_blog_end&utm_content=clawbot_settings&utm_campaign=rewrite发一句话试试,确认无误后再回到 Claude Code 的配置文件里填同一个模型名,两边保持一致能省掉不少来回试错的时间。