mcpField
W
wiki-config

wiki-config

github.com/vanillaflava生产力7085 次安装16 周前更新
代码仓库

关于 wiki-config

wiki-config 是用于配置、验证和维护基于文件系统的 LLM Wiki 的交互式技能。它还管理相关 Wiki 技能共用的结构定义和页面模板。

主要功能

  1. 01初始化 Wiki 配置和文件
  2. 02验证配置字段与路径
  3. 03检查并修复 Wiki 环境文件
  4. 04管理结构定义字段和枚举值
  5. 05部署和维护页面模板

适用场景

  1. 01在指定文件夹初始化 LLM Wiki
  2. 02查找缺失或格式错误的配置文件
  3. 03确认后调整配置
  4. 04恢复缺失的模板文件

安装

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

$npx skills add https://github.com/vanillaflava/llm-wiki-skills --skill wiki-config

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

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

assets/
wiki-config-template.md
wiki-help.md
wiki-schema.md
assets/templates/
config.md
domain-home.md
established-patterns.md
home.md
index.md
knowledge.md
log.md
longform.md
note.md
overview.md
profile.md
reference.md
survey.md
references/
setup-help.md

详细介绍

Wiki 配置

为 wiki-config.md 提供交互式设置、验证和维护。与五项 Wiki 操作技能(wiki-ingest、wiki-lint、wiki-integrate、wiki-crystallize、wiki-query)配合使用,这些技能都会读取同一份配置。


能力要求

需要具备文件系统读取、写入、搜索和创建目录的能力。如果当前环境不支持文件系统工具,请告知用户并停止。


工作流

第 0 步 - 欢迎与初始化

每次调用 wiki-config 时,都从这里开始。

展示 Wiki 技能生态

检查当前会话中有哪些 Wiki 技能可用。扫描上下文中的 <available_skills> 部分,查找符合 wiki-* 模式的技能(wiki-config、wiki-ingest、wiki-query、wiki-lint、wiki-integrate、wiki-crystallize)。在 <available_skills> 中找到的技能已启用且可用,请标记为 ✓。未找到的技能可能未安装,或已在用户设置中关闭,请标记为 ✗。

展示此表,并填写每项技能的实际状态:

## Wiki Skill Ecosystem

| Skill | Status | What it does |
|---|---|---|
| wiki-config | ✓ | Interactive setup and validation |
| wiki-ingest | [✓/✗] | Process raw/ → wiki pages → ingested/ |
| wiki-query | [✓/✗] | Search wiki, cite sources, file good answers |
| wiki-lint | [✓/✗] | Health checks: broken links, orphans |
| wiki-integrate | [✓/✗] | Add backlinks when pages change |
| wiki-crystallize | [✓/✗] | Distil conversations into wiki pages |

如果有任何技能缺失,请告知:“从 https://github.com/vanillaflava/llm-wiki-skills 安装完整的技能生态。”

捆绑的 references/setup-help.md 在整个会话期间均可使用。如果需要更多引导信息、用户询问 Wiki 系统的详细问题,或遇到困难,请阅读该文件。

展示欢迎消息

“让我先阅读设置指南,让我们双方都了解情况……”

然后展示:


欢迎使用你的 LLM-Wiki

开始之前,先快速了解一下:

文件系统访问范围 - 文件系统工具可访问的目录。这是最外层的边界。请严格限制工具的访问范围;范围过宽会带来隐私风险。

Wiki 根目录 - 此范围内存放 Markdown 笔记和 Wiki 系统文件(wiki-config.md、wiki-help.md、Home.md、Overview.md、index.md、log.md、raw\、ingested\、templates\)的文件夹。你可以在这里存放 .md 文件——它可以是 Obsidian 知识库、Logseq 图谱的一部分,也可以是你维护笔记的其他位置。各项技能会通过查找 wiki-config.md 来定位 Wiki 根目录。

