# Knowledge Base Management

管理本地 Markdown/Obsidian 知识库：素材入库、健康检查、增量索引、关键词与 semantic-lite 检索、逐字原文资料包、归档和 MCP...

- Repository: https://github.com/chubbyguan/chubbyskills (1292 stars)
- Category: AI and agents
- License: MIT
- Last updated: 2026-10-14
- Runs scripts: yes, review before use

## Install

Claude Code: `npx skills add chubbyguan/chubbyskills --skill knowledge-base-management -g -a claude-code -y`
Codex: `npx skills add chubbyguan/chubbyskills --skill knowledge-base-management -g -a codex -y`
Cursor: `npx skills add chubbyguan/chubbyskills --skill knowledge-base-management -g -a cursor -y`
Gemini CLI: `npx skills add chubbyguan/chubbyskills --skill knowledge-base-management -g -a gemini-cli -y`

## Description

管理本地 Markdown/Obsidian 知识库：素材入库、健康检查、增量索引、关键词与 semantic-lite 检索、逐字原文资料包、归档和 MCP 连接。用于搜索知识库、整理资料及为 Agent 准备可定位的引用。

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Knowledge Base Management, 知识库全生命周期管理

## 核心架构

### 三层架构

```
素材库/  → Layer 1: 不可变原始素材（AI 只读）
wiki/    → Layer 2: AI 编译的结构化知识（AI 维护）
产出/    → Layer 3: 按需生成的视图（不持久化）
```

**核心原则**：素材库是事实源（不可变），Wiki 是 AI 编译的投影（必须溯源），产出是按需生成的视图（不持久化）。

### Vault 配置

vault 路径通过环境变量配置，不写死在脚本里：

```bash
export VAULT_DIR="$HOME/Documents/your-vault"   # 你的 Obsidian vault 根目录
```

完整仓库可以统一配置采集、搜索和资料包：

```bash
python3 tools/chubby.py init --vault "$VAULT_DIR"
```

这里的路径是知识库根目录。采集进入根目录的 `00_Inbox`，默认索引为 `.chubby/index.sqlite`。独立安装本 skill 后，`tools/vault_index.py` 和 `tools/evidence_brief.py` 直接使用 `VAULT_DIR` 或 `--vault`，不读取仓库中的 `chubby.yaml`。

健康检查可自行加入调度器；安装本 skill 不会创建 cron。

---

## 1. 素材入库 (Ingest)

### 新素材处理流水线

```
用户丢素材 →
  ① 判断类型 → 存入素材库/对应子目录
  ② 提取关键信息 → 决定是否建 wiki 页面
  ③ 如果值得：建选题（打 SHARP 分）或更新项目页
  ④ 更新 wiki/index.md 索引
```

### 素材分级 (ABC Grading)

| 等级 | 标准 | 处理 |
|------|------|------|
| **A** | 核心方法论/框架/系统 | 优先编译为选题 |
| **B** | 有洞察但不够系统 | 备选，作为 A 的补充 |
| **C** | 水货/重复/与定位无关 | 归档，不主动编译 |

### 公众号文章处理

**来源一：可选的 wechat-article-exporter 外部同步**
如果已自行部署该工具和调度器，可把公众号文章同步到 `素材库/公众号文章/<公众号名>/`。本 skill 不内置该服务或定时任务。

**来源二：手机保存的文章导入**
通过手机保存的文章先落到一个待处理目录（按日期），再由一个归类脚本搬入素材库并按领域筛选优质文章做 A+B 深度处理。

> 归类脚本（如 `sync_notes_to_kb.py`）与各人的目录结构强相关，本仓库不内置，按下面的「工作流」自建即可。

**工作流**：
```
新文章入库 →
  ① 脚本自动归类到 素材库/公众号文章/<公众号名>/
  ② URL 去重（跳过已存在的文章）
  ③ 领域关键词筛选（AI/半导体/消费/电商/品牌/投资/Agent/Skill）
     跳过纯营销、与用户领域无关的文章
  ④ 命中关键词的精选文章 → A+B 双轨处理（每日上限 5 篇）
     A层：观点提取+分类+3条Takeaway → wiki/📡 外部输入/公众号/<公众号名>/<主题>/
     B层：问题链+伴读引导 → 同上
  ⑤ 更新 wiki/index.md（外部输入, 最新 A+B 处理 表格）
```

**关键原则**：
- 聚焦高价值主题（匹配用户兴趣），不追求全量覆盖
- 每个 wiki 页面必须用 `source` frontmatter 列出引用素材路径
- 深度处理上限 5 篇/天，分批消化
- 文章路径格式：`[[../../../../素材库/公众号文章/<公众号>/<文件名>]]`

---

## 2. 健康检查 (Audit)

### 自动检查项

手动运行脚本或配置自己的调度器后，检查：
- 断链（broken wikilinks）
- 缺 source 字段
- frontmatter 缺失
- 待沉淀概念
- 低链接密度

**脚本**：`scripts/vault_health_check.py`（本仓库提供，零依赖，纯标准库）

```bash
# 指定 vault 路径
python3 scripts/vault_health_check.py "$HOME/Documents/your-vault"

The rest: https://github.com/chubbyguan/chubbyskills/blob/HEAD/knowledge-base-management/SKILL.md
