ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

适配 OpenClaw 超强插件:wechat-query-skill 微信公众号全自动采集与推送方案

适配 OpenClaw 超强插件:wechat-query-skill 微信公众号全自动采集与推送方案 1. 为什么要在 OpenClaw 里接一个公众号采集插件微信公众号是中文互联网里信息密度最高的内容池之一技术团队看竞品动态、运营同学追行业选题、研究者盯政策更新第一手资料往往都先出现在公众号推文里。但公众号的封闭性也是出了名的没有公开的订阅接口历史文章翻起来费劲想按关键词检索更是难上加难。手动刷号、复制粘贴、整理成文档这套流程做一天两天还行长期跑下来基本没人能坚持。wechat-query-skill 这个插件解决的正是这个痛点。它是深度适配 OpenClaw 生态的开源技能插件把公众号的扫码登录、账号订阅、全文抓取、本地缓存、智能检索、定时日报推送串成了一条完整链路。你不需要写爬虫也不需要维护服务器脚本用 Docker 把后端服务拉起来再把 Skill 规则导入 OpenClaw之后就能用自然语言指挥智能体去查资讯、读全文、做总结。它适合谁我梳理了三类典型用户。第一类是内容运营和自媒体从业者需要批量监控同赛道账号快速找选题、拆解爆款结构第二类是行业研究员和产品经理要长期跟踪竞品公众号的发布节奏和宣传策略第三类是技术爱好者想给自己的本地 AI 智能体补上「互联网资讯获取」这块能力拼图。这三类人的共同点是信息需求高频、内容要能沉淀、最好还能自动推送。整个方案的技术底座是「OpenClaw Skill 层 wechat-download-api 服务层 SQLite 数据层」三层架构。Skill 层负责解析你的对话指令服务层处理登录鉴权和文章抓取数据层把订阅列表、文章全文、发布时间、作者、来源链接这些结构化信息落到本地 SQLite。三层解耦的好处是稳定登录态出问题不会影响已缓存的数据服务重启也不会丢历史文章。这里有个容易被忽略的点采集只是第一步真正让内容产生价值的是后面的模型调用环节。你要让 AI 总结文章、提取观点、生成日报就得有稳定的模型 API 通道。我在实际搭建时用的是 TaoToken 统一 Key 和 API 通道来完成模型调用鉴权这样采集服务和智能体调用走同一套凭证配置起来省心不少。下面我会把从插件安装到推送验证的完整链路拆开讲每一步都给可复制的配置片段。2. TaoToken 前置准备统一 Key 与 API 通道在动手部署采集服务之前先把模型调用的鉴权通道准备好不然后面智能体拿到文章全文也没法做总结和推送。TaoToken 在这里扮演的角色是「统一入口」你只需要维护一个 API Key就能在 OpenClaw 的模型调用、coding-plan 以及各类 Agent 任务里复用不用为每个环节单独申请凭证。先说清楚它是什么、能做什么。TaoToken 提供的是标准化的模型 API 接入服务兼容常见的 OpenAI 风格接口协议你拿到 Base URL 和 Key 之后任何支持自定义 API 端点的客户端都能接。对 wechat-query-skill 这套方案来说它的价值在于采集服务抓回来的文章全文需要交给模型做摘要、分类、观点提取这些调用统一走 TaoToken 的通道鉴权逻辑只写一次。适合谁用如果你只是偶尔手动问几句用官方网页版就够了。但一旦进入自动化流水线场景——比如每天定时抓取、批量总结、自动推送日报——你就需要一个稳定的、可编程调用的 API 通道。TaoToken 的 Coding Plan 就是为这种长期编码和 Agent 场景设计的额度按周期走适合挂机跑任务。具体操作分三步。第一步访问官网 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 注册账号进入控制台。第二步在控制台里创建 API Key建议按用途命名比如openclaw-wechat方便后面排查问题时定位。第三步记下你的 Base URL标准接入地址是 https://taotoken.net/api注意这个地址不带任何查询参数直接填到客户端的 base_url 字段里。拿到 Key 之后先别急着往采集服务里塞用一条最简单的请求验证通道是否通。你可以用 curl 测一下curl https://taotoken.net/api/v1/chat/completions \ -H Content-Type: application/json \ -H Authorization: Bearer sk-你的Key \ -d { model: gpt-4o-mini, messages: [{role: user, content: 回复两个字通了}] }如果返回里能看到choices字段和正常内容说明 Key 和通道都没问题。这一步很重要因为后面 OpenClaw 调用失败时你要能快速判断是采集服务的问题还是模型通道的问题。我踩过的坑就是一开始把 Key 填错了环境变量名结果智能体一直报鉴权失败排查了半天才发现是变量没生效。关于模型 ID 的选择建议先用一个便宜的小模型跑通链路比如gpt-4o-mini这类等整条流水线验证稳定了再换成能力更强的模型做深度总结。这样即使配置有问题试错成本也低。另外提醒一句Key 不要硬编码在会提交到 Git 的配置文件里用环境变量或者.env文件管理.env记得加进.gitignore。如果你后面要接 Claude Code 或者做更复杂的 Agent 编排TaoToken 的 coding-plan 页面有对应的接入说明Base URL 和 Key 的用法是一致的换的只是客户端配置。统一通道的好处在这里就体现出来了采集、总结、推送三个环节共用一套凭证运维成本直接砍半。3. 可复制配置插件安装与采集规则这一节是整篇的核心我把从源码拉取到 OpenClaw 技能导入的完整配置都列出来你照着复制就能跑。先确认前置依赖Windows 用户装 Docker Desktop 并启动容器服务Linux 和 macOS 用户装 Docker 加 Docker Compose。另外检查一下本地 8000 端口有没有被占用采集服务的健康检测接口默认走这个端口。第一步拉取源码git clone https://github.com/adennng/wechat-query-skill cd wechat-query-skill第二步启动后端采集服务。进入内置服务目录用 Docker Compose 一键拉起cd services/wechat-download-api docker-compose up -d执行完可以用docker ps看一下容器状态确认wechat-download-api处于 running。然后访问健康检测接口验证服务是否正常curl http://localhost:8000/health返回{status:ok}之类的结构就说明服务起来了。如果返回连接拒绝先检查端口占用和容器日志docker-compose logs -f。第三步配置模型调用通道。在项目根目录创建.env文件把 TaoToken 的凭证写进去# .env TAOTOKEN_BASE_URLhttps://taotoken.net/api TAOTOKEN_API_KEYsk-你的Key TAOTOKEN_MODELgpt-4o-mini然后在 OpenClaw 的模型配置里引用这几个变量。OpenClaw 的 settings 配置片段大致如下路径按你本地的实际安装位置调整{ models: { provider: openai-compatible, base_url: https://taotoken.net/api, api_key_env: TAOTOKEN_API_KEY, default_model: gpt-4o-mini }, skills: { wechat-query: { enabled: true, service_url: http://localhost:8000, cache_db: ./data/wechat.db } } }这里三个关键字段要写全Base URL 填https://taotoken.net/apiKey 通过环境变量注入Model ID 填你验证过的模型名。这三件套缺一不可尤其是 Model ID填错了会直接报模型不存在。第四步完成微信扫码登录。服务启动后通过 OpenClaw 触发登录指令或者直接访问本地接口获取二维码curl http://localhost:8000/login/qrcode系统会返回二维码图片或链接用微信管理员账号扫码授权。授权完成后会话自动保存到本地单次登录一般能稳定用 4 天以上。登录态过期时服务会提醒重新扫码即可。第五步导入 OpenClaw 技能。把项目里的 Skill 规则文件复制到 OpenClaw 的技能目录然后重启智能体服务。导入完成后你可以用自然语言测试一下订阅公众号机器之心 查看今日公众号更新 搜索包含「大模型」的历史推文采集规则方面项目内置了每日 9 点的服务巡检和每日 18 点的资讯汇总两套定时任务。如果你想自定义分类逻辑可以在配置里加标签规则。比如按关键词自动归类{ digest: { schedule: 0 18 * * *, categories: [ {name: 技术动态, keywords: [大模型, 开源, 框架]}, {name: 行业政策, keywords: [政策, 规范, 标准]}, {name: 竞品动态, keywords: [发布, 融资, 合作]} ], push_channel: openclaw } }这套配置跑通后采集、存储、查询、汇总、推送就形成了闭环。数据全部落在本地 SQLite断网也能检索历史内容迁移备份只需要复制数据库目录。4. 验证请求与成功结果配置写完不代表链路通了必须做端到端的验证。我按「采集验证 → 模型调用验证 → 推送验证」三个层次来测每一层都有明确的成功标志。先验证采集。触发一次手动抓取看数据库里有没有新记录curl -X POST http://localhost:8000/fetch \ -H Content-Type: application/json \ -d {account: 机器之心, limit: 5}成功的话返回结构里会带fetched字段和文章数量。然后查一下 SQLitesqlite3 ./data/wechat.db SELECT title, author, publish_time FROM articles ORDER BY publish_time DESC LIMIT 5;能看到标题、作者、发布时间就说明采集和入库都正常。如果fetched是 0先确认登录态是否有效再检查订阅列表里有没有这个账号。再验证模型调用。这一步是确认 TaoToken 通道和采集数据能对接上。让 OpenClaw 对刚抓到的文章做总结总结最近一篇机器之心的文章输出三个核心观点成功的结果是智能体返回结构化的摘要而不是报错。如果这里报401或者invalid api key说明 Key 没生效回去检查.env和环境变量注入如果报model not found检查 Model ID 拼写。最后验证推送。手动触发一次日报生成curl -X POST http://localhost:8000/digest/run成功的话 OpenClaw 会收到一条汇总消息里面按你配置的分类整理好了当日新增文章。我实测下来从触发到收到推送大概几秒钟取决于文章数量和模型响应速度。这里给一个完整的成功结果对照表方便你判断每一步是否达标验证环节触发方式成功标志常见失败信号服务健康GET /health返回 status ok连接拒绝扫码登录GET /login/qrcode返回二维码二维码过期文章采集POST /fetchfetched 大于 0fetched 为 0数据入库查 SQLite有标题作者时间表为空模型调用OpenClaw 对话返回摘要内容401 / model not found日报推送POST /digest/run收到汇总消息无消息全部打勾之后这套流水线就算真正跑起来了。之后每天 9 点和 18 点它会自动巡检和推送你只需要在登录态过期时扫一次码。5. 常见报错排查401、local proxy failed 与 OAuth自动化链路最怕的就是半夜挂掉第二天发现啥也没抓到。我把实际部署中遇到的高频报错整理出来每个都给定位思路和修复方法。报错一401 Unauthorized / invalid api key这是模型调用环节最常见的。根因通常是 Key 没注入成功或者 Base URL 写错了。排查顺序先确认.env文件里的TAOTOKEN_API_KEY值没有多余空格和引号再确认 OpenClaw 配置里用的是api_key_env引用而不是硬编码最后用第 2 节的 curl 命令单独测一次通道。如果 curl 能通但 OpenClaw 不通问题就在配置引用上。注意 Base URL 必须是https://taotoken.net/api不要自己拼/v1之外的路径。报错二local proxy failed / connection refused这个报错一般出现在采集服务这一侧意思是 OpenClaw 连不上本地的wechat-download-api。先docker ps看容器是否在跑没跑就docker-compose up -d重新拉起。如果容器在跑但连不上检查service_url配置的端口和容器映射端口是否一致默认是 8000。还有一种情况是容器启动了但内部服务还没就绪等几秒再试或者看docker-compose logs里有没有报错堆栈。报错三reading choices 相关错误这个报错说明请求发出去了但返回结构里没有choices字段通常是模型返回了错误信息被当成正常响应解析。根因可能是 Model ID 不存在或者请求体格式不对。检查你填的 Model ID 是否在 TaoToken 支持的列表里请求的messages结构是否符合 OpenAI 协议。如果用的是自定义模型名先换成gpt-4o-mini这类标准模型验证链路。报错四OAuth / 登录态失效扫码登录后过几天突然抓不到文章多半是登录态过期了。项目内置了登录状态检测过期时会提醒。修复就是重新触发扫码curl http://localhost:8000/login/qrcode扫完码会话自动续期。如果频繁失效检查容器时间是否和宿主机同步时间偏差过大会导致 Cookie 校验失败。报错五数据库读写失败SQLite 文件权限问题或者磁盘满了都会导致这个。检查./data/wechat.db的读写权限确认容器内挂载路径和宿主机路径一致。磁盘空间用df -h看一眼日志文件堆积也可能占满空间。排查时有个通用技巧先分层定位。采集问题看容器日志模型问题用 curl 单独测通道推送问题看 OpenClaw 的消息队列。把这三层分开大部分报错十分钟内能定位。另外建议把docker-compose logs -f常开一个窗口出问题时第一时间能看到堆栈。6. 把采集、总结、推送串成长期流水线链路跑通之后接下来考虑的是怎么让它稳定地长期运行。我自己的做法是把这套方案当成一个「资讯中台」来维护采集是入口模型总结是加工推送是出口三个环节各自独立又互相衔接。采集侧的关键是登录态维护和订阅列表管理。建议每周检查一次订阅账号是否还有效取关那些长期不更新的号减少无效轮询。登录态过期是必然的把重新扫码当成例行维护别指望一次登录永久有效。模型调用侧统一走 TaoToken 的通道之后你可以在一个地方管理所有凭证和额度。如果后面要加新的 Agent 任务比如自动生成选题建议、竞品对比分析直接复用同一套 Base URL 和 Key不用重复配置。需要长期跑编码和 Agent 任务的话Coding Plan 的额度模式比按次调用更适合挂机场景。推送侧可以按需扩展。除了 OpenClaw 内置推送你还能把日报转发到其他渠道只要在push_channel里加对应的适配器。分类规则也可以持续迭代跑一段时间后你会发现某些关键词归类不准回来调整keywords数组就行。如果你还没开始搭建议的顺序是先去 https://taotoken.net/api-keys 创建 Key把模型通道验证通再拉源码部署采集服务最后导入 OpenClaw 技能做端到端测试。接入过程中遇到配置问题https://taotoken.net/doc 有详细的接口说明可以对照。想先体验模型对话效果的话https://taotoken.net/chat 可以直接试。整套方案的价值不在于单次抓取而在于它把「信息获取」这件事变成了无人值守的日常你只需要在每天早上打开日报剩下的交给流水线。
返回列表