
【免费下载链接】weixin-agent-sdk微信Clawbot接入任意Agent项目地址https://gitcode.com/gh_mirrors/we/weixin-agent-sdk点击查看免费下载你的微信 AI 助手能不能不等你开口就主动给你发来一份日报、一条定时提醒、甚至一张图片答案是可以。weixin-agent-sdk 是一个把任意 AI Agent 接入微信的桥接 SDK除了你问它答它还提供了bot.sendMessage()接口让机器人能主动向当前用户推送文本、图片、视频和文件。本文带你完整跑通 weixin-agent-sdk 主动发送消息的流程包括 context_token 机制、媒体推送和常见坑位几十行代码即可上手。为什么微信 Bot 需要主动发消息大多数微信机器人都是被动应答模式你说一句话AI 回一句话。但很多真实场景恰恰需要反方向的推送⏰ 定时提醒每天早上 9 点推送今日日程 任务通知后台任务跑完后把结果文件直接推到你微信 数据日报AI 生成报表后主动发给你而不是等你来问 主动问候服务启动时先发一句我已上线weixin-agent-sdk 中start(agent)会立即返回一个Bot实例它自带sendMessage()方法随时可以把消息推到微信里见 packages/sdk/src/bot.ts。三步实现主动发消息登录、启动、发送整体流程只有三步核心代码结构如下login()—— 终端显示二维码微信扫码登录start(agent)—— 启动消息循环立即返回Bot实例bot.sendMessage(...)—— 在任意时机主动发消息先看最小可用的文本推送示例import { login, start, type Agent } from weixin-agent-sdk; const agent: Agent { async chat(req) { return { text: 收到${req.text} }; }, }; await login(); // 1. 扫码登录 const bot start(agent); // 2. 启动拿到 Bot // 3. 随时主动发消息 bot.sendMessage(你好我是你的 AI 助手现在已上线 ✅);Agent接口只需要实现一个chat()方法来响应入站消息定义见 packages/sdk/src/agent/interface.ts。如果你已经有 OpenAI 等后端packages/example-openai/main.ts 提供了可直接运行的完整示例参考 packages/example-openai/src/openai-agent.ts。用 bot.sendMessage 主动发文本sendMessage()支持两种入参源码见 packages/sdk/src/bot.ts入参形式效果字符串直接作为文本消息发出ChatResponse对象可包含text和media发送带附件的消息一个细节值得注意文本在发送前会经过markdownToPlainText()处理AI 返回的 markdown 格式加粗、代码块、链接等会被自动转成微信里可读的纯文本见 packages/sdk/src/messaging/send.ts。主动推送图片、视频和文件想主动发文件把ChatResponse对象传进去即可await bot.sendMessage({ text: 这是最新报表, media: { type: file, // 或 image / video url: ./reports/daily.pdf, fileName: daily.pdf, }, });media.url支持两种形式本地路径直接上传到微信 CDN 后发送HTTPS 链接SDK 自动下载后上传逻辑见 packages/sdk/src/bot.ts文本和媒体可以同时发送text会作为附件的说明文字一起推过去。理解 context_token主动发送的隐藏钥匙这是主动发消息最关键的一点bot.sendMessage()依赖微信下发的context_token。它的工作方式每当你收到一条入站消息时微信会随消息附带一个context_tokenSDK 会自动把它缓存起来缓存逻辑见 packages/sdk/src/messaging/inbound.ts每次发消息包括主动发送都要回传这个 token用于关联会话因此有两条硬性前提源码见 packages/sdk/src/messaging/process-message.ts✅ 必须在start()运行期间至少收到过一条微信消息才能主动发⚠️context_token有时效约 24 小时过期后需要再收到一条新消息才能继续推送如果条件不满足就调用sendMessage()会抛出这个错误Error: 没有找到 context_token需要在 start() 运行期间至少收到过一条消息看到这条报错别慌去微信里给机器人随便发句话再试一次即可。实战案例定时提醒主动推送到微信把主动发消息和定时器结合就是一个标准的微信推送机器人await login(); const bot start(agent); setInterval(() { void bot.sendMessage(定时提醒记得查看最新状态); }, 60_000); await bot.wait(); // 等待消息循环结束bot.wait()会让 CLI/脚本程序一直阻塞到 bot 停止见 packages/sdk/src/bot.ts避免主进程提前退出。类似的玩法还有很多任务完成回调里推一条结果通知、定时拉取数据后生成文件再sendMessage推出去都可以完全复用这一套模式。主动发消息常见问题Q机器人启动后立刻发消息失败A还没有收到过任何入站消息context_token缓存是空的。先在微信里发一句话激活一下。Q隔了两天没互动推送突然失败了Acontext_token已过期。SDK 不做持久化缓存token 只在进程内存里重新收到一条消息即可恢复。Q主动发的 markdown 表格能正常显示吗A不能微信端只会收到转换后的纯文本。重要信息建议直接用media发文件例如让 AI 生成 PDF 后主动推送。Q需要公网服务器吗A不需要。SDK 用长轮询getUpdates接收消息本地终端跑起来就行。总结从被动应答到主动触达weixin-agent-sdk 的主动发送能力非常轻——start()返回Botbot.sendMessage()一行搞定媒体、markdown 转换、token 管理都藏在 SDK 里。记住三条要点你就能把 AI 从等问才答升级为主动找你说句话start(agent)立即返回Bot实例随时可调用sendMessage()先收到一条消息context_token才会生效它约 24 小时过期字符串发文本ChatResponse发图片/视频/文件text 与 media 可组合配合packages/example-openai/里的现成 Agent 实现几十行代码就能拥有一个会主动推送消息的微信 AI 助手。赞分享【免费下载链接】weixin-agent-sdk微信Clawbot接入任意Agent项目地址https://gitcode.com/gh_mirrors/we/weixin-agent-sdk点击查看免费下载相关推荐如何快速掌握DismWindows系统优化的终极多语言工具指南如何快速掌握DismWindows系统优化的终极多语言工具指南 Dism是一款强大的Windows系统优化和管理工具提供多语言支持让全球用户都能轻后端前端对象存储5分钟掌握Cosmos-Transfer2.5-2B输入输出规范文本提示与控制视频最佳实践5分钟掌握Cosmos Transfer2.5 2B输入输出规范文本提示与控制视频最佳实践 Cosmos Transfer2.5 2B是基于扩散模型的世界基础EasyWeChat 企业微信消息收发实战主动发送文本与卡片消息、被动接收与回复全指南EasyWeChat 企业微信消息收发实战主动发送文本与卡片消息、被动接收与回复全指南 企业微信WeWork是 EasyWeChat 四大核心应用之一其后端即时通讯创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考