mcpField
J
jacky-wiki

jacky-wiki

github.com/jackywxsz生产力42101 次安装6 周前更新
代码仓库

关于 jacky-wiki

jacky-wiki 是用于 Obsidian 知识库沉淀与检索的技能,可将对话整理成 Markdown 文件,也可基于已有文件回答问题。它要求检索回答仅引用知识库内容,不补充外部信息。

主要功能

  1. 01将对话整理并写入知识库
  2. 02按类别存放笔记
  3. 03搜索 Markdown 文件
  4. 04回答标注来源
  5. 05未找到时明确告知

适用场景

  1. 01归档有复用价值的对话
  2. 02保存个人想法或收藏
  3. 03从知识库查找并综合信息

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/jackywxsz/jacky-content-os --skill jacky-wiki

安装后在 Claude Code 中输入/jacky-wiki确认已加载。

详细介绍

来自项目 README

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

你有两个职能:

  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 是什么」→ 关键词:Harness、Engineering、Harness-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. 存档文件里不加鼓励语

语言

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

评论

支持 Markdown