搭建私有知识库LLM Wiki
Obsidian(copilot,git plugin)+opencode+git
1. 起源
2026年4月,Andrej Karpathy 在 X 上发布了一篇关于工作流转变的文章:他不再主要使用 LLM 进行代码生成,而是利用它们来构建个人知识库。该帖子迅速走红------浏览量超过1600万------随后的 GitHub Gist 在几天内获得了5000多个星标。它触动了许多人的痛点,因为它解决了一个每个知识工作者都面临的问题:知识库因维护负担过重而崩溃。
为什么知识库会崩溃
每位开发者都有一个废弃的知识系统墓地。Notion 数据库有200页,但自第三个月起就没有更新过。书签文件夹里有500个链接,但没有摘要。Obsidian 库中有前景光明的图谱最终变得陈旧。问题不在于工具------而在于维护成本。
构建知识库有三个步骤:收集 Ingest (容易)、组织 (困难)、维护(大规模下不可能)。归档、交叉引用、总结和更新的繁重工作往往是系统死亡的地方。添加一篇新文章意味着阅读它、创建摘要、将其链接到现有概念、更新相关页面,并检查与现有知识的矛盾。没有人能 consistently(持续地)做到这一点。
Karpathy 的洞察很简单:LLM 非常擅长这种类型的记账工作。 它们可以读取文档、识别关键概念、创建结构化摘要、生成交叉引用、更新索引并标记矛盾------不知疲倦、始终如一,且边际成本接近于零。人类负责筛选输入内容;LLM 负责其余所有工作。
"LLM 编写并维护 wiki 的所有数据。我很少直接触碰它。" ------ Andrej Karpathy
在发布该帖子时,Karpathy 关于单个研究主题的 wiki 已经增长到大约 100篇文章和40万字------比大多数博士论文还要长------而他并没有直接撰写其中的任何内容。
Andrej Karpathy 的 LLM Wiki 是一种模式(而非产品),其中 LLM 智能体从原始源文件构建并维护一个结构化的 Markdown 知识库。采用三层架构:raw/(不可变源文件)、wiki/(LLM 生成的页面)和 CLAUDE.md(模式定义)。包含三个核心操作:摄入(处理新源文件)、查询(提问)和 Lint(健康检查)。它用纯 Markdown 替代了 RAG,适用于个人/团队规模的知识管理。
|------------------------|--------------------|----------------------------|
| 维度 | RAG | LLM Wiki |
| 状态 | 无状态------每次查询都是独立的 | 有状态------知识随时间复合增长 |
| 基础设施 | 向量数据库、嵌入管道、检索逻辑 | .md 文件文件夹 |
| 交叉引用 | 每次查询时临时发现 | LLM 预构建,始终可用 |
| 维护 | 嵌入更新、索引重建 | LLM 在每次摄入时更新页面 |
| 每次查询的 Token 成本 | 高(检索 + 重排序 + 生成) | 低(读取索引 + 目标页面) |
| 可追溯性 | 片段级引用(通常有损) | 源文件级引用,回溯到 raw/ |
| 规模甜点区 | 企业级(数百万文档) | 个人/团队级(wiki 少于100K tokens) |
| 矛盾 | 未检测------冲突的片段共存 | 在 lint 操作中标记 |
本指南涵盖了花费最少的钱,使用 LLM(online:Deep Seek,offline:Ollama+Qwen3.6) 和 Obsidian 的完整设置过程。
2. 先看一下结果,在谈搭建过程
Clip,从网页中收集知识

Ingest,用vscode+opencode提取知识点

Query,用Obsidian+copilot+git 查询和阅读文章

3. 操作步骤
3.1前提:
假设你熟悉vscode,ollama(本地模型qweb3.6)或deepseek的api key(强烈推荐,便宜有好用),opencode,git
3.2 安装Obsidian
单机版本(不需要注册)

浏览器插件

3.2 配置Obsidian
3.2.1 配置根目录(这也将是你git的仓),创建一个或者指定一个已有的都行

另外还可以删除仓。 切换/创建新的仓仓在Obsidian的左下角

3.2.2安装配置插件

Copilot for Obsidian


需要手动安装和启用按键
配置LLM

这个是local llm服务

这是在线deepseek的配置

选择新配置的llm,可以输入hello测试一下

Git 同理(Obsidian付费用户可以自动同步,不需要git)
Git不需要额外配置
我是在github建好了一个新的仓,git clone下来当的Obsidian的根目录,不需要额外的配置

4. 提示词
非常关键,可以提取
名字必须是AGENTS.md,放在根目录(通过opencode的/init 可以生成template)
当然如果用Claude Code 这个系统提示词为CLAUDE.md
# Agent Instructions
## Core Architecture (LLM Wiki Pattern)
This repository uses the "LLM Wiki" pattern for knowledge management.
- `raw/`: Immutable source documents. **Never modify files here.**
- `wiki/`: LLM-generated and maintained markdown pages.
- `wiki/index.md`: Master content catalog. Must be updated on every operation.
- `wiki/log.md`: Append-only operation log for tracking ingests, updates, and findings.
- `outputs/`: Results from linting, reports, and presentations.
## Key Operations
### Ingest
When new content is added to `raw/`:
1. Read the source in `raw/`.
2. Summarize the source in `wiki/sources/`.
3. Update or create relevant concept/entity pages in `wiki/`.
4. Update `wiki/index.md` with the new entry.
5. Append the operation details to `wiki/log.md`.
### Query
Use `wiki/index.md` to navigate the wiki instead of brute-force searching all files. Identify relevant pages via the index first.
### Lint
Periodically scan `wiki/` to:
- Identify contradictions between pages.
- Find orphan pages (no incoming `[[wikilinks]]`).
- Flag missing concepts (referenced but no corresponding page exists).
- Identify stale claims (superseded by newer sources in `raw/`).
- Save results to `outputs/lint-YYYY-MM-DD.md`.
## Conventions
- **Naming**: Use `kebab-case` for filenames (e.g., `attention-mechanism.md`).
- **Linking**: Use `[[wikilinks]]` for all internal references.
- **Frontmatter**: All `wiki/` pages MUST include YAML frontmatter (title, type, sources, related, created, updated, confidence).
- **Traceability**: Always link wiki content back to its original file in `raw/`.
Ingest:用于将raw目录下的原始材料生成总结放入wiki目录,同时建立基本概念放入wiki/concepts。
参考:
How to Build Karpathy's LLM Wiki: The Complete Guide to AI-Maintained Knowledge Bases
5. Example
5.1提取网页内容
自动导入程序,如果是Linux appimage格式的Obsidian的话,需要自己建立关联。



5.2 现场对话
/Clip Web Page (自动补全)

生成摘要

如果想输出中文,在提示词中添加即可。例如

另外,你还可以定制自己的提示词,在Osibian左侧Copilot文件夹中

5.3 当前的方法不能自动保存为笔记(需要付费才能开启对应的action tool),我们可以通过opencode 实现相同功能(配置4的提示词 AGENTS.md)
记得将文件从Public-key cryptography.md从Clipping文件夹拖至raw文件夹下。
我用了vscode opencode插件

在opencode 终端下输入ingest(大小写没关系)@对应文件(不写也行,会分析所有raw下新的文件)

会生成摘要,重要概念,自动存盘


在Obsidian中打开,多篇文中内容自动交叉索引对比

这是基于双向链接和自动关系图谱

5.4 Online 同步
ctrl+p