重要提示: Wiki 根目录不应是计算机的根目录(C:\、/)或用户主目录——这些都会带来隐私风险。它也不必是整个知识库或图谱。

我们建议将 Wiki 根目录设为知识库的一个子目录——只包含你愿意与 Agent 共享的文件夹。

Wiki 可以配合你现有的笔记使用,帮助你将来源(PDF、文章、文档)综合整理成互相关联的 Wiki 页面。每添加一个来源、每提出一个问题,知识库都会更加丰富,并随着时间不断积累。


如果用户看起来不确定或需要更多背景信息,请主动询问:“要我为你展示完整的设置指南吗?”然后阅读并展示 references/setup-help.md。

否则,继续评估状态。

评估状态并选择分支

检查文件系统范围:

确定文件系统范围根目录——文件系统工具可访问的最顶层目录。

如果范围不合适(裸盘符根目录、操作系统根目录或用户主目录):

“你的文件系统访问范围设置为 [scope]——范围过宽,存在隐私风险。完成设置后,我建议将范围限制为 Wiki 文件夹。

我需要你的 Wiki 根目录绝对路径。例如:

  • Windows:C:\Users\YourName\Documents\wiki
  • Mac:/Users/YourName/Documents/wiki

路径是什么?”

隐私准则: 切勿列出用户或枚举系统文件夹。直接询问路径。

如果范围合适: 递归搜索 wiki-config.md,最多深入 5 层。

根据搜索结果选择分支:

→ 未找到配置文件 - “你还没有 Wiki。我会引导你完成设置。” → 步骤 2(初始化)

→ 找到配置文件 - 读取该文件,然后在同一目录中运行完整的环境检查。逐项检查以下内容:

  1. wiki-schema.md - 存在且解析正常 / 缺失 / 格式错误
  2. wiki-help.md - 存在 / 缺失
  3. templates/ 文件夹 - 存在 / 缺失
  4. 模板文件完整性 - 13 个预期文件中哪些文件存在(knowledge.md、reference.md、survey.md、domain-home.md、overview.md、home.md、log.md、index.md、longform.md、profile.md、established-patterns.md、note.md、config.md)
  5. wiki-config.md 中的 templates_folder: 字段 - 存在 / 缺失

提供简洁友好的摘要,每个组件占一行。例如:

你的 wiki 环境

  • wiki-config.md:已找到
  • wiki-schema.md:已找到
  • wiki-help.md:已找到
  • templates/:存在(13 个文件中有 9 个)
  • templates_folder 字段:配置中缺失

有两项需要处理。我可以一步修复两项,也可以由你逐项选择。

如果一切正常: 直接显示主菜单。

如果有任何项目缺失或损坏: 显示上述摘要,然后提供以下选项: -“全部修复” - 一次性部署所有缺失项目;开始前确认一次

  • 单独选择 - 由用户选择要处理的项目

各组件的修复操作:

  • wiki-schema.md 缺失 → 从 assets/wiki-schema.md 部署(非破坏性,无需确认)
  • wiki-schema.md 格式错误 → 发出警告,提供重置为捆绑默认版本的选项;覆盖前需确认
  • wiki-help.md 缺失 → 从 assets/wiki-help.md 部署(非破坏性,无需确认)
  • templates/ 文件夹缺失 → 先展示下方的引用消息,然后提供创建文件夹并从 assets/templates/ 部署全部 13 个文件和 README 的选项
  • 个别模板文件缺失 → 仅从 assets/templates/ 部署缺失的文件;绝不覆盖已存在的文件
  • 配置中缺少 templates_folder: → 向 wiki-config.md 写入 templates_folder: templates/;仅当确认 templates/ 文件夹存在时才执行

当 templates/ 缺失或不完整,且用户此前未遇到过这种情况时,请展示:

页面模板

模板为每个 wiki 页面提供一致且结构化的起始框架。技能创建新页面时,会从你的 templates/ 文件夹读取对应模板,并将其用作脚手架——把 {{TITLE}} 和 {{DATE}} 等占位符替换为实际值。

