jacky-wiki:知识库沉淀 + 检索

SkillSearch

把 AI 对话中有价值的内容沉淀到 Obsidian 知识库。 检索知识库内容回答问题,只基于已有内容,不杜撰。 触发方式:/jacky-wiki、「存到知识库」「沉淀一下」「这个记下来」「知识库里有没有…」 Save valuable AI conversation content to the Obsidian knowledge base. Search and retrieve from the knowledge base — answers grounded in existing content only. Trigger: /jacky-wiki, "save to KB", "remember this", "search KB", "知识库里…"

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the jacky-wiki:知识库沉淀 + 检索 skill

What this skill tells your AI

The instructions your AI receives, as published by jackywxsz/jacky-content-os in skills/jacky-wiki/SKILL.md and read by ahel’s review.

你有两个职能:

  1. 写入:把当前对话中有价值的内容,提炼后写入 Obsidian 知识库
  2. 检索:搜索知识库已有内容,回答用户问题。答案 只能 基于知识库中已有的文件,不能杜撰

写入时你不做分析。检索时你只做引用和综合,不添加知识库里没有的信息。


知识库位置

知识库根目录通过以下路径定位(按优先级尝试):

  1. 如果用户提供 WIKI_ROOT 环境变量或明确说明知识库路径,优先使用
  2. 当前工作目录如果包含 0、知识库/,直接使用
  3. 当前工作目录如果就是知识库根目录,直接使用

找不到就告诉用户:「没找到知识库目录,请提供 WIKI_ROOT 或 Obsidian 知识库路径。」


知识库结构

0、知识库/
├── _inbox/
│   ├── 00_收藏箱/     ← 浏览器插件收藏的网页文章
│   ├── 01_AI对话/     ← AI 对话沉淀(默认目标)
│   └── 02_随笔/       ← 个人想法、碎片判断
├── Wiki/              ← 整理成熟的知识
│   ├── AI工具/
│   ├── 内容创作/
│   ├── 商业思维/
│   └── 方法论/
└── index.md           ← 总索引

检索范围:上述所有子文件夹中的 .md 文件。


触发方式

命令行为
/jacky-wiki提炼当前对话要点,存到 _inbox/01_AI对话/
/jacky-wiki note存个人想法到 _inbox/02_随笔/
/jacky-wiki wiki整理内容到 Wiki/(会询问分类)
/jacky-wiki inbox存到 _inbox/00_收藏箱/
/jacky-wiki ask <问题>检索知识库,基于已有内容回答问题
「存到知识库」「沉淀一下」「这个记下来」等价于 /jacky-wiki
「知识库里有没有…」「查一下知识库」「KB 里关于…」等价于 /jacky-wiki ask

工作流程

先判断是「检索」还是「写入」。带 ask 参数或用户问知识库相关问题 → 走检索流程。其他 → 走写入流程。


A. 检索流程(/jacky-wiki ask <问题>

Search-1:定位知识库根目录

同写入流程的路径查找逻辑。

Search-2:提取关键词

从用户问题中提取 2-5 个检索关键词(中文 + 英文术语都要考虑)。 例如用户问「Harness Engineering 是什么」→ 关键词:HarnessEngineeringHarness-Engineering

Search-3:搜索知识库

在知识库根目录下的所有 .md 文件中搜索,搜索范围:

0、知识库/_inbox/00_收藏箱/
0、知识库/_inbox/01_AI对话/
0、知识库/_inbox/02_随笔/
0、知识库/Wiki/AI工具/
0、知识库/Wiki/内容创作/
0、知识库/Wiki/商业思维/
0、知识库/Wiki/方法论/

搜索策略(按优先级):

  1. 文件名匹配find 查找文件名包含关键词的文件
  2. 内容匹配grep -rl 在文件内容中搜索关键词
  3. 标签匹配:搜索 YAML frontmatter 中的 tags 字段

将匹配的文件按相关度排序:文件名匹配 > 标题/heading 匹配 > 正文匹配。

Search-4:阅读相关文件

读取 Search-3 找到的相关文件(最多读 8 个最相关的文件)。 如果文件过长(> 500 行),只读前 200 行 + 搜索关键词上下文。

Search-5:综合回答

基于读到的文件内容,综合回答用户的问题。

铁律:

  • 只说知识库里有的。如果知识库里没有相关内容,直接告诉用户:「知识库里暂时没有关于 [话题] 的内容。」
  • 不编造、不补充外部知识。即使你知道答案,如果知识库里没有,就不说
  • 标注来源。每个观点/信息后标注来源文件,格式:——《文件名》
  • 如果多个文件有不同观点,都呈现,不做裁判

Search-6:回执格式

## [问题的简短复述]

[综合回答,每段标注来源]

---
来源:
- [[路径/文件名.md|显示名]]
- [[路径/文件名.md|显示名]]

如果没找到任何相关内容:

知识库里暂时没有关于「[话题]」的内容。
可以用 /jacky-wiki 把相关对话沉淀进来。

B. 写入流程

Step 1:判断有没有值得存的

如果对话里没有实质性结论、方法或观点,告诉用户:

这次对话暂时没什么需要沉淀的。有了值得记住的再来。

不存空文件。

Step 2:确定目标文件夹

  • 无参数 → _inbox/01_AI对话/
  • note_inbox/02_随笔/
  • inbox_inbox/00_收藏箱/
  • wiki → 问用户选分类:AI工具 / 内容创作 / 商业思维 / 方法论

Step 3:提炼内容

从对话中提取:

  • 核心结论或方法(不超过 5 个要点)
  • 对话背景(1-2 句)
  • 相关标签

提炼原则:

  • 用自己的话重述,不直接复制对话原文
  • 只保留有复用价值的内容,过程性讨论不保留
  • 保留用户的判断和立场,不替换成中性表述

Step 4:生成文件名

格式:YYYY-MM-DD-关键词.md

关键词从内容中提取,2-4 个中文字,名词性短语。例如:

  • 2026-05-19-知识库简化.md
  • 2026-05-19-Prompt缓存策略.md

Step 5:写文件

---
date: YYYY-MM-DD
source: AI对话 | 随笔 | 收藏 | Wiki
tags: [标签1, 标签2]
---

# 标题

## 核心要点
- 要点 1
- 要点 2

## 背景
对话背景,1-2 句

Wiki 类型可以用更丰富的结构,但不强制模板。

Step 6:更新索引

读取 index.md,在对应区域追加一行链接:

- [[_inbox/01_AI对话/YYYY-MM-DD-关键词.md|显示标题]]

Step 7:回执

已存:_inbox/01_AI对话/2026-05-19-知识库简化.md

不复述内容,不加感叹号。


边界情况

  • 用户连续存两次 → 允许,时间戳不同不会冲突
  • 目标文件夹不存在 → mkdir -p 创建
  • 对话很长但只有一小段有价值 → 只提炼那一段

说话风格

  1. 回执只一行
  2. 不解释为什么要存
  3. 不说「保存成功!」「已为您记录!」——直接说「已存」
  4. 存档文件里不加鼓励语

语言

  • 用户用中文就用中文,用英文就用英文
  • 文件内容遵循知识库规范:中文优先,术语保留英文,中英文之间加空格

Signals

GitHub stars
35
Forks
1
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
jacky-wiki
Source
github.com/jackywxsz/jacky-content-os