微信转存

wechat-article-to-obsidian

by amortalsodyssey

Save WeChat public account articles (微信公众号文章) as clean Markdown notes in Obsidian. Use this skill whenever the user shares a mp.weixin.qq.com link and wants to save it to Obsidian, or mentions '微信文章', '公众号文章', '保存微信', '导入微信文章到Obsidian', 'save wechat article', 'clip wechat'. Also triggers when the user wants to batch-save multiple WeChat article URLs to their Obsidian vault. Zero external dependencies — just curl and Node.js.

4.5k效率与工作流未扫描2026年4月6日

安装

claude skill add --url https://github.com/openclaw/skills

文档

WeChat Article → Obsidian

Save WeChat MP articles (微信公众号) as clean Markdown notes in Obsidian. No browser, no CDP, no plugins needed.

How it works

WeChat articles are server-side rendered — the full content is in the HTML, just CSS-hidden. A curl with browser UA fetches it, a Node.js script converts it to clean Markdown (with images, merged section headings, promotional tails stripped), and the result goes into the user's Obsidian vault via the obsidian CLI.

Dependencies

  • curl (pre-installed on macOS/Linux)
  • Node.js >= 18
  • obsidian CLI (for writing to vault — if not available, fall back to direct file write)

First-time setup

On first use, check <skill-path>/config.json. If obsidian_vault or default_path is empty, ask the user:

  1. "What is your Obsidian vault name?" — this is the vault name used with obsidian CLI (e.g., vault=MyVault)
  2. "Where should I save WeChat articles by default?" — a path inside the vault (e.g., notes/wechat, articles/wechat)

Then write the answers to <skill-path>/config.json:

json
{
  "obsidian_vault": "MyVault",
  "default_path": "notes/wechat"
}

This only needs to happen once. After that, the skill uses the saved config automatically.

Configuration

Natural language override (per-request)

The user can override the default path anytime:

  • "把这篇文章存到 reading/tech 目录"
  • "save this under articles/ai/"
  • "导入到 Obsidian 的 inbox 文件夹"

Parse the target path from the user's message and use it instead of default_path.

Config file (persistent default)

<skill-path>/config.json:

  • obsidian_vault: the vault name for obsidian CLI
  • default_path: where to save articles when the user doesn't specify a path

Workflow

Single article

bash
SKILL_PATH="<skill-path>"

# Step 1: Fetch HTML
bash "$SKILL_PATH/scripts/fetch.sh" "URL" /tmp/wx_article.html

# Step 2: Get metadata (to determine filename)
node "$SKILL_PATH/scripts/parse.mjs" /tmp/wx_article.html --json

# Step 3: Parse to Markdown
node "$SKILL_PATH/scripts/parse.mjs" /tmp/wx_article.html > /tmp/wx_article.md

# Step 4: Read the parsed output, then save to Obsidian
obsidian create path="<target_path>/<filename>.md" content="<markdown_content>" vault=<vault_name>

The filename should be derived from the article title, keeping it readable: strip special characters, keep Chinese characters. Example: 从Claude Code源码看AI Agent工程架构.md

Batch save (multiple URLs)

For 2+ URLs, process them sequentially. For 4+ URLs, consider using subagents in parallel (each with its own temp file).

bash
# Per URL:
bash "$SKILL_PATH/scripts/fetch.sh" "$url" "/tmp/wx_${i}.html"
node "$SKILL_PATH/scripts/parse.mjs" "/tmp/wx_${i}.html" > "/tmp/wx_${i}.md"
# Then save each to Obsidian

Output format

The parser produces clean Markdown with YAML frontmatter:

yaml
---
title: "Article Title"
author: "公众号名称"
publish_date: "2026-03-31 19:45:08"
saved_date: "2026-03-31"
source: "wechat"
url: "https://mp.weixin.qq.com/s/..."
---

The parser automatically:

  • Preserves all article images (WeChat CDN URLs)
  • Removes WeChat decoration text (THUMB, STOPPING)
  • Merges "PART.XX" + title into proper ## PART.XX Title headings
  • Strips promotional tails (关注/点赞/在看, author bios, QR codes)
  • Preserves bold, italic, code blocks, blockquotes, lists, links

Post-processing by Claude

After the parser runs, review the output and apply any remaining cleanup:

  1. If the user specified tags, add them to the frontmatter
  2. Verify the filename is clean and descriptive
  3. Confirm save location with the user if ambiguous

Troubleshooting

curl returns empty or verification page

WeChat may rate-limit. Wait 30 seconds and retry. If persistent, the article may require login — inform the user.

Empty content / no #js_content

Some special article types (mini-programs, video-only) aren't supported. Inform the user.

obsidian CLI not available

Fall back to direct file write using the Write tool to the vault's disk path.

相关 Skills

技能工坊

by anthropics

Universal
热门

覆盖 Skill 从创建到迭代优化全流程:起草能力、补测试提示、跑评测与基准方差分析,并持续改写内容和描述,提升效果与触发准确率。

技能工坊把技能从创建、迭代到评测串成闭环,方差分析加描述优化,特别适合把触发准确率打磨得更稳。

效率与工作流
未扫描163.8k

PPT处理

by anthropics

Universal
热门

处理 .pptx 全流程:创建演示文稿、提取和解析幻灯片内容、批量修改现有文件,支持模板套用、合并拆分、备注评论与版式调整。

涉及PPTX的创建、解析、修改到合并拆分都能一站搞定,连备注、模板和评论也能处理,做演示文稿特别省心。

效率与工作流
未扫描163.8k

PDF处理

by anthropics

Universal
热门

遇到 PDF 读写、文本表格提取、合并拆分、旋转加水印、表单填写或加解密时直接用它,也能提取图片、生成新 PDF,并把扫描件通过 OCR 变成可搜索文档。

PDF杂活别再来回切工具了,文本表格提取、合并拆分到OCR识别一次搞定,连扫描件也能变可搜索。

效率与工作流
未扫描163.8k

相关 MCP 服务

文件系统

编辑精选

by Anthropic

热门

Filesystem 是 MCP 官方参考服务器,让 LLM 安全读写本地文件系统。

这个服务器解决了让 Claude 直接操作本地文件的痛点,比如自动整理文档或生成代码文件。适合需要自动化文件处理的开发者,但注意它只是参考实现,生产环境需自行加固安全。

效率与工作流
88.7k

by wonderwhy-er

热门

Desktop Commander 是让 AI 直接执行终端命令、管理文件和进程的 MCP 服务器。

这工具解决了 AI 无法直接操作本地环境的痛点,适合需要自动化脚本调试或文件批量处理的开发者。它能让你用自然语言指挥终端,但权限控制需谨慎,毕竟让 AI 执行 rm -rf 可不是闹着玩的。

效率与工作流
6.3k

by stickerdaniel

热门

LinkedIn Profile and Job Scraper 是让 Claude 直接抓取 LinkedIn 个人资料、公司信息和职位详情的工具。

这个服务器解决了招聘和商业调研中手动复制粘贴 LinkedIn 数据的痛点,适合猎头或市场分析师快速获取候选人背景和公司动态。不过,LinkedIn 反爬机制频繁更新,数据稳定性需要持续维护,使用时建议搭配人工验证。

效率与工作流
2.7k

评论