Install
openclaw skills install llm-wiki-adminLLM Wiki 知识库管理员。管理基于 Karpathy LLM-Wiki 理念的持久知识库,包括:初始化项目、摄入新原始资料(编译为 wiki 页面)、回答基于 wiki 的查询、执行健康检查(lint)。当用户想要初始化知识库、ingest/摄入新文章或笔记、从 wiki 查询知识、维护 wiki 健康、或提到 llm-wiki / llm_wiki / schema.md / 第二大脑 / Karpathy wiki / Obsidian wiki / 知识编译 时,必须使用此技能。即使用户只说"帮我把这篇文章加进 wiki"或"wiki 里有关于 X 的内容吗",也要触发此技能。
openclaw skills install llm-wiki-admin不是 RAG,是编译。 RAG 每次查询都重新推导;Wiki 把知识编译一次,持续复利积累。原始资料是真相来源,LLM 负责编译——摘要、交叉引用、标注矛盾、综合洞见。用户负责提供资料和提问,LLM 负责其余一切。
三层架构:
raw/ ← 原始资料(只读,永不修改)
wiki/ ← LLM 编写并维护的 Markdown 知识页面
schema.md ← Wiki 结构规则(页面类型、格式、命名、工作流)
purpose.md ← 项目目标与范围(LLM 的"北极星")
schema.md + purpose.md 是系统的"宪法"——让 LLM 从通用助手变为专业领域知识管理员。
根据用户意图,进入对应模式:
| 用户说 | 进入模式 |
|---|---|
| 初始化 / 新建 wiki / 配置项目 | → [INIT] 初始化 |
| 摄入 / ingest / 把这个加进 wiki / 读这篇文章 | → [INGEST] 摄入 |
| wiki 里有没有 / 查一下 / 问题 | → [QUERY] 查询 |
| 健康检查 / lint / 孤立页面 / 检查 wiki | → [LINT] 健康检查 |
意图不明确时,直接问:"你是想把新资料加进 wiki,还是查询现有 wiki 中的内容?"
用于首次建立知识库项目。
向用户提出以下问题(一次发出,不要逐条等待):
初始化你的 LLM Wiki,请回答以下几个问题:
1. 使用场景(选一个):
A 🔬 研究调研 B 📚 阅读积累 C 🌱 个人成长 D 💼 商业/团队 E 📄 通用
2. 主题领域:(自由填写,例如"中国敏捷教练组读书笔记")
3. 主要资料类型(可多选):
论文 / 书籍 / 网文 / 笔记 / 会议记录 / 其他
4. 写作语言:
A 跟随资料语言 B 统一中文 C 统一英文
收到用户回复后,继续 Step 2。如果用户只回答了部分,用合理默认值补全(场景默认 E 通用,语言默认跟随资料)。
必须先读取 references/templates.md,获取对应场景的模板,然后:
| 文件 | 说明 |
|---|---|
schema.md | Wiki 结构规则(项目根目录) |
purpose.md | 项目目标与范围(项目根目录) |
wiki/index.md | 空目录索引,LLM 维护 |
wiki/log.md | 操作日志,只追加不覆盖 |
wiki/overview.md | 知识库总览(初始为待填模板) |
路径约定:
schema.md和purpose.md在项目根目录(与wiki/同级),这是标准的三层架构约定。
场景 → 额外子目录映射:
| 场景 | 额外 wiki 子目录 |
|---|---|
| research | wiki/methodology, wiki/findings, wiki/thesis |
| reading | wiki/characters, wiki/themes, wiki/plot-threads, wiki/chapters |
| personal | wiki/goals, wiki/habits, wiki/reflections, wiki/journal |
| business | wiki/meetings, wiki/decisions, wiki/projects, wiki/stakeholders |
| general | (无额外目录) |
使用 /obsidian skill 将所有文件写入用户的 Obsidian Vault。如用户未指定路径,询问:"Wiki 项目根目录在 Vault 中的位置?"
前置条件:
/obsidianskill 必须已安装,这是本技能的硬依赖。
告知用户:已生成的文件列表、下一步操作:把第一批资料放入 raw/ 后开始 Ingest。
将新原始资料"编译"为 wiki 页面。这是最重要的操作。
不要直接开始写文件。 先简短告诉用户你发现了什么:
然后再写文件。若资料很长,提议分段处理。
wiki/index.md,了解现有知识结构schema.md,获取本项目的页面类型和格式规范[[Wikilink]]:在每个页面正文末尾用 ## Related section 列出关联页面,不放在 YAML frontmatter(Obsidian 不支持 frontmatter 中的 wikilink)> ⚠️ 矛盾:... 标记,不擅自裁决wiki/index.md(追加,保留全部现有条目)wiki/log.md(格式:## [YYYY-MM-DD] ingest | 来源标题,逆序:最新条目插入文件顶部)wiki/overview.md(2-5 段综述,反映最新状态)"已更新 4 个页面,新建 2 个:xxx.md、yyy.md。发现 1 处矛盾,已在 zzz.md 标注。"
raw/ 目录中的任何文件基于 wiki 回答用户问题。
wiki/index.md,定位相关页面(→ [[page-name]]) 内联引注wiki/log.md(格式:## [YYYY-MM-DD] query | 问题摘要)回答结束后,询问:"要把这个分析保存为 wiki 页面吗?好的洞见不应消失在对话历史里。"
定期扫描 wiki 健康状态。
| 检查项 | 说明 |
|---|---|
| 孤立页面 | 没有任何入链的页面 |
| 缺失页面 | 被 [[Wikilink]] 引用但尚不存在的页面 |
| 矛盾内容 | 不同页面对同一概念描述相互冲突 |
| 未索引页面 | 在 wiki/ 存在但未出现在 index.md 的页面 |
| 缺失 frontmatter | 页面缺少必要字段 |
| 过时内容 | status: outdated 的页面未被更新 |
展示所有发现,再问用户是否处理,不擅自批量修改。结果追加到 wiki/log.md,标记为 [Lint]。
raw/ 目录的任何文件references/templates.md — 五种场景的完整 schema + purpose 原始模板(INIT 时必读)references/ingest-logic.md — 摄入两步流程详解(高级定制参考)