| name | huo15-openclaw-openai-knowledge-base |
| displayName | 火一五知识库技能 |
| description | 基于 Karpathy LLM Knowledge Bases 方案。raw → LLM编译 → wiki,LLM 当 librarian 维护双链/索引/日志/合成式问答,支持 Obsidian 同步、知识图谱、微信公众号/GitHub 多源入库,以及 agent/shared 双作用域。触发词:知识库、入库、查询、编译、提问、知识图谱。 |
| version | 2.8.0 |
| aliases | ["火一五知识库","火一五知识库技能","卡帕西知识库","火一五卡帕西知识库技能"] |
| dependencies | {"obsidian-cli":{"description":"可选,用于 Obsidian vault 搜索","install":"brew install yakitrak/yakitrak/obsidian-cli"}} |
| safety | {"virus_total_note":"无硬编码凭证,凭据从 OpenClaw models.json 运行时加载"} |
SKILL.md — huo15-knowledge-base
基于 Karpathy LLM Knowledge Bases 方案:raw → LLM编译 → wiki
双作用域:
- agent(默认):
~/.openclaw/agents/{agent-id}/agent/kb/ — 每个 Agent 独立,互不可见
- shared:
~/.openclaw/kb/shared/ — 跨 Agent 共享;通过 @huo15/openclaw-enhance 并入龙虾原生 memory_search(corpus="kb")
核心脚本(Karpathy LLM Librarian 模式)
| 脚本 | 做什么 | 成功标准 |
|---|
kb-ingest | 文档入库(URL/文件/文本/微信公众号/GitHub);自动写日志 | raw/ 下文件存在 + log.md 追加一条 |
kb-compile | LLM 编译 raw → wiki;外置 prompt + 注入 SCHEMA + 现有 wiki 列表;编译后自动重建 index.md + log | wiki/ 下 .md 生成 + index.md 更新 |
kb-ask | 合成式问答:候选页 → LLM → 带 [[]] 引用的答案;可 --save 把答案归档为新条目("explorations compound") | 终端输出答案 + log 一条 |
kb-search | 关键词搜索(默认聚合 agent+shared+obsidian) | 搜索结果返回 |
kb-index | 扫 wiki/,按 concepts 分组生成 wiki/index.md(每次 compile 自动跑) | index.md 重写 |
kb-log | 追加日志到 wiki/log.md(事件: ingest/compile/ask/lint) | log.md 末尾多一行 |
kb-lint | 体检:frontmatter / 断链 / stub / orphan / stale / 缺出处 | 报告问题数 + log 一条 |
kb-graph | 知识图谱可视化(Mermaid) | kb/wiki/graph.mermaid 生成 |
kb-bases ⭐v2.8 | 生成 Obsidian Bases 数据库视图(5 个 .base 文件) | wiki/.bases/*.base 生成 |
kb-daily ⭐v2.8 | Obsidian Daily Note ↔ KB 双向打通(ingest/ask --append) | 日记里的 URL/高亮入库;问答附加到当天 |
Wiki 内特殊文件(由脚本维护,不要手改):
wiki/SCHEMA.md — 给 LLM 看的图书馆员守则(首次激活时种入)
wiki/index.md — 自动生成的内容目录
wiki/log.md — 追加式变更日志
所有写入类脚本均支持 --scope agent|shared(或 --shared 快捷),默认 agent。obsidian-sync 额外支持 --all-scopes 一次同步两层。
快速开始
kb-ingest --url "https://..."
kb-compile
kb-ask "什么是 Karpathy Wiki Pattern"
kb-ask "如何判断条目该归档为 shared" --save
kb-search "关键词"
kb-ingest --scope shared --url "https://..."
kb-compile --scope shared
kb-ask --shared "..."
kb-lint
kb-index
kb-log --tail 20
kb-ingest --source wechat --url "https://mp.weixin.qq.com/s/..."
kb-ingest --source github --url "https://github.com/user/repo"
kb-graph
架构
agent scope(隔离):~/.openclaw/agents/{id}/agent/kb/
shared scope(共享):~/.openclaw/kb/shared/
├─ raw/ 原始文档(按日期分目录,status: pending/ready)
├─ wiki/ LLM 编译后的百科(Markdown,双向链接)
│ graph.mermaid(知识图谱)
└─ cache/ 临时文件
可选: wiki/ → Obsidian vault(知识库/ 文件夹)
与 @huo15/openclaw-enhance 的协作
| 层 | 存什么 | 入口 |
|---|
| L1 龙虾原生 memory | 向量+FTS 底座 | memory_search / memory_get |
| L2 enhance 结构化记忆 | 短条目「规则/为什么/怎么做」(per-agent) | enhance_memory_* 工具 |
| L3 本技能 shared KB | 长文档「事实/资料」(跨 agent) | kb-* 脚本;通过 corpus="kb" 被 memory_search 搜到 |
边界原则:短规则 → L2;长资料 → L3 shared;agent 私有实验性知识 → L3 agent。
Obsidian 集成
config.json 配置:
{
"obsidian": {
"enabled": true,
"vault_path": "/Users/xxx/Documents/我的笔记",
"daily_notes_dir": "Daily Notes",
"daily_notes_format": "%Y-%m-%d"
}
}
kb-search 自动搜索 wiki/ + Obsidian vault(如果启用)。
同步命令
obsidian-sync.sh
obsidian-sync.sh --shared
obsidian-sync.sh --all-scopes
obsidian-sync.sh --all-scopes --with-bases
obsidian-sync.sh --watch --all-scopes
Vault 布局:
vault/知识库/
├── agent/ ← 本 Agent 私有 wiki
│ └── .bases/ ← v2.8:5 个 Obsidian Bases 视图(--with-bases 时生成)
└── shared/ ← 跨 Agent 共享 wiki
└── .bases/
Obsidian Bases 数据库视图(v2.8 新增)
Obsidian 1.9.10+ 原生 Bases 把 frontmatter 当数据库字段,本技能生成 5 个开箱即用视图:
.base 文件 | 视图作用 |
|---|
知识库-by-confidence.base | 按 confidence 倒序,高信度优先 |
知识库-by-status.base | stable / draft / superseded 分组 |
知识库-by-type.base | entity / concept / source / synthesis 分类 |
知识库-stub-orphan.base | 待补全:confidence < 0.5 或 stub/draft |
知识库-recent.base | 按 date 倒序,看最近修订动态 |
kb-bases
kb-bases --vault-out
kb-bases --shared --vault-out
kb-bases --list
Daily Note 双向打通(v2.8 新增)
卡帕西哲学:「人类只负责 sourcing 和 asking」。Daily Note 是天然入口:
kb-daily ingest
kb-daily ingest --date 2026-05-04
kb-daily ask "问题" --append
kb-daily where
典型流程:
- 早上在 Obsidian 写 daily note,丢链接 / 用
==高亮== 标重点
kb-daily ingest 一键全部入库
kb-compile 编译
- 下午
kb-daily ask "..." --append 问问题,结果直接追加回当天 daily note,形成知识闭环
触发词
- "知识库"、"入库知识库"、"查询知识库"
- "编译知识库"、"激活知识库"
- "提问知识库"、"问答知识库"、"kb-ask"
- "知识库体检"、"kb-lint"、"断链"、"孤儿条目"、"stub"
- "Obsidian 同步"、"Obsidian Bases"、"数据库视图"、"kb-bases"
- "知识图谱"、"图谱可视化"、"kb-graph"
- "共享知识库"、"跨 Agent 知识库"、"shared kb"
- "Daily Note 入库"、"日记入库"、"kb-daily"、"日记问答"
Karpathy Librarian 模式(v2.6.0)
设计参照 Karpathy LLM Wiki gist。LLM 不只是"翻译器",而是全职图书馆员:
- 三层架构:
raw/(只读素材) · wiki/(LLM 维护的百科) · wiki/SCHEMA.md(守则)
- 原子条目:一个 wiki 页 = 一个概念,不是"一篇文章一页"
- 强双链:第一次提到其他条目必须
[[]],断链由 lint 报告
- 三件套:
index.md(目录)+ log.md(变更日志)+ SCHEMA.md(守则)由系统/LLM 共同维护
- 合成式问答:
kb-ask 不只是 grep,是 LLM 综合多页给带引用的答案
- explorations compound:
kb-ask --save 把答案归档回 wiki,下次问同类问题更快
Schema 升级包(v2.7.0)— 对齐 LLM Wiki v2 / OmegaWiki
借鉴 rohitg00 LLM Wiki v2 + OmegaWiki 的 typed graph 设计。纯约定升级,向后兼容——老 wiki 不必改也能用。
- Typed Relations:frontmatter
relations: 字段把 [[]] 升级成有类型的图边
- 枚举:
uses / depends-on / extends / part-of / contradicts / supersedes / superseded-by / related
- 正文
[[]] 保持 Wikipedia 风格,关系类型只在 frontmatter
- Confidence + Supersession:每条 wiki 现在带可信度(0.0-1.0)
- 高信度(≥0.9)才能
status: stable
- 低信度(<0.5)必须
<!-- TODO --> 注释
- 新事实推翻旧事实 →
supersedes / superseded-by 双向标注,不删旧条目(保留证据链)
- kb-graph typed edges:Mermaid 图按关系类型用不同箭头(
-->/==>/-.->)
- kb-lint 新增检查:未知关系类型、supersession 不对称、contradicts 单向、低信度无 TODO、高信度非 stable
- kb-index 信号:✅ 高信度 / 🟡 低信度 / ⚡ 已被取代 / 🚧 stub
- kb-ask 优先级:先采信高 confidence,看到 superseded-by 自动跳新页
Obsidian 深度集成(v2.8.0)— Bases + Daily Notes + 子目录
调研 Karpathy 原方案 + Obsidian 1.9.10+ 后的 3 项增量。原则:真有价值 vs 堆样子。
1. Obsidian Bases — 把 frontmatter 变成数据库
Obsidian 1.9.10 起原生 Bases 取代 Dataview,无需任何插件。本技能 v2.7 沉淀的 typed
relations + confidence + status + type frontmatter 字段,正好与 Bases 视图天然对接。
kb-bases 一键生成 5 个 .base,覆盖最常用查询面:可信度排序、状态分组、类型分组、
待补全清单、最近活跃。obsidian-sync.sh --with-bases 同步时自动 push 到 vault。
2. Daily Note 双向打通
kb-daily ingest 抓 daily note 里的所有 URL + ==高亮== 一键入库;kb-daily ask --append
把问答结果直接追加回当天日记,形成「日记 → 入库 → 问答 → 日记」闭环。这是卡帕西
"人类只负责 sourcing 和 asking" 的最自然落地。
3. wiki 子目录推荐(向后兼容)
Karpathy 原方案 wiki/{entities,concepts,sources,synthesis}/ 4 类子目录。v2.8 在
wiki-schema.md §11 加入路由规则但不强制——旧的平铺 wiki 继续合规,新条目按
type frontmatter 优先归类。Obsidian Bases 不依赖子目录(按 type 字段分组),
所以即使继续平铺,所有新视图也都能用。
不做的(避免堆样子)
- ❌ BM25 + 向量混合检索(< 200 条目用不上;规模到了再做)
- ❌ Templater / Calendar 插件集成(用户自己装就行,不是技能边界)
- ❌ Canvas 自动生成(无真实需求)
- ❌ 强制 wiki 子目录迁移(破坏性,用户自己掌控节奏)