你可以自行编辑模板。更改会立即应用于所有新页面;现有页面绝不会被修改。如果缺少模板文件,技能会回退到最简硬编码结构。

默认集涵盖全部 13 个默认模板(12 种页面类型,加上特殊的顶层 Home 导航中心):knowledge、reference、survey、domain-home、overview、home、log、index、longform、profile、established-patterns、note 和 config。

展示后,询问:“要将默认模板集部署到 <wiki_root>/templates/ 吗?”

每次修复后:显示更新后的状态,并提供主菜单。

主菜单(所有组件均正常):

提供以下选项:

  • 验证配置(步骤 3)
  • 编辑配置设置(步骤 4)
  • 管理 schema(步骤 5)
  • 管理模板(步骤 6)
2 - 初始化

询问用户其 Wiki 根目录:

“我们来设置 wiki-config.md。我需要你的 Wiki 根目录绝对路径,也就是存放笔记的文件夹。

Wiki 根目录不是你的计算机根目录(C:\、/),也不是你的用户主目录(C:\Users\you\、~/)。它是存放笔记和 Wiki 系统文件的特定文件夹,且必须位于文件系统工具的作用范围内。

示例:C:\Users\you\Notes\、/Users/you/Documents/Wiki/、/home/you/vault/”

检查返回的路径是否合理:

  • 拒绝裸盘根目录(C:\、D:\、/)
  • 拒绝操作系统根目录和用户主目录(/home/、/Users/、C:\Users\)
  • 确认路径存在且可写

如果路径未通过检查,说明原因并再次询问。

部署脚手架:

  1. 将 assets/wiki-config-template.md 复制到 <wiki_root>/wiki-config.md
  2. 如果模板中尚未包含 templates_folder: templates/,则将其写入 <wiki_root>/wiki-config.md
  3. 将 assets/wiki-schema.md 复制到 <wiki_root>/wiki-schema.md
  4. 将 assets/wiki-help.md 复制到 <wiki_root>/wiki-help.md(如果文件不存在;绝不覆盖已有文件)
  5. 如果 <wiki_root>/index.md 不存在,则根据 assets/templates/index.md 创建,并将 {{TITLE}} 替换为 "index",将 {{DATE}} 替换为今天的日期,将 {{DESCRIPTION}} 替换为 "所有 Wiki 页面的目录。"
  6. 如果 <wiki_root>/log.md 不存在,则根据 assets/templates/log.md 创建,并将 {{TITLE}} 替换为 "log",将 {{DATE}} 替换为今天的日期,将 {{DESCRIPTION}} 替换为 "所有 Wiki 技能操作的仅追加审计跟踪。"
  7. 如果 <wiki_root>/Home.md 不存在,则根据 assets/templates/home.md 创建,并将 {{TITLE}} 替换为 "Home",将 {{DATE}} 替换为今天的日期,将 {{DESCRIPTION}} 替换为 "导航中心。技能工作流、关键页面和你的领域链接。"
  8. 如果 <wiki_root>/Overview.md 不存在,则根据 assets/templates/overview.md 创建,并将 {{TITLE}} 替换为 "Overview",将 {{DATE}} 替换为今天的日期,将 {{DESCRIPTION}} 替换为 "对所有领域当前知识的持续综合。知识库级的结晶目标。"
  9. 创建 <wiki_root>/raw/(摄取队列)
  10. 创建 <wiki_root>/ingested/、ingested_subdirs 中的每个子目录,以及 <wiki_root>/ingested/assets/(始终创建)
  11. 创建 <wiki_root>/templates/,并将 assets/templates/ 中的全部 13 个模板文件复制到其中
  12. 将 assets/templates/README.md 复制到 <wiki_root>/templates/README.md
  13. 在 log.md 中添加一条初始化记录,放在标题行下方、所有现有记录上方

