SuperAPI AI 工具集

kb-init

办公与效率

查看项目

更新于 10-17 08:17

技能介绍

用途

kb-init 用于在已采用 PARA 结构(Projects、Areas、Resources、Archive)的 Obsidian 仓库上搭建知识库层。它不做内容迁移,而是生成索引文件、活动日志和智能体规则,为后续的 kb-ingest、kb-query、kb-lint、kb-index 等技能提供基础。

前提条件

仓库需具备 PARA 风格的数字前缀文件夹:0. Common(共享区,日常笔记、仪表盘等)、1. Projects(有交付物的进行中项目)、2. Areas(无结束日期的持续职责)、3. Resources(按主题的参考资料)、4. Archive(已完成或暂停事项),Inbox/ 为可选的原始输入收集区。PARA 目录按数字前缀(1.、2.、3.、4.)匹配,不要求名称完全一致;Inbox/ 按名称匹配。若仓库缺少这些目录,技能会给出警告并询问是否创建。

主要能力

  1. 检测仓库根目录:通过查找 .obsidian/ 目录确认仓库根,并校验 PARA 目录是否存在。
  2. 检查已有状态:若 _index.md 或 index.md 已存在,默认询问用户选择覆盖、跳过或中止;使用 --force 参数则直接覆盖。
  3. 生成分类索引:读取一次 Templates/_index.md.template,扫描每个 PARA 目录的子目录与独立 .md 文件,读取概览文件(0..md、-Project.md、project-overview.md)获取状态,然后替换模板占位符 {{CATEGORY}}、{{DATE}}、{{SUMMARY_LINE}}、{{ENTRIES}} 生成 _index.md,每个索引目标约 10—20 行。
  4. 生成顶层索引:在 0. Common/index.md 汇总各分类数量与要点,约 30 行,并预留最近日志条目的占位。
  5. 创建活动日志:0. Common/log.md 为只追加日志,初始写入类似“[date] init | KB initialized | N index files created”的记录。
  6. 更新 AGENTS.md:若已存在则在其后追加知识库规则段,不存在则从 Templates/AGENTS.md.template 创建。规则段包括仓库结构说明、知识库操作规则(ingest/query/lint)、Inbox/**/README.md 内容保留规则、标签约定(#proj/、#type/、#topic/ 等)、wikilink 规则和索引管理规则。
  7. 检测工具链:若找到 obsidian CLI,则运行 obsidian version 与 obsidian tags sort=count counts limit=20,记录版本与已有标签约定供后续 ingest/lint 使用;若未找到,则记录使用 grep/glob 回退,并说明所有技能在没有 CLI 时仍可正常工作。

索引模板约定

Templates/_index.md.template 是各分类 _index.md 结构的唯一来源,初始化时创建缺失索引应只替换占位符,不另行手工设计 frontmatter 或标题布局。后续增量更新可直接编辑已生成的 _index.md,无需重新从模板渲染。

标签约定

初始化时先通过 obsidian tags 或 Grep 回退探测仓库现有标签模式,并适配已有约定而非强加新约定。资料中列出的常见模式包括:#proj/<name> 用于项目标识,#study/paper/<topic> 用于研究论文,#type/<type> 用于文档类型,#topic/<topic> 用于主题。例如仓库已使用 #study/paper 而非 #type/paper,则应沿用现有约定。

使用方式

在 Obsidian 仓库中运行该技能,可按需附加 --force 参数覆盖已有索引。初始化完成后,可根据需要运行 /kb-ingest 处理 Inbox 文档、/kb-query "question" 检索知识库、/kb-lint 检查仓库健康、/kb-index 重建全部索引。

适用场景

适合已经或希望以 PARA 方式组织笔记的 Obsidian 用户,在正式进行文档摄入、查询和健康检查前统一建立索引、日志与智能体操作规则。

限制

仅面向已有 PARA 结构的 Obsidian 仓库,需存在 .obsidian/ 目录;Inbox/ 为可选;obsidian CLI 为可选,缺失时功能回退到 grep/glob。资料未提供具体命令行安装方式、运行环境版本要求、收费信息或效果保证。