Skip to content
Conduit

skill

web-clip

把网页(微信公众号/飞书/知乎/小红书/博客)抓成 Markdown + 本地图片的 agent skill,零 LLM token

1145434396-boop/web-clipcommunitylistedunreviewed

Set up

Skills are installed by placing their folder where your agent loads skills.

The download comes from github.com/1145434396-boop/web-clip itself, not from our server, so what you get is exactly what its author published.

Install instructions come from the README

Skills do not use an MCP config. Follow the steps in the README below.

README

synced Oct 22, 2026

web-clip

把网页(微信公众号 / 飞书 Wiki·文档 / 知乎 / 小红书 / 普通博客)一键抓成 Markdown 原文 + 本地图片,落到你指定的目录。专为 AI agent skill 设计,图文位置精确还原。

甩一个或多个链接进来 → 干净的 .md + 下载好的图片,直接进你的知识库 / 笔记库。

特性

  • 多平台:按域名自动路由,每个平台用最省的抓取方式
  • 本地提取:HTML→Markdown、图片下载都在本地 Python 完成
  • 精确图文位置:图片插回正文原位,不是统一堆在文末
  • 自检指标:每次输出一行 JSON(字数 / 图片数 / 警告 / 正文预览),agent 看 JSON 即可判断质量,无需回读正文
  • 路径记忆:首次指定输出目录后记住,之后省略
  • 失败兜底:抓不到也写一条 stub,保住链接不丢

支持的来源

来源抓取的内容说明
微信公众号 mp.weixin.qq.com标题、正文、图片图文按原位置精确还原
飞书 Wiki / 文档 *.feishu.cn标题、正文、表格、图片结构完整,图文同步
知乎专栏 zhihu.com标题、正文、图片需登录才能看的文章也能抓
小红书 xiaohongshu.com笔记文案 + 配图免登录;配图以图库形式附在文末
普通博客 / 新闻 / 其它网页标题、正文、图片静态与动态渲染站点都自动适配
抓取失败时保留链接占位内容不丢,标记为待重试

和 Chrome 插件版的区别:什么时候用哪个

web-clip 有两种形态,能力互补:

  • 用本仓库(CLI skill):让 Claude / agent 自动、批量剪藏,落到任意指定目录,或要抓飞书文档内嵌的电子表格 / 多维表格数据(可带登录态拉真实数据)。需本地有 Python + Playwright 环境。
  • 用 Chrome 插件:你正在浏览器里看到一篇想随手存、尤其是需要登录才能看的页面(知乎 / 飞书 / 内网)——它直接用你当前浏览器的登录会话,零环境依赖。

经验:剪藏只是第一步。如果落到本地后还要接与 AI 协作的后续流程(整理、分析、归档入库、二次生成等),建议直接用 skill——它和 Claude / agent 在同一上下文里,剪藏完能无缝衔接后续处理,不必在浏览器和工具之间来回倒腾。

安装

pip install -r requirements.txt
python -m playwright install chromium

依赖:lxml(微信解析)、trafilatura(通用提取)、playwright + chromium(飞书/知乎渲染)。

用法

# 首次:指定输出目录(自动记住)
python scripts/clip.py "<URL>" --out "/path/to/notes"

# 之后:省略 --out,用记住的目录
python scripts/clip.py "<URL>"

# 查看 / 设置默认目录
python scripts/clip.py --show-config
python scripts/clip.py --set-out "/path/to/notes"

输出目录解析优先级:--out > 环境变量 CLIP_OUT > 配置文件 ~/.web-clip.json。

落地结构

<DEST_ROOT>/
├── articles/
│   └── <标题>.md
└── assets/
    └── <标题>-00.png, <标题>-01.jpg, ...

存进 Obsidian/BOMI 这类知识库时,把 --out 指到对应目录即可,例如 --out "D:/BOMI/raw"。

输出 JSON(自检指标)

{"ok": true, "title": "...", "source": "微信公众号",
 "article": ".../articles/标题.md", "slug": "...",
 "chars": 1497, "images": 2, "img_refs": 2, "headings": 9,
 "warnings": [], "preview": "正文开头……"}
  • images == img_refs 且 warnings: [] → 抓取干净
  • warnings 可能含 empty_title / body_too_short / ui_noise:复制 / img_missing:N
  • 失败时 ok: false,并在 stub 字段给出占位文件路径

环境变量

变量作用
CLIP_OUT默认输出根目录(--out 优先)
CLIP_HEADLESS=1渲染分支改用 headless(无显示器服务器配合 xvfb-run)

已知限制

  • 小红书视频笔记只拿文案,封面/视频未处理。
  • 小红书图片是图库形式附在正文末尾(XHS 笔记本身无图文交错结构)。
  • 知乎渲染分支默认非 headless,无显示器的服务器需用 xvfb-run 包裹,或设 CLIP_HEADLESS=1(headless 可能重新被风控拦)。
  • 脚本不做正文语义改写;如需更干净排版,再让 LLM 过一遍。

作为 Claude Code / agent skill 使用

仓库本身就是一个 skill:SKILL.md 描述触发条件与执行流程,scripts/clip.py 是实现。

npx skills add github:1145434396-boop/web-clip -g

安装后在 Claude Code 中直接对话即可,例如:

  • “帮我把这篇文章存下来:https://…”
  • “剪藏这几个链接到我的知识库”

License

MIT

↑↓ navigate openesc close