Unified web content clipper for Obsidian. One entry point, auto-detects platform, uses optimal method.
When user provides a URL and wants to save it:
python3 {{SKILL_DIR}}/scripts/clip.py "<url>"
Output:
/clippings/tweet/YYYY-MM-DD--.md /clippings/web//YYYY-MM-DD-.md | Platform | Method | Why |
|---|---|---|
| ---------- | -------- | ----- |
| Twitter/X | Jina Reader | Fast, reliable, no auth needed |
| WeChat MP | Browser snapshot | Handles JS rendering |
| Xiaohongshu | x-reader | Works well |
| YouTube | x-reader | Gets description/metadata |
| Bilibili | x-reader | Works well |
| Other | x-reader | General purpose |
python3 {{SKILL_DIR}}/scripts/clip.py "https://x.com/user/status/123"
One command, done.
WeChat articles need browser rendering. The script will return needs_browser: true.
Step 1: Open in browser
browser action=open profile=openclaw targetUrl=<url>
Step 2: Get snapshot
browser action=snapshot profile=openclaw targetId=<targetId>
Step 3: Extract content and save
python3 {{SKILL_DIR}}/scripts/wechat.py \
--url "<url>" \
--title "<title>" \
--author "<author>" \
--date "<date>" \
--content "<markdown>"
Or pipe content via stdin:
echo "<markdown>" | python3 {{SKILL_DIR}}/scripts/wechat.py \
--url "<url>" \
--title "<title>"
Twitter:
https://twitter.com//status/ https://x.com//status/ WeChat:
https://mp.weixin.qq.com/s/Others:
obsidian-cli (for vault detection) OR manually configured vault pathx-reader for general web: pipx install 'git+https://github.com/runesleo/x-reader.git'User: https://x.com/naval/status/1234567890 save this
You: [runs clip.py] → Saved to clippings/tweet/2026-03-18-naval-1234567890.md
User: https://mp.weixin.qq.com/s/abc123 保存这个
You: [runs clip.py] → needs_browser: true
[opens browser, gets snapshot]
[extracts content, runs wechat.py]
→ Saved to clippings/web/mp_weixin_qq_com/2026-03-18-article-title.md
All saves trigger automatic git sync: pull --rebase → add → commit → push
Git warnings (non-fatal) are returned in git_warnings array.
共 1 个版本