claude-obsidian defuddle 技能实战:把网页变成干净可读的 Markdown
【免费下载链接】claude-obsidianSelf-organizing AI second brain for Obsidian + Claude Code. Drop any source and Claude reads, links, and files it into one connected knowledge graph of plain Markdown you own. AI note-taking, personal knowledge management (PKM), and an open-source Notion alternative. Based on Karpathy's LLM Wiki pattern.项目地址: https://gitcode.com/GitHub_Trending/cl/claude-obsidian
claude-obsidian 是一款运行在 Obsidian + Claude Code 上的开源本地 AI 第二大脑,能把各种来源整理成互相链接的 Markdown 知识库。它的defuddle 技能专门负责网页清洗:给一个 HTTPS 链接,就能把导航栏、广告、侧边栏统统剥掉,只留下正文,输出干净可读的 Markdown,为后续入库存档做好准备。本文带你实战走一遍这条"网页 → 干净 Markdown → 知识库"的完整链路。
📌 为什么网页需要先"清洗"?
直接在剪贴板里复制网页,通常会混进导航菜单、推荐位、评论区等大量噪音。把这种"脏文本"喂给 AI 做笔记,结果往往是重点被稀释、token 被浪费。
defuddle 的定位就是一个可选的外部网页提取器(extractor):
- 只接受 HTTPS 链接作为输入
- 提取"文章型"正文:标题、段落、链接、代码块、表格、引用都会保留
- 输出标准 Markdown,可直接阅读,也可直接作为知识库来源
项目里对它的定义写得很清楚:清洗(clean)、原始捕获(raw capture)、wiki 入库(ingest)是三个互相独立的操作,defuddle 只负责第一步。技能说明位于 skills/defuddle/SKILL.md,核心命令入口在 scripts/claude-obsidian.py。
🚀 快速上手:3 步把网页变成 Markdown
第 1 步:克隆项目并初始化 vault
git clone https://gitcode.com/GitHub_Trending/cl/claude-obsidian cd claude-obsidian仓库本身就是产品,不是你的知识 vault。初始化一个独立 vault 的完整流程见 docs/install-guide.md。
第 2 步:先生成"无害"预览计划
python3 scripts/claude-obsidian.py capture external-plan url "https://example.com/article"这条命令只做 URL 校验,不发出任何网络请求。它会告诉你:规范化后的主机名、网络出口策略、重定向策略,以及execute: false状态——先看清计划,再决定要不要执行,这是 claude-obsidian 一贯的"预览优先"设计。
第 3 步:确认授权后执行清洗
检查清洗器是否可用:
python3 scripts/claude-obsidian.py contracts --verify --capability defuddle --vault VAULT得到available表示没找到可执行文件,应停在预览阶段;configured表示已找到,但需要你人工审查其来源和版本后再运行。确认网络授权后,实际执行的等价命令是:
defuddle parse HTTPS_URL --md清洗结果会先以临时草稿形式呈现,你可以先预览、确认提取质量,再决定去留。如果退出码非零、输出为空,或返回的是登录页/错误页,流程会直接失败关闭,绝不会被当成正文。
🔒 安全设计:网络访问必须先授权
网页内容属于不可信数据,defuddle 内置了一套安全契约,对新手非常友好:
| 安全规则 | 说明 |
|---|---|
| 仅限 HTTPS | 拒绝带凭据、锚点、内网/本地主机、控制字符的 URL |
| 显式同意 | 网络请求必须在你当前请求中明确授权,不会偷偷联网 |
| 重定向受限 | 跳转到新域名视为拒绝,除非你显式批准该域名 |
| 不伪造结果 | 没有清洗就不声称已清洗,不承诺固定的压缩比例 |
简单说:它什么时候联网、把什么发出去,你始终有决定权。细节可参考 config/capabilities.json 中对 defuddle 能力边界的声明。
📥 清洗之后:从干净 Markdown 到知识图谱
defuddle 只管清洗,不自动创建 wiki 页面。当你想让清洗结果沉淀进知识库时:
- 原始捕获:对清洗后的字节计算 SHA-256,以内容寻址方式存入
.raw/captured/<sha256>.md,同内容绝不覆盖,天然去重且不可变; - wiki 入库:单独调用 wiki-ingest 技能(见 skills/wiki-ingest/SKILL.md),把捕获的来源变成带引用、带溯源链接的 wiki 页面。
这样每一篇笔记都能回溯到"哪个网页、哪天抓的、哪个版本",知识是有据可查的,而不是 AI 的复述。
💡 常见问题与实用建议
Q:找不到 defuddle 可执行文件怎么办?项目会给出诚实的降级方案:自己安装/配置外部清洗器、把本地 HTML 或 Markdown 放进inbox/目录、或先把 URL 挂起稍后处理——而不会假装完成了清洗。
Q:只想快速读一篇文章,不想入库?完全可行。清洗结果保持临时状态,读完即弃,vault 不会被污染。
Q:清洗质量如何保证?保留原始措辞与结构,不"发明"缺失内容;提取有限时(如页面强依赖 JS)会如实报告。
小结
defuddle 技能解决的是 AI 笔记流程的第一道关卡:把网页变成干净的 Markdown。它的三步链路——预览计划 → 授权执行 → 独立入库——把"安全、可控、可溯源"做成了默认行为。配合 claude-obsidian 的 wiki-ingest 与检索技能,你获得的不仅是一篇干净文章,而是一张持续生长的个人知识图谱。
【免费下载链接】claude-obsidianSelf-organizing AI second brain for Obsidian + Claude Code. Drop any source and Claude reads, links, and files it into one connected knowledge graph of plain Markdown you own. AI note-taking, personal knowledge management (PKM), and an open-source Notion alternative. Based on Karpathy's LLM Wiki pattern.项目地址: https://gitcode.com/GitHub_Trending/cl/claude-obsidian
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考