向用户报告:列出创建的内容,并明确列出 wiki-config.md、wiki-schema.md、wiki-help.md、Home.md、Overview.md 和模板文件夹(含 13 个模板文件)。建议后续操作:打开 Home.md 了解概况,将文件放入 raw/,然后运行 /wiki-ingest 开始构建知识。

3 - 验证

读取配置并检查:

  • YAML 能够无错误解析
  • 所有必需字段均存在:blacklist、index_excludes、ingested_folder、ingested_subdirs、log_format
  • blacklist 和 index_excludes 中的路径都是相对字符串(不是绝对路径,也不含协议)
  • ingested_folder 包含在 index_excludes 中,且不在 blacklist 中
  • Wiki 根目录(包含配置文件的目录)通过第 2 步中的合理性检查
  • blacklist 的值是真实的文件夹名称,而不是模板占位符(如果仍出现随附模板中的占位符,则予以标记)

报告检查结果。对于每个问题,提出修复方案并在应用前征求用户同意。

4 - 重新配置

如果用户想更改值:

  • 显示当前值
  • 提示输入新值,并说明该字段的作用
  • 写入前进行确认
  • 写回 wiki-config.md,同时保留注释和结构

绝不静默覆盖。重新配置始终是明确且经确认的操作。

5 - 架构管理

架构管理允许用户查看、编辑、重置或修复 wiki-schema.md。

在进行任何操作之前,先读取此技能自身资源文件夹中的 assets/wiki-schema.md。 该捆绑文件是默认架构,包含全部六个 wiki 技能所需的最小完整字段和枚举集合。你需要将其载入上下文,才能了解重置/修复操作中的“默认”含义,并准确说明哪些编辑安全、哪些有风险。

然后读取已部署的 <wiki_root>/wiki-schema.md。

比较并展示:

如果已部署的架构解析正常 → “这是你当前的架构:”并显示 frontmatter YAML。提供以下选项:

  • 保持原样 → 返回主菜单
  • 重置为捆绑默认架构 → 明确确认后,使用捆绑模板覆盖
  • 编辑字段或枚举 → 交互式修改(见下文)

如果已部署的架构格式错误(YAML 解析错误、缺少关键部分)→ “你的 wiki-schema.md 格式错误:[具体错误]。我可以将其重置为捆绑默认架构,也可以由你手动编辑。你更倾向于哪种方式?”

如果已部署的架构缺失 → 已在步骤 0 的分支中处理,不应到达这里;如果确实到达此处,则在确认后从捆绑模板部署。

编辑架构字段:

当用户想要修改架构时,在接受更改前显示以下警告:

“捆绑架构定义了最小完整集合。删除必需字段、重命名字段、删除现有页面正在使用的枚举值,或更改字段类型,都可能导致技能行为异常(写入失败、页面无效、lint 误报)。添加新的条件字段或扩展枚举值列表通常是安全的。”

然后询问用户想要更改什么:必需字段、条件字段或枚举列表。

对于每项更改:

  • 显示当前值
  • 接受新值
  • 验证:mandatory_fields 仍须包含 title、version、date、changes、page_type
  • 验证:除非用户明确确认删除,否则三个枚举都必须至少保留其默认值
  • 写入前确认
  • 写回 wiki-schema.md,保留注释和结构

重置/修复:

根据用户请求,将 assets/wiki-schema.md 复制到 <wiki_root>/wiki-schema.md。记录此操作。确认:“架构已重置为捆绑默认值。技能将在下次调用时使用此架构。”

绝不静默覆盖自定义架构。重置始终必须经过明确确认。

6 - 模板管理

模板管理功能允许用户查看、修复、重置或检查 <wiki_root>/templates/ 中的页面模板。

首次进入此流程时,介绍以下内容:

页面模板

模板为每个 Wiki 页面提供一致且结构化的起点。技能创建新页面时,会从你的 templates/ 文件夹中读取匹配的模板,并将其用作框架——把 {{TITLE}} 和 {{DATE}} 等占位符替换为实际值。

你可以自行编辑模板。更改会立即应用于所有新页面;不会修改现有页面。如果模板文件缺失,技能会回退到最简的硬编码结构。

默认模板集涵盖全部 13 个默认模板(12 种页面类型,以及特殊的顶层 Home 导航中心):knowledge、reference、survey、domain-home、overview、home、log、index、longform、profile、established-patterns、note 和 config。

评估当前状态:

列出 <wiki_root>/templates/ 中的文件。确定 13 个预期文件中哪些存在、哪些缺失。

显示状态:

模板文件夹:[13 个默认模板中有 X 个存在]

已存在:knowledge.md、survey.md、……[列表] 缺失:reference.md、……[如有则列出]

提供操作选项:

  • 查看模板 - 读取并显示任意指定模板文件的内容;提醒用户可以直接在笔记应用中编辑
  • 部署缺失的默认模板 - 将缺失文件从 assets/templates/ 复制到 <wiki_root>/templates/;绝不覆盖已存在的文件
  • 重置指定模板 - 使用捆绑的默认模板覆盖指定模板;操作前发出警告
  • 重置所有模板 - 使用捆绑的默认模板覆盖全部 13 个模板;操作前发出警告
  • 查看 README - 显示 <wiki_root>/templates/README.md

重置保护措施 - 执行任何重置前都要显示:

“重置模板会用捆绑的默认模板替换你的编辑内容。不会影响现有 Wiki 页面——只有后续新页面会使用新的结构。无法在此技能中撤销此操作。”

单独重置时,逐个文件确认;全部重置前,一次性确认并列出全部 13 个文件。

执行任何操作后,询问用户是继续执行其他模板操作,还是返回主菜单。


关键规则

  1. 此技能完全负责设置体验。 五个操作技能遇到配置缺失时都会拒绝执行,并引导用户来这里(如果未安装此技能,则引导用户参考附带的 references/setup-help.md 手动设置)。只有此技能会创建脚手架、验证配置并处理重新配置。只有此技能会响应“设置 wiki 配置”触发词。
  2. 未经明确确认,绝不覆盖现有配置。 重新配置时逐个字段进行对话。
  3. Wiki 根目录是包含 wiki-config.md 的目录。 配置中没有 wiki_root 字段。移动 wiki 就是移动此文件。
  4. 绝不部署到驱动器根目录、操作系统根目录或用户主目录。 这些情况几乎总是用户操作失误。
  5. 附带的资源是唯一可信来源。 此技能附带 assets/wiki-config-template.md、assets/wiki-schema.md、assets/wiki-help.md 和 assets/templates/(13 个模板文件和 README)。初始化时会部署所有这些文件。五个操作技能在各自的 references/ 文件夹中附带相同的只读副本:wiki-config-template.md 和 wiki-schema.md。此处任何共享文件发生变更时,都必须同步更新操作技能中的副本。references/setup-help.md 也应在各操作技能中保持同步。
  6. wiki-config 是推荐的设置、编辑和修复方式。 只有 wiki-config 提供引导式架构编辑器和修复流程。如果 wiki-config 不可用,或用户更愿意继续操作,操作技能可以将 references/ 文件夹中的附带默认文件部署为备用方案;但只要 wiki-config 可用,就必须优先推荐 /wiki-config。绝不静默覆盖格式错误的架构——此情况始终需要征得用户明确同意,并警告其将被覆盖。

此技能不做什么

  • 不执行任何 wiki 操作(导入、lint、集成、结晶、查询)。这些操作由五个操作技能负责。
  • 不管理 TaskNotes 配置、插件设置或任何非 wiki 配置。
  • 不访问 wiki 根目录之外的内容,也不更改文件系统工具的作用范围。
  • 不直接编辑模板内容——此技能负责部署、修复和重置模板;用户在自己的笔记应用中编辑模板。

评论

支持 Markdown