mcpField
W
wiki-ingest

wiki-ingest

github.com/sanyuan0704生产力4.0k2.7k 次安装24 周前更新
代码仓库

关于 wiki-ingest

wiki-ingest 是知识库编译技能,可将文本、文档、笔记和目录整理为结构化 wiki 页面,适合构建可搜索的知识网络。它按实体拆分页,并维护交叉引用、索引和操作日志。

主要功能

  1. 01导入粘贴文本、文件或目录
  2. 02提取概念、产品、模式和比较主题
  3. 03按实体创建或更新页面
  4. 04添加兼容 Obsidian 的交叉引用
  5. 05维护索引与追加式日志

适用场景

  1. 01将文章整理成可搜索的 wiki
  2. 02批量处理文档并生成关联页面
  3. 03用新资料更新现有 wiki

安装

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

$npx skills add https://github.com/sanyuan0704/sanyuan-skills --skill wiki-ingest

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

附带文件references/page-templates.md

详细介绍

Wiki 导入 — 知识库编译器

将任意文本内容(文章、文档、笔记)编译为带有交叉引用的结构化 Wiki 页面,构建可搜索、相互关联的知识网络。

铁律:一个 Wiki 页面 = 一个知识实体。绝不要把多个概念塞进同一个页面。

Wiki 目录结构

Wiki 默认位于当前项目根目录下的 wiki/。用户可以指定其他路径。

wiki/
├── index.md              # Full table of contents
├── log.md                # Append-only operation log
├── concepts/             # Core concept pages
├── products/             # Product/tool entity pages
├── patterns/             # Engineering patterns & design decisions
└── comparisons/          # Cross-topic comparison pages

工作流

1. 确认输入

接受用户指定的内容来源:

  • 直接粘贴的文本
  • 文件路径(md、txt、pdf 等)
  • 目录路径(批量处理)

如果用户未指定 Wiki 路径,则使用 wiki/。如果目录不存在,则创建该目录。

2. 检查现有 Wiki

读取 wiki/index.md(如果存在),了解现有页面并避免重复。

3. 提取知识实体

从内容中提取:

  • 概念(concepts/):抽象思想、术语、理论
  • 产品(products/):具体产品、工具、服务
  • 模式(patterns/):工程模式、设计决策、方法论
  • 比较(comparisons/):跨产品或跨方法的分析

提取门槛:只有当其他页面会引用某个实体时,该实体才值得拥有自己的页面。

4. 创建或更新页面

每个实体对应一个 Wiki 页面。

→ 加载 references/page-templates.md 获取页面模板。

规则:

  • 如果页面已存在 → 更新它,追加新信息,不要覆盖现有内容
  • 除非新内容能提供明显更好的定义,否则保持单行定义稳定
  • 优先更新“来源”和“相关页面”部分
5. 更新交叉引用

检查所有现有 Wiki 页面。如果新内容涉及其他页面引用的概念:

  • 更新其“相关页面”列表
  • 更新其“来源”列表
  • 在其详细信息部分补充新信息
6. 更新 index.md

按类别整理,并将新页面条目添加到 wiki/index.md。

7. 追加到 log.md

追加到 wiki/log.md:

## YYYY-MM-DD: Ingest <source title>

**Source**: <file path or "user input">
**New pages**: list newly created pages
**Updated pages**: list modified pages
**New cross-references**: list newly established links
8. 报告结果

告知用户:创建了哪些页面、更新了哪些页面,以及建立了哪些新的交叉引用。

文件命名

  • 全部使用小写字母,以连字符分隔:agent-loop.md、kv-cache.md
  • 按实体命名,不按编号命名

交叉引用格式

  • 使用 [[category/page-name]] 双链格式(兼容 Obsidian),例如 [[concepts/agent-loop]]、[[products/claude-code]]
  • 始终包含类别前缀,以避免不同目录之间出现歧义
  • 在每个页面底部列出所有相关页面

指南

  • 绝不创建重复页面——始终先检查 wiki/
  • 不要提取琐碎实体——如果某个概念只出现一次,且不会在其他地方被引用,则跳过
  • 批量处理时:先提取所有实体,再一次性创建页面并更新引用,以避免中间状态不一致
  • 每次导入后都要更新 index.md 和 log.md

评论

支持 Markdown