微信公众号采集收录
把微信公众号文章以 markdown 收录进知识库,并按桥山关注方向做学习摘要。
何时使用
- 用户说"收录某公众号""采集公众号文章""把公众号内容收进知识库"。
- 周一三五自动化任务触发时,增量收录归档里比上次运行新增的公众号文章。
- 用户新提一个公众号时,全量收录该号所有文章到
知识卡片/公众号收录/<公众号名>/。
数据源与输出
- 源根目录(默认):
E:/0、公众号/3、公众号批量下载(可在知识卡片/公众号收录/_config.md覆盖)。 - 结构:分类目录(0调研…6眼科)/公众号文件夹/文章.md;也有少量顶层公众号文件夹直接含 .md。
- 公众号判定:直接包含 .md 文件的目录即视为一个公众号,名为文件夹名。
- 输出根:
D:/桥山的知识库/知识卡片/公众号收录/ - 每公众号一个文件夹
<公众号名>/:内含归一化后的文章 .md +index.md(该号文章清单)。 - 摘要:
_digest/YYYY-MM-DD.md(本次新增与学习要点)。 - 状态:
_state.json(上次运行时间,用于增量去重)。
运行方式(用受管 Python,勿用系统 python)
C:/Users/13824/.workbuddy/binaries/python/versions/3.13.12/python.exe ^
C:/Users/13824/.workbuddy/skills/wechat-account-collector/scripts/collect.py [参数]
参数:
- --mode incremental(默认):扫描全部公众号,收录 mtime > 上次运行的 .md,更新状态。
- --mode full --account <公众号名>:全量收录指定公众号(支持"收录XX公众号"指令,支持模糊匹配)。
- --since YYYY-MM-DD:覆盖增量起点(补录/调试)。
- --no-email:只入库不发信。
- --root / --out:覆盖路径(一般不用)。
归一化规则
每篇文章复制时,在文首插入元信息块(保留原文正文不变):
---
收录日期: <运行日>
来源公众号: <公众号名>
原文路径: <相对源路径>/<文件名>
学习要点: (待补)
---
学习摘要(反馈给用户)
脚本自动生成 _digest/YYYY-MM-DD.md:
1. 本次新增文章总数、按公众号分布。
2. 每篇标题 + 一键归类(关键词匹配:眼科/耳科/法规/集采/立项/临床/CMC/原料药/新药/仿制药)。
3. 与桥山关注方向(眼科/耳科/法规/集采/立项)强相关的条目重点列出。
4. 与 RD001(SFA/半氟化烷烃/干眼/Novaliq)相关的单独提示。
发信
经统一模块 C:/Users/13824/.workbuddy/skills/_common/mailutil.py 发信,默认发往 qiaoshan0213@sina.com(新浪邮箱,smtp.sina.com:465 SSL)。凭证优先级:环境变量 EMAIL_ACCOUNT/EMAIL_AUTH_CODE > 配置文件 C:/Users/13824/.workbuddy/email_config.json 的 auth_code。未配置授权码则仅入库,并在 stdout 提示"未配置邮件,摘要已写入 _digest/"。
注意事项
- 增量首跑会把 last_run 设为当前时间(干净起点),此前快照文章不会批量搬入;如需历史补录,用
--mode full --account <名>或--since <较早日期>。 - 只读取+复制源归档(E:/…),绝不修改源文件。