Personal knowledge base management skill based on Karpathy's LLM Wiki pattern.
SaferSkills independently audited llm-wiki-obsidian (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
基于 Karpathy LLM Wiki 模式,通过 Obsidian CLI 操作本地 Obsidian Vault。
不是 RAG,是持久 Wiki!
| RAG | 持久 Wiki |
|---|---|
| 每次查询从原始文档重新发现知识 | 知识被编译并持续保持最新 |
| 无积累,问5个文档的综合问题每次都要重新拼凑 | 交叉引用已存在,矛盾已标注,综合已形成 |
| NotebookLM、ChatGPT 文件上传 | Obsidian + LLM = IDE + 程序员 |
关键洞察:Wiki 是一个持久、复利的产物。每添加一份资料,Wiki 就变得更丰富。
人类的工作:策划来源、引导分析、提出好问题、思考意义。 LLM 的工作:其他一切(bookkeeping 工作:更新交叉引用、保持摘要最新、标注矛盾)。
当用户进行以下操作时激活此技能:
知识库/
├── raw/ # 原始资料(不可变,只读)
│ ├── minimind/ # 按主题/项目分类
│ ├── articles/ # 文章
│ ├── papers/ # 论文
│ └── assets/ # 图片、附件
├── wiki/ # LLM 生成的 Wiki(AI 全权维护)
│ ├── entities/ # 实体页(人物、组织、项目、产品)
│ ├── concepts/ # 概念页(技术概念、理论、方法论)
│ ├── sources/ # 来源摘要页
│ ├── synthesis/ # 综合分析页
│ ├── meta/ # 仪表盘(Bases Dashboard)
│ └── canvases/ # Canvas 可视化
├── index.md # 内容目录
├── log.md # 操作日志
└── AGENTS.md # 规则文件| 操作 | 详细文档 | 说明 |
|---|---|---|
| Ingest | wiki-ingest.md | 摄入新资料:保存原始资料、创建来源页、更新实体/概念页 |
| Query | wiki-query.md | 查询知识库:搜索、读取、综合回答、沉淀新洞察 |
| Lint | wiki-lint.md | 健康检查:8 轮检查(死链接、孤立页面、矛盾等) |
| CrossLink | wiki-crosslinker.md | 自动跨链:检测和创建双向链接 |
| AutoResearch | autoresearch.md | 自主研究:3 轮搜索→抓取→综合→摄入循环 |
Vault 名称从 obsidian.json 获取,Obsidian 应用必须正在运行。
# 读取笔记
obsidian read file="页面名"
# 搜索 vault
obsidian search query="搜索词" limit=10
# 查看反向链接(谁引用了此页面)
obsidian backlinks file="页面名"
# 标签统计
obsidian tags sort=count counts
# 获取每日笔记
obsidian daily:read# 创建新笔记(多行用 \n)
obsidian create name="新页面" content="# 标题\n\n内容" silent
# 追加内容到现有笔记
obsidian append file="页面名" content="新段落"
# 设置属性
obsidian property:set name="status" value="done" file="我的笔记"
# 追加到每日笔记
obsidian daily:append content="- [ ] 新任务"# 指定 vault(当多 vault 时)
obsidian vault="个人知识库" search query="关键词"silent — 不打开文件--copy — 复制输出到剪贴板overwrite — 覆盖已存在的文件页面模板有两个来源:
_templates/)安装 Templater 插件后,新建笔记时自动填充 frontmatter:
| 模板 | 用途 | 路径 |
|---|---|---|
| Entity | 实体页 | _templates/Entity.md |
| Concept | 概念页 | _templates/Concept.md |
| Source | 来源页 | _templates/Source.md |
| Synthesis | 综合分析页 | _templates/Synthesis.md |
LLM 创建页面时参考的详细模板:
raw/ 是只读的,绝不修改[[wikilinks]]> [!contradiction] 与 [[X]] 矛盾# 📚 个人知识库索引
## 最近更新
- [[页面名]] - 一句话描述 (2026-04-17)
## 实体
| 页面 | 摘要 | 来源 | 更新 |
|------|------|------|------|
## 概念
| 页面 | 摘要 | 来源 | 更新 |
|------|------|------|------|
## 来源
| 页面 | 摘要 | 日期 |
|------|------|------|## [2026-04-17] ingest | 资料标题
- 创建 wiki/sources/页面.md
- 更新 3 个实体页、2 个概念页
- 更新 index.md
## [2026-04-17] query | 用户问题
简要回答,涉及的页面
## [2026-04-17] lint
发现的问题,解决的孤立页面浏览器扩展,将网页文章转 Markdown,快速获取资料到 raw/。
index.md + obsidian search 足够Wiki 就是 Git 仓库,可以获得版本历史、分支和协作能力。
打开 wiki/meta/dashboard.base 可查看知识库概览:
wiki/Wiki Map.canvas:知识库架构可视化,展示目录间数据流wiki/canvases/welcome.canvas:新用户引导画布维护知识库最繁琐的部分不是阅读或思考,而是 bookkeeping(记账工作):更新交叉引用、保持摘要最新、标注矛盾、保持一致性。人类放弃 Wiki 是因为维护负担增长比价值快。LLM 不会厌倦、不会忘记更新交叉引用、可以一次触及 15 个文件。
当用户提供新资料要摄入时:
1. 请用户提供资料内容或 URL
2. 分析资料,提取关键信息
3. 确定放 raw/ 哪个子目录
4. obsidian create 创建 wiki/sources/ 来源摘要页
5. obsidian append 更新相关实体/概念页
6. 更新 index.md
7. obsidian daily:append 记录当用户向知识库提问时:
1. obsidian search 搜索相关页面
2. obsidian read 读取匹配页面
3. 综合回答并标注来源
4. 询问用户是否要将回答存入 Wiki自动检测和创建双向链接,确保 Wiki 页面之间的互联性。
详细文档:wiki-crosslinker.md
自动检查知识库健康状况(8 轮检查)。
详细文档:wiki-lint.md
快速使用:./scripts/lint.sh /path/to/wiki
针对大型 Wiki(>1000 页)的优化策略。
详细文档:performance-guide.md
// config.json
{
"performance": {
"large_wiki_threshold": 1000,
"batch_size": 50,
"use_qmd_for_search": true
}
}# 安装 qmd
brew install qmd
# 索引 Wiki
qmd index wiki/
# 搜索
qmd search "关键词" --top 10运行测试套件验证功能正确性。
# 单元测试
./scripts/test.sh
# 详细输出
./scripts/test.sh --verbose
# 集成测试(需要 Obsidian 运行)
./scripts/test.sh --integration复制 config.example.json 为 config.json 并根据需要修改。
cp skills/llm-wiki-obsidian/config.example.json skills/llm-wiki-obsidian/config.json主要配置项:
| 配置项 | 说明 | 默认值 |
|---|---|---|
vault.path | Obsidian Vault 路径 | - |
wiki.wiki_dir | Wiki 目录名 | wiki |
crosslinker.enabled | 启用自动跨链 | true |
lint.enabled_checks | Lint 检查项 | 全部 |
performance.use_qmd_for_search | 使用 qmd 搜索 | false |
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.