我用 TraeWork打造了「公众号文章 → 飞书知识库」全自动流水线,支持批量定时 + 即时对话双模式,彻底绕过了微信反爬壁垒

:one: WhoMI & Question

作为PM,日常需要持续追踪行业动态、竞品动向、深度分析等高质量内容。微信公众号是中文互联网最核心的优质内容源,但实际使用中存在三个环环相扣的痛点:

痛点一:微信生态封闭,传统工具拿不到内容。 公众号文章不对外开放,通用爬虫返回的是空壳页面或「请在微信客户端打开」;AI 搜索引擎(包括某 GPT 的联网搜索)同样无法穿透微信 CDN 的防护。这意味着,市面上所有「一键收藏」类工具,对公众号文章基本无效。

痛点二:阅读与沉淀完全割裂。 在微信里读完就忘了,文章无法纳入个人知识库,更无法进入企业的知识管理系统被团队检索和复用。产品经理每天接触大量行业信息,但真正沉淀下来的寥寥无几。

痛点三:手动整理极其耗时。 一篇 5000 字的行业分析,从复制粘贴、去格式、去广告图片、整理章节结构,至少需要 15-20 分钟。每周阅读 10-15 篇,光整理归档就花掉 3-4 小时。

这三个痛点叠加的结果是:好内容在微信里,但知识永远留不在自己手里。


:two: TraeWork,solve this issue

模式:check_box_with_check: Work

使用过程中思考与迭代,在 TraeWork 中搭建了一套完整的「公众号文章 → 企业知识库」自动化流水线。整个过程没有写一行生产代码,全部通过自然语言对话驱动 TraeWork 完成。

第一阶段:单篇存档(Skill 1:wechat-article-saver

最开始的想法很简单——让 TraeWork 能把公众号文章转写为规范且对LLM友好的MD格式文件。我创建了第一个自定义 Skill,核心是多层降级抓取策略:

  • 第一层:Playwright + Chromium 无头浏览器渲染,模拟真实浏览器环境
  • 第二层:HTTP fetch,带完整反爬 Header(User-Agent、Accept-Language 等)
  • 第三层:WebFetch 工具兜底,直接从 TraeWork 内置能力抓取
  • 第四层:手动粘贴原文,作为 100% 可靠的终极降级

正文提取使用 Mozilla Readability 算法,自动剔除导航栏、广告、推荐列表;Turndown 将 HTML 转为干净 Markdown。一条命令,30 秒出结果。

第二阶段:企业知识库闭环(Skill 2:wechat-to-feishu-kb

单篇存档够用,但不够企业级且从产品流程上也不闭环,还得多一步去把md存到知识库中的操作。真正的价值是让这些知识能被团队检索、被 AI 问答调用。于是做:

升级一:飞书知识库对接。 在 TraeWork 中直接对话创建飞书知识空间,将抓取的文章自动写入飞书文档,存入知识库节点。飞书知识库原生支持 AI 问答,存入的文章立即可以被「这篇文章讲了什么」「jcode 的内存优化方案是什么」这类自然语言问题检索到。

升级二:双模式运行。 不是只有定时任务,也不是只有手动触发,而是两者并存:

模式 触发方式 场景
即时对话模式 聊天中发链接,5 秒存入 看到好文章,立刻沉淀
批量定时模式 每天 22:00 自动运行 白天收集链接到 pending.txt,晚上统一处理

升级三:本地 + 云端双备份。 每篇文章同时保存本地 Markdown(可被 Obsidian/Notion/Logseq 索引)和飞书知识库文档(可被企业 AI 问答检索),互为冗余。

整个系统的架构

┌─────────────────────────────────────────────────────────────────
│                     TraeWork 作为统一入口                         
│                                                                 
│  即时模式:发链接 ──▶ wechat-to-feishu-kb Skill ──▶ 飞书知识库       
│                                                                  
│  批量模式:pending.txt ──▶ 定时任务 22:00 ──▶ WebFetch 批量抓取      
│                               │                                  
│                               ├──▶ 本地 MD 备份(桌面)            
│                               └──▶ 飞书知识库文档(AI 可问答)      
└─────────────────────────────────────────────────────────────────

所有环节通过 TraeWork 的 Skill 机制、定时任务调度、飞书 lark-cli 工具链无缝串联,全程零代码。


:three: What I DO

直接产出:

  • 两个可复用的自定义 Skill:wechat-article-saver(本地存档)和 wechat-to-feishu-kb(飞书知识库)
  • 一个飞书知识空间「公众号文章知识库」,所有文章结构化存储,支持 AI 问答检索
  • 一个本地 URL 收集文件 pending.txt,每天随手粘贴链接,晚上自动处理

效率提升:

指标 之前 现在
单篇整理耗时 15-20 分钟 5 秒(即时模式)/ 0 秒(定时模式)
每周时间节省 3-4 小时
每月时间节省 约 15 小时
知识可检索性 0(微信封闭) 100%(飞书 AI 问答 + 本地全文搜索)
团队复用 知识库全员可访问

为什么传统方案做不到:

  • 通用爬虫:微信反爬返回空壳
  • AI 搜索引擎:无法穿透微信 CDN
  • 浏览器插件:只能手动操作,无自动化,更无知识库对接
  • RSS 阅读器:公众号不支持 RSS
  • 这个方案的多层降级 + 双模式 + 飞书知识库对接,是一条目前市面上没有现成产品能覆盖的完整链路

:four: 效果 Show

  1. TraeWork PC 端

  2. TraeWork IOS 端

  3. 定时任务(为了演示我直接运行定时任务):



:five: Summary

  1. 从「能用」到「好用」的关键一步是知识库对接。 本地 Markdown 文件只能自己看,存入飞书知识库后,团队任何人都能通过 AI 问答检索到,这才是真正的「企业知识资产」。TraeWork 的飞书工具链(lark-cli)让这一步变得极其简单,一个 wiki +node-create 加一个 docs +update 就完成了。

  2. 双模式设计是实战中磨出来的。 即时模式适合「看到好文章立刻存」,批量模式适合「白天碎片时间收集,晚上统一处理」。两种模式用同一个知识库空间,互为补充,不冲突。

  3. 定时任务的消息要写详细。 第一次设置定时任务时,我只写了简单的「抓取文章存知识库」,结果执行时缺少关键参数(space_id、认证方式、文件路径等)导致失败。后来把完整的执行步骤、参数、错误处理逻辑都写进定时任务的 message 里,之后就再也没有出过问题。定时任务本质上是一个「无人值守的对话」,提示词越详细,越稳定。


:six: Skill Use(话说咋不搞个skill/plugin社区方便大家在hub下载,需要的找我获取skill,开源在github了但考虑到部分无法科学上网,so)

即时模式(聊天中随时触发):

https://mp.weixin.qq.com/s/xxxxx  “直接发送URL即可”

Skill wechat-to-feishu-kb 自动触发,完成内容获取 + 指定飞书知识库写入。(当然如果你是obsidian会更好,traework本身就有obsidian的skill,我用飞书是企业团队要使用,从work上闭环

批量模式(日常维护):

每天将链接粘贴到桌面 wechat_urls\pending.txt,一行一个。定时任务每晚 22:00 自动处理,无需任何额外指令。(tobehonest,其实写本地文件也不够智能,理论上应该有个机器人直接去读我的微信公众号推荐,符合我的画像,但估计是难,毕竟微信生态dddd,自成一派 :nerd_face: