为了在 RK3568(Android12)这块板子上把微信 ClawBot 养起来,我从 Termux 一路装到 OpenClaw,最后卡在openclaw onboard的模型认证那一步:Kimi2.5 的 API Key。手头那把 kimi for coding 的官方 Key 在 PC 上挺好用,但放进嵌入式设备的长会话里,总担心多步任务跑到一半把额度吃光。后来我把模型认证信息整体换到 TaoToken,先在 https://taotoken.net/?utm_source=taotoken_aicg_blog_end 创建一把 Key,再在 onboard 向导里填进去,微信 ClawBot 的长会话和工具调用才稳定走通。这篇按我实际操作的顺序记录,前半段是原文就有的 RK3568 环境准备,第九节开始是这次改动最大的地方。
1. 养“虾”前的硬件清单:RK3568 + Android12 + 一根 USB 线
1.1 板子和 USB 调试
设备是 RK3568,系统 Android12,USB OTG 正常,能上公网,有没有屏幕都不影响后续操作。PC 端用 Win11 的 Windows PowerShell。先从 Android 官方页面下载 platform-tools,解压路径不要带中文,否则后面 adb 命令可能因为路径解析问题莫名失败。把解压出来的platform-tools目录加到环境变量 Path 里,重启 PowerShell,执行:
adb version能打印版本号就说明 ADB 装好了。接下来开启开发者选项:有屏幕的板子在「设置 - 关于手机」里连点版本号 7 次,然后到「系统 - 高级 - 开发者选项」打开 USB 调试;没屏幕的板子只能在编译系统时默认开启 ADB,重新烧录后再继续。这一步和原文完全一致,只是提醒一句:烧录完第一件事就是验证adb devices能列出序列号,省得后面所有步骤都建立在连接不稳定的基础上。
1.2 无线 ADB 与 SSH 两条路
USB 连着操作也可以,但后面要频繁敲 Termux 命令,插着线总归不方便。建议先把 Wi-Fi 连上,让板子和 PC 处在同一局域网。原文给了一整套adb shell cmd wifi命令,我照做后拿到了板子的 IP,我这里是 192.168.1.195。接着做无线 ADB:
adb tcpip 5555 adb connect 192.168.1.195:5555看到connected to 192.168.1.195:5555就可以拔线了。这里有个容易被忽略的细节:如果之后板子重启,无线 ADB 的端口会失效,得重新插线执行一次adb tcpip 5555。所以更稳妥的做法是后面直接依赖 SSH 进 Termux,无线 ADB 只作为兜底通道。
2. 从 Termux 到 Ubuntu:把 OpenClaw 装进 proot
2.1 proot-distro 安装 Ubuntu
Termux 的 apk 在 GitHub Releases 里下载 arm64 版本,因为 RK3568 是 ARM64 架构。用adb install装好后,通过adb shell am start启动。此时 adb 输入文本的方式操作 Termux 非常痛苦,所以先装 openssh:
pkg install openssh -y passwd sshd密码设简单点没关系,反正只在局域网用。然后在本机 PowerShell 里做端口转发并联机:
adb forward tcp:8022 tcp:8022 ssh -p 8022 192.168.1.195登录成功后,进入 Ubuntu 环境:
apt update && apt upgrade -y apt install -y proot-distro proot-distro install ubuntu proot-distro login ubuntu出现root@localhost就说明已经进入 Ubuntu。这里有个坑:proot 的 Ubuntu 和 Termux 共享同一个内核,但文件系统独立,所以 Node.js、npm 都要在 Ubuntu 里重新装。
2.2 升级 Node.js 到 v22 再装 OpenClaw
Ubuntu 自带 npm 版本可能偏低,OpenClaw 要求 Node.js v22 以上,所以先用 NodeSource 升级:
curl -sL https://deb.nodesource.com/setup_22.x | bash - apt install nodejs -y node --version确认版本号大于等于 v22 后,安装 OpenClaw:
npm install -g openclaw --ignore-scripts openclaw --version网络一般的话,这一步可能得等十几分钟,看到像素版圈圈转完就说明装好了。接着创建工作区并初始化:
mkdir -p ~/openclaw-workspace cd ~/openclaw-workspace openclaw init到这里,前面八节的准备工作就全部结束。下面进入这次改造的核心:onboard 向导里的 Kimi2.5 认证信息。
3. openclaw onboard:Kimi2.5 的 Key 换成 TaoToken
3.1 先去 TaoToken 创建 API Key
执行openclaw onboard,向导会先问是否使用 QuickStart,选 Yes 后进入模型选择列表。找到 Moonshot AI (Kimi K2.5) 这一项,确认回车。原文到这里会要求输入 kimi for coding 的 API Key,我的改法是:先打开 TaoToken 注册并登录,在控制台里创建一把 API Key。
这里需要说清楚两件事。第一,TaoToken 是统一 API 兼容通道,不是把官方 Key 换个地方存,而是把 Kimi2.5、Claude、Codex 这些模型收到同一个入口里,计费和用量统一在一个控制台看;第二,创建 Key 后复制出来的字符串就是 YOUR_API_KEY,后面填进 OpenClaw 的是它,不是 kimi 官方控制台那把。注意官网地址用于注册、创建 Key、看模型广场和用量,它跟后面填进工具的 Base URL 是两回事,别混。
3.2 向导里填 Key,Base URL 指向 https://taotoken.net/api
回到openclaw onboard向导,在输入 API Key 的那一栏,粘贴刚从 https://taotoken.net/?utm_source=taotoken_aicg_blog_end 复制出来的 Key。如果向导里提供了 Base URL 输入框,就填:
https://taotoken.net/api注意末尾不要加/v1。TaoToken 的接口地址统一是https://taotoken.net/api,注册登录走官网,接口地址走这个,两者用途不一样。如果 onboard 向导只问 Key 不问 Base URL,那也先继续完成向导,后面在openclaw.json里补上 Base URL 即可,见 3.3。
3.3 onboard 之后检查 openclaw.json 里的模型配置
向导结束后,打开~/.openclaw/openclaw.json,找到 onboard 生成的 Kimi2.5 模型条目。不同 OpenClaw 版本字段名可能有差异,有的写baseURL,有的写base_url,但核心逻辑一样:把模型请求的地址指向https://taotoken.net/api,再把apiKey换成YOUR_API_KEY。改完先别急着重启网关,后面还有 gateway 的配置要一起处理。
{ "models": { "kimi-k2.5": { "provider": "moonshot", "baseURL": "https://taotoken.net/api", "apiKey": "YOUR_API_KEY" } } }这段配置以你 onboard 自动生成的真实结构为准,上面的 JSON 只是示意。保存后可以执行openclaw config get models检查当前生效的模型配置,确认地址已经指向 TaoToken。
4. 网关开在局域网:微信 ClawBot 的 Control UI 接入
4.1 修改 openclaw.json 的 gateway
为了让局域网里的 PC 浏览器能打开 Control UI,需要改openclaw.json里的gateway字段。原文这一步写得比较细,核心是三个点:bind从loopback改成lan,controlUi里放开allowInsecureAuth和dangerouslyDisableDeviceAuth,allowedOrigins加入板子的局域网 IP。改完用 Ctrl+O、Ctrl+M、Ctrl+X 保存退出。注意 origin 里的 IP 要用板子实际的局域网 IP,别照抄我的 192.168.1.195,否则浏览器访问时会被 CORS 拦下来。
4.2 开启网关并用浏览器验证模型调用
在 Termux 的 Ubuntu 环境里执行:
openclaw gateway等大约五分钟,让网关完成初始化。然后 PC 浏览器访问http://192.168.1.195:18789,输入刚才拷贝的网关 token,进入聊天界面。随便问一句「你是什么模型」,如果返回正常,说明 Kimi2.5 已经通过 TaoToken 的通道连上了。这一步很重要:如果答非所问或者直接报错,先回openclaw.json检查 Base URL,而不是怀疑板子性能。RK3568 跑 OpenClaw 本身没问题,问题大多出在模型认证信息上。
5. 微信插件安装与扫码登录
5.1 安装 openclaw-weixin 插件
网关正常后,安装微信插件:
openclaw plugins install "@tencent-weixin/openclaw-weixin" openclaw config set plugins.entries.openclaw-weixin.enabled true安装过程会拉取插件包,网速慢的话多等一会儿。如果提示插件不存在,先执行openclaw plugins list看插件市场里可用的插件名,不同版本插件名可能带版本后缀。
5.2 生成二维码并重启网关
生成登录二维码:
openclaw channels login --channel openclaw-weixin微信版本需要注意,原文用的是 iOS 微信 8.0.70 及以上,Android 端直接扫码即可。扫码后等「连接成功」提示,再执行:
openclaw gateway restart这一步做完,RK3568 就变成了一个微信好友。给它发消息,OpenClaw 会把消息拆成多步任务,每一步的模型调用都走 TaoToken 计量,长会话不太容易因为单次额度限制被打断。
6. 验证、排障与最后一步
6.1 用一句话验证 Kimi2.5 是否真的走通 TaoToken
给微信里的 ClawBot 发一条需要推理的消息,比如让它解释一个简单算法,再发一条带上下文的追问,确认长会话没有断。如果两条都正常,说明模型调用已经稳定走通。此时可以打开 https://taotoken.net/?utm_source=taotoken_aicg_blog_end 的控制台,看看刚才这几条消息是否已经记录了调用次数和 Token 消耗。这一步能同时确认两件事:模型确实走的是 TaoToken 通道,以及计费数据真的进了统一控制台。
6.2 4008 断开连接与 Key 配错的常见表现
原文参考资料里有一条openclaw-disconnected-4008-connect-failed。我实际遇到的是网关和微信插件之间偶发断连,表现是 Control UI 正常,但微信里发消息没反应。这类问题先看网关日志:
openclaw gateway logs --tail 50如果日志里有认证失败(401)或模型不存在(404),多半是 API Key 或 Base URL 填错了。对照 3.3 的步骤再检查一遍openclaw.json。401 表示 Key 有问题,重新去 https://taotoken.net/?utm_source=taotoken_aicg_blog_end 创建一把再换;404 则说明模型 ID 可能没对上,去官网模型广场确认当前可用的模型 ID,不要凭记忆写。注意这里不要给https://taotoken.net/api加任何路径后缀,也不要改成https://taotoken.net/api/v1,接口地址和官网落地页是两个用途。
6.3 在控制台对一次调用记录
最后一步,回到 https://taotoken.net/?utm_source=taotoken_aicg_blog_end 的用量页面,找到刚才那次微信对话对应的调用记录。确认 Token 计量正常后,就可以放心让 ClawBot 常驻了。如果之后想把同样的 Key 用到别的场景,可以直接从模型对话发一条消息测 Key,在Coding Plan里看长会话套餐是否够用,Key 管理统一在控制台 API Keys页面。需要对照环境变量接法的,可以翻Claude Code 接入文档。