SuperAPI AI 工具集

weixin-article-to-obsidian

办公与效率

查看项目

更新于 10-16 04:04

技能介绍

用途

该技能用于把微信公众号文章(mp.weixin.qq.com)采集进 Obsidian 知识库,保存为 Markdown 笔记,并将文章图片下载到本地,而不是引用远程 CDN 地址。

适用场景

当用户满足以下条件时使用:

  • 提供了 mp.weixin.qq.com 的文章 URL
  • 希望把文章正文保存为 Obsidian 知识库中的 Markdown 笔记
  • 希望文章图片下载到本地,而非引用远程 CDN URL
  • 希望使用 Obsidian 图片链接形式,如 ![[assets/title/image.png]]
  • 希望获得可重复执行的微信文章剪藏工作流

以下情况不要使用:

  • URL 不是微信公众号文章
  • 用户只想从文章中提取视觉主题
  • 用户想把 Markdown 发布回微信
  • 目标不是本地 Markdown 或 Obsidian 知识库

主要能力

  • 优先使用 opencli weixin download 进行初次文章抓取
  • 当 opencli 遗漏图片,或文章为图片页文章时,使用随附脚本补充抓取
  • 解析页面源码,提取标题、公众号名称、发布时间、描述/正文文本以及图片页图片 URL
  • 将图片下载到 assets/<safe-title>/ 目录
  • 将 Markdown 笔记写入指定的 --target-dir
  • 输出 JSON 摘要,包含笔记路径、资源目录、图片数量以及是否运行了 opencli

使用方式

  1. 先阅读目标知识库的规范,尤其是目录规则、资源规则和索引维护规则。
  2. 根据文章主题选择语义化的笔记目录,不要默认放入通用的剪藏文件夹。
  3. 如果可用,运行 opencli weixin download:
opencli weixin download --url "https://mp.weixin.qq.com/s/example" --output /tmp/weixin-article --download-images true -f yaml
  1. 如果 opencli 遗漏图片,或文章是图片页文章,运行随附脚本:
python3 scripts/download_weixin_article.py "https://mp.weixin.qq.com/s/example" \
  --vault-root /path/to/obsidian-vault \
  --target-dir "FrontEnd/security"
  1. 检查生成的 Markdown,移除平台界面元素、重复元数据、推荐模块或打赏提示(如仍存在)。
  2. 验证每个图片引用都是指向 assets/<note-title>/ 下的 Obsidian 知识库链接。
  3. 如果知识库需要主题索引,用 wiki 链接把新笔记更新到本地索引页。

脚本行为

scripts/download_weixin_article.py:

  • 先尝试 opencli weixin download,并在其 Markdown 正文足够完整时复用
  • 直接抓取文章 HTML 作为回退或补充
  • 提取标题、公众号名称、发布时间、描述/正文文本以及图片页图片 URL
  • 将图片下载到 assets/<safe-title>/
  • 将 Markdown 笔记写入请求的 --target-dir
  • 输出 JSON 摘要,包含笔记路径、资源目录、图片数量以及是否运行了 opencli

重要选项

  • --vault-root:Obsidian 知识库根目录,默认为当前工作目录
  • --target-dir:知识库内的相对笔记目录,默认为知识库根目录
  • --title:覆盖提取出的标题和资源文件夹名
  • --locale:使用 zh 或 en 元数据标签,默认为 zh
  • --overwrite:替换同标题的已有 Markdown 笔记

输出规则

  • 将 Markdown 保存到选定的内容目录下
  • 将图片保存到相对于知识库根目录的 assets/<note-title>/ 下
  • 使用 Obsidian 图片语法,而不是普通 Markdown 图片语法
  • 除非用户要求移除,否则保留来源 URL 作为一行简短元数据
  • 除非知识库已要求,否则不要添加 YAML frontmatter

验证清单

  • 笔记存在于所选目录中
  • 资源文件夹存在,并包含所有预期的文章图片
  • rg "mmbiz|data:image|http" <note> 只显示来源 URL,不显示远程图片链接
  • 图片链接渲染为 ![[assets/...]]
  • 在知识库要求时,主题索引已更新

限制

该技能仅适用于微信公众号文章,不适用于其他来源的网页;不用于提取视觉主题,也不用于把 Markdown 发布回微信。目标必须是本地 Markdown 或 Obsidian 知识库。关于收费、价格、平台支持范围等更多信息,资料中暂未提供。