终于把OpenClaw接入微信了,安全可控,详细教程看这篇(TaoToken 统一 Key 版)
1. 为什么我要把 OpenClaw 接进微信而不是继续用网页OpenClaw 是一个可以跑在自己服务器上的 AI 助手框架能接工具、能执行自动化任务、能通过 gateway 暴露一个对话入口。它本身自带网页控制台但网页控制台有个很现实的问题你不可能一直开着浏览器标签页手机上也很难随时打开一个内网地址。而微信是每天打开次数最多的 App把 OpenClaw 的对话入口放进微信等于把「随手问一句」的成本降到最低。我之前的用法是 OpenClaw 接飞书、接 Discord后来也试过 QQ。飞书适合团队协作Discord 适合技术社区QQ 适合年轻人群体但真正覆盖所有人、所有场景的还是微信。尤其是当你想在微信里问一句「服务器磁盘还剩多少」「帮我把昨天那个定时任务日志拉出来看看」的时候OpenClaw 微信就是最顺手的组合。这篇要解决的核心问题不是「怎么让 OpenClaw 能回消息」而是多工具调用时鉴权分散、Key 到处散落、安全边界不清晰的问题。OpenClaw 在跑自动化任务时会调用多个模型和工具如果每个工具都单独配一套 Key管理起来非常痛苦而且一旦某个 Key 泄露排查范围很大。我的做法是用 TaoToken 统一 Key 来收敛模型调用入口再通过 gateway 把微信/企业微信的入口接进来形成一条「微信消息 → gateway → OpenClaw → 统一模型调用」的链路。适合谁看已经在云服务器上部署了 OpenClaw、想让它在微信里可用、并且希望鉴权集中管理的人。如果你还没部署 OpenClaw这篇的 gateway 配置和统一 Key 接入位置同样有参考价值但你需要先把基础环境跑起来。需要提前说明一点这个方案要求 OpenClaw 部署在公网可访问的服务器上。本地部署不是完全不行但要做 NAT 穿越配置复杂且不稳定不建议在正式使用场景里折腾。下面我从 gateway 配置开始一步步把链路打通。2. TaoToken 统一 Key 在 OpenClaw gateway 中的接入位置OpenClaw 的模型调用配置集中在openclaw.json里。默认情况下你可能会在多个地方分别填 API Key比如对话模型一个、工具调用一个、嵌入模型一个。这种分散配置在单机测试时没问题但一旦接入微信这种 7×24 在线的入口Key 的管理和安全就变成必须处理的事。TaoToken 的作用是把模型调用收敛到一个统一的 Base URL 和一把 Key 上。你可以在 TaoToken 的控制台创建 API Key然后把 OpenClaw 的模型请求指向 TaoToken 的 API 地址。这样 OpenClaw 内部不管调用哪个模型走的都是同一个鉴权入口你只需要在一个地方轮换 Key、在一个地方看调用量。具体接入位置在openclaw.json的models或providers段不同版本字段名略有差异以你本地实际结构为准。核心是三个值Base URLhttps://taotoken.net/apiAPI Key你在 TaoToken 控制台创建的 KeyModel ID你要使用的模型标识如果你用的是 Claude Code 类的编码场景或者 OpenClaw 里集成了 Cline MCP、Codex 这类工具同样把它们的 Base URL 指向 TaoTokenKey 用同一把。这样「三件套」——Base URL、Key、Model ID——在多个工具之间保持一致排查问题时不会因为某个工具用了旧 Key 而出现 401。我试过在 OpenClaw 里同时挂对话模型和工具调用模型统一走 TaoToken 之后最明显的变化是日志里不再出现多个不同的鉴权来源出问题时只需要看一个 Key 的状态。对于微信这种长期在线的入口这一点很重要你不可能每天去检查五个 Key 有没有过期。另外TaoToken 的 API Key 页面和接入文档建议放在手边配置过程中随时对照字段。控制台里可以创建多个 Key 做环境隔离比如一个给生产微信入口用一个给本地调试用避免调试时的误操作影响线上。需要提醒的是统一 Key 不等于可以随便泄露。openclaw.json里包含 Key 和微信回调的 token、EncodingAESKey这个文件不要提交到公开仓库也不要在截图里暴露。公网 HTTP 访问本身安全度有限所以更要把 Key 管理好。3. 可复制的 gateway 与 wecom-app 配置片段这一节给出可以直接复制修改的配置。先改 gateway 部分让 OpenClaw 监听公网地址。打开openclaw.json找到 gateway 相关配置按下面调整{ gateway: { bind: lan, controlUi: { allowedOrigins: [http://你的公网IP:18789] }, allowInsecureAuth: true, dangerouslyDisableDeviceAuth: true } }bind从loopback改成lan这样服务不再只监听 127.0.0.1而是监听公网网卡。allowedOrigins填你的公网 IP 加端口否则控制台会拒绝跨域访问。allowInsecureAuth和dangerouslyDisableDeviceAuth设为 true 是为了在 HTTP 下也能访问省去配 HTTPS 证书的步骤。代价是安全性下降所以不要泄露 IP 和 token。改完后重启 gatewayopenclaw gateway restart然后用公网地址打开控制台状态显示 Connected 就说明 gateway 公网可达。接下来安装微信插件openclaw plugins install openclaw-china/wecom-app安装大概几十秒。完成后在openclaw.json的plugins段确认wecom-app已启用。然后配置wecom-app通道。把企业微信后台拿到的 token、EncodingAESKey、企业 ID、AgentID、Secret 填进去{ channels: { wecom-app: { enabled: true, webhookPath: /wecom-app, token: 你从企业微信后台获取的Token, encodingAESKey: 你从企业微信后台获取的EncodingAESKey, corpId: 你的企业ID, corpSecret: 你的应用Secret, agentId: 你的AgentID } } }这里五个值缺一不可。webhookPath保持/wecom-app和企业微信后台填的回调路径对应。corpId在「我的企业」里找corpSecret和agentId在自建应用里找token和encodingAESKey在接收消息的 API 设置里随机生成。配置完成后再次重启openclaw gateway restart没有报错的话回到企业微信后台在接收消息的 URL 里填http://你的公网IP:18789/wecom/app注意这里后台填的是/wecom/app而配置文件里写的是/wecom-app两者是不同层面的路径映射按你实际插件文档为准。保存时企业微信会发一个验证请求如果 gateway 正常、配置正确会提示保存成功。如果你在 OpenClaw 里还接了 Cline MCP 或 Codex记得把它们的 Base URL 也指向https://taotoken.net/apiKey 用同一把Model ID 按你实际使用的填。这样微信入口触发的任务和你在本地编码工具里调用的模型走的是同一套鉴权。4. 从微信消息触发到回调验证的端到端检查配置写完不代表链路通了。这一节给一条从消息触发到回调验证的完整检查动作你可以按顺序走一遍。第一步确认 gateway 公网可达。在服务器上执行curl -i http://你的公网IP:18789/如果返回 HTTP 响应而不是连接拒绝说明 gateway 在监听。如果连不上检查云服务器安全组是否放行了 18789 端口以及bind是否真的改成了lan。第二步确认插件加载。查看 OpenClaw 启动日志openclaw gateway logs在日志里搜索wecom-app应该能看到插件注册和 webhook 路径注册的记录。如果没看到说明插件没装好或没启用回到plugins段检查。第三步在企业微信后台保存回调 URL。保存时企业微信会向你的 gateway 发一个验证请求gateway 需要用 token 和 EncodingAESKey 解密并返回正确响应。如果保存失败常见原因是 token 或 EncodingAESKey 填错、webhookPath 不匹配、或者 gateway 没有公网可达。第四步扫码绑定微信插件。在企业微信后台找到微信插件上传 logo生成二维码用微信扫码。扫码后微信里会出现这个应用入口。第五步发一条测试消息。在微信里打开这个应用发一句「你好」或者「查看服务器状态」。观察 gateway 日志是否收到消息、是否触发模型调用、是否返回回复。如果微信里没收到回复但日志显示消息已处理检查企业微信应用是否配置了可信 IP 或回调权限。第六步验证统一 Key 是否生效。在日志里找到模型调用记录确认请求地址是https://taotoken.net/api而不是其他分散的地址。如果看到 401说明 Key 不对或没生效回到 TaoToken 控制台确认 Key 状态。这条链路走通后你在微信里发的每条消息都会经过微信 → 企业微信应用 → gateway → OpenClaw → TaoToken 统一模型调用 → 返回。任何一环出问题都可以用上面的步骤定位。5. 常见报错排查401、local proxy failed、reading choices、OAuth这一节对照几个真实会遇到的报错给出排查方向。401 Unauthorized最常见。出现在模型调用阶段说明 TaoToken 的 Key 无效、过期或没填对。检查openclaw.json里模型配置的 Key 是否和 TaoToken 控制台一致Base URL 是否是https://taotoken.net/api。如果你在多个工具里用了不同的 Key确认微信入口这条链路用的是正确的那把。另外Key 如果有环境隔离确认生产环境用的是生产 Key。local proxy failed通常出现在 gateway 启动或插件加载阶段说明本地代理或端口转发配置有问题。检查bind是否改成了lan端口是否被占用云服务器安全组是否放行。如果你之前配过本地代理确认没有残留配置干扰。reading choices 相关报错这类错误一般出现在模型返回结构解析阶段说明请求发出去了但返回格式不符合预期。常见原因是 Model ID 填错或者 Base URL 指向了一个不兼容的接口。确认你填的 Model ID 在 TaoToken 支持列表里Base URL 没有多余路径。OAuth 相关报错如果你在 OpenClaw 里接了需要 OAuth 的工具比如某些 MCP 服务报错说明授权流程没走完或 token 过期。这类问题不在 TaoToken 的 Key 管理范围内需要回到对应工具的授权页面重新走一遍。但你可以把这类工具的模型调用部分统一指向 TaoToken减少鉴权来源。排查时的一个原则先确认 gateway 公网可达再确认插件加载再确认企业微信回调保存成功最后确认模型调用 Key 有效。按这个顺序走大部分问题都能定位到具体环节。日志是你最好的朋友openclaw gateway logs里会记录每个请求的进出和错误堆栈。6. 把入口收进微信之后我的实际使用方式链路打通后我在微信里主要用它做几件事查服务器状态、触发定时任务、拉日志摘要、问一些需要结合上下文的问题。因为是企业微信应用的形式它不能被拉进群只能单点聊这反而让边界更清晰——它是一个工具入口不是一个社交账号。统一 Key 带来的好处在长期使用中才体现出来我不用记哪个工具用哪把 Key轮换时只改一个地方调用量也集中在一个面板上看。对于微信这种每天都在用的入口稳定和可管理比功能多更重要。如果你也在自己的服务器上跑 OpenClaw建议先把 gateway 和统一 Key 这两步做扎实再接微信。配置片段可以直接复制上面的但记得把 IP、端口、Key、企业微信的五个值换成你自己的。回调验证那一步不要跳过它是确认整条链路可用的关键动作。
上一篇/下一篇内容由系统自动关联
返回资讯列表 →