>_ DevTrendszh

语言

首页

语言

板块

前端 后端 移动端 DevOps AI / ML 游戏开发 区块链 嵌入式 安全
Python

将 Obsidian 与 Claude Code 结合实现知识积累而不产生文件混乱

任何尝试维护个人知识库的人都会遇到同样的问题。一切始于良好的初衷:设置一个结构优美的 Obsidian,有条理地整理思绪,将笔记相互链接。但几个月后,保险库就变成了一个混乱的大杂烩——复制的代码片段、未处理的链接和半途而废的废弃草稿。

研究员 Andrej Karpathy 曾描述过 LLM Wiki 的概念:一种由神经网络帮助构建个人知识、将其转化为连贯图谱的概念。claude-obsidian 仓库将这一理念付诸实践。这是一个适用于 Claude Code 和兼容 Agent Skills 主机的本地工具,可以自动处理传入的材料,根据原始资料验证事实,并将所有内容组织成磁盘上的 Markdown 文件。

claude-obsidian cover

既然有常规 AI 插件,为什么还要用这个

大多数带 AI 的笔记扩展功能很简单:获取你的文本,发送到云数据库,构建向量化索引,然后输出一段生成文本。如果你关闭插件或取消订阅,所有这些"智能"脚手架都会消失。

在 5 中,方法有所不同。知识库仍然是一个普通的文件夹,包含 Markdown、JSON 和源文件。数据不会隐藏在插件的内部缓存中,也不会在未经你同意的情况下飞到第三方服务器上。所有魔法都发生在你自己的文件之上。

Knowledge accumulation cycle in claude-obsidian

该系统围绕一个循环过程构建:

  1. 你将材料放入 6 文件夹。该工具创建一个带有固定哈希值的精确、不可变副本。
  2. 在分析过程中,AI 从文本中提取具体陈述。如果事实存疑或相互矛盾,它们会被单独标记。系统不会编造来源——它明确引用保存的原始资料。
  3. 从处理后的材料中生成原子笔记、索引和 Obsidian Canvas 上的可视化图表。
  4. 完成的数据库可以通过 Claude Code 进行查询,可以发现矛盾,可以搜索断开的链接,可以添加新主题。

结果看起来像一个井井有条的知识库,通过 AI 代理和手动通过标准 Obsidian 界面同样方便使用。

Example of relationship graph and knowledge map

Example of visual knowledge map in Canvas

底层原理:一个 CLI 中的 15 项技能

开发者将功能组织为 15 个所谓的技能集。它们可以作为独立命令从 Claude Code 调用,也可以作为独立脚本使用。

所有技能分为三个逻辑组:

  • 数据库和 wiki 操作 — 保险库初始化(7)、保存精确答案而不记录不必要的杂乱(8)、解析输入文件(9)、仅基于数据库中已验证的事实回答问题(10),以及查找孤立页面或空部分等问题(11)。
  • 高级场景 — 自主网络搜索,隔离保存结果(12)、生成 Obsidian Canvas 画板(13)、阅读前清理网页杂乱内容(14)、日志聚合(15),以及带可选重排序的上下文 BM25 搜索(16)。
  • 格式和方法论 — 笔记方法论支持(17)、正确的 Obsidian Flavored Markdown 标记模板(18),以及带数据库的原生表格(19)。

一个不错的细节:20 命令可以将新笔记组织成 PARA、Zettelkasten 或 LYT(Linking Your Thinking)等流行系统。同时,旧文件保持不变,没有人会强行重命名它们。

防止手残和并行代理

如果你给语言模型直接写入文件系统的权限,迟早它会损坏某些东西或删除需要的笔记。21 的作者考虑到了这个风险,并设计了严格的信任边界。

Trust boundary between product and vault

任何修改操作都由安全步骤组成。首先,系统获取所有受影响文件的 SHA-256 哈希值。并行进程仅生成变更草案。然后编排器将其组装成单个包,向用户显示最终的 JSON 计划,并等待确认。

只有在你验证了批准计划的哈希值并将其传递给 22 命令后,更改才会写入磁盘。如果文件在准备期间被修改,写入将被取消。如果进程中途中断,操作将从备份回滚。

快速入门和日常使用

运行它需要 Python 3.11 或更高版本。如果你使用 Windows,需要通过 WSL 写入更改,因为原生 Windows 版本目前仅在只读和试运行模式下工作。

将项目仓库克隆到你的机器上:

git clone https://github.com/AgriciDaniel/claude-obsidian.git
cd claude-obsidian

为你的笔记数据库创建一个单独的文件夹并请求初始化计划:

export GENERATED_AT="$(date -u +%Y-%m-%dT%H:%M:%SZ)"
export OPERATION_ID="init-reviewed"

python3 scripts/claude-obsidian.py init "$HOME/Documents/MyKnowledgeVault" \
  --generated-at "$GENERATED_AT" --operation-id "$OPERATION_ID"

在响应中,你将看到一个详细的 JSON 和 23 行。复制哈希值并确认执行:

python3 scripts/claude-obsidian.py init "$HOME/Documents/MyKnowledgeVault" \
  --generated-at "$GENERATED_AT" --operation-id "$OPERATION_ID" \
  --approved-plan-sha256 "<полученный-хэш>" --apply

如果你已经有一个正在使用的 Obsidian 保险库,就不需要从头重写。提供了 24 命令,它可以仔细添加必要的索引文件和表格,而不触及你的个人内容。

接下来,在 Obsidian 中打开创建的文件夹,并从控制台启动 Claude Code:

cd "$HOME/Documents/MyKnowledgeVault"
claude --plugin-dir /абсолютный/путь/к/claude-obsidian

在 Claude Code 中可以使用快速命令:

/claude-obsidian:wiki
/claude-obsidian:wiki-ingest
/claude-obsidian:wiki-lint

将任何文本文件或文章放入 25 并调用 26。该工具将解析文本,创建必要的卡片,用交叉引用链接它们,并更新整体知识图谱。

这个项目适合谁

27 对于每周只用一次 Obsidian 记购物清单的人来说几乎没有必要。但这个项目对于以下人群来说是一个发现:

  • 阅读大量技术文档、文章和规范,希望以方便的格式保存。
  • 进行架构研究,希望看到不同技术之间的联系,而无需手动创建数百条笔记。
  • 不愿意将个人笔记交给封闭云或绑定到专有格式。

该系统以其诚实性取胜:透明的交易、干净的 Markdown 输出,以及不试图让模型成为"全知先知"。如果神经网络对某个事实没有把握或在保存的文件中找不到确认,它会直接告诉你。

相关项目