Wiki

基于 LLM 的个人知识库,自动编译、校验并生成可浏览的静态网站。

已扫描安全风险
适合谁
知识管理者、研究型学习者
不适合谁
临时笔记记录者、无需结构化管理的日常记事者
国内可用性
需网络配置。可能需要网络配置或第三方服务可访问。
安装难度
新手友好(★☆☆)。基于终端操作、依赖、API Key 和本地环境要求的初步判断。

安装与下载

openclaw skills install @nkhoit/llm-wiki

Skill 说明

命令、参数、文件名以原文为准

Wiki — LLM 维护的知识库

你为用户维护一个个人知识库。该知识库是一组按主题组织的 Markdown 文章,你是其编译者、编辑者与图书馆管理员。

设置

如果知识库尚不存在,请运行 scripts/bootstrap.sh 来创建目录结构,安装依赖项,并配置 Git 与静态服务。

知识库位于 ~/wiki/,其结构如下:

~/wiki/
├── mkdocs.yml
├── docs/
│   ├── index.md              ← 主索引页面(由你维护)
│   ├── log.md                ← 按时间顺序记录的摄入/校验/查询日志(仅追加)
│   ├── raw/                  ← 未处理来源的收件箱
│   │   └── processed/        ← 编译完成后归档
│   └── topics/
│       ├── <topic>/
│       │   ├── _index.md     ← 主题概览及文章列表
│       │   └── <article>.md  ← 单个文章
│       └── ...
└── site/                     ← 构建后的静态站点(已加入 gitignore)

核心操作

1. 知识归档(最常见操作)

当对话产生可长期保存的知识时,应立即归档:

  1. 确定正确的主题目录(如无则创建新目录)
  2. docs/topics/<topic>/<article>.md 中编写或更新文章
  3. 更新相关页面 —— 扫描已有文章,查找与新知识相关的概念、实体或数据。添加交叉链接,更新数值,注明新信息取代旧说法。一次摄入应影响所有相关页面,而不仅限于目标文章
  4. 更新 docs/topics/<topic>/_index.md 中的新文章链接
  5. 若新增了主题或文章,更新 docs/index.md 的统计信息
  6. 更新 mkdocs.yml 中的导航配置
  7. docs/log.md 追加一条记录
  8. 重新构建:scripts/build.sh

文章应具备自包含性、事实准确,并在相关处建立交叉链接。使用 See also: [标题](相对路径.md) 表示关联。

2. 从 raw/ 编译内容

当用户将资料放入 docs/raw/ 或提供一个 URL 时:

  1. 读取或获取源材料
  2. 提取持久性知识(忽略临时信息、缺乏证据的观点)
  3. 归档至合适的主题文章中(新建或已有)
  4. 更新相关页面 —— 同上:扫描现有文章,更新受新信息影响的交叉链接、数据或陈述
  5. 将原始资料移至 docs/raw/processed/
  6. docs/log.md 追加一条记录
  7. 重新构建:scripts/build.sh

3. 校验检查(每日通过心跳机制执行)

~/wiki/docs/ 进行扫描,检查以下问题:

  • 矛盾之处 —— 同一主题下不同文章中的事实、数据或主张冲突。需标记具体页面和冲突语句
  • 过时数据 —— 过期引用、与“当前”“最新”等词搭配的旧日期、已被更新的版本号
  • 缺失链接 —— 引用但无对应文章的主题
  • 失效的交叉链接 —— 断裂的 See also 链接
  • 孤立页面 —— 无任何其他文章指向的页面
  • 薄弱页面 —— 内容过于单薄,无法独立使用(建议合并或扩展)

~/wiki/docs/ 中修复:损坏链接、拼写错误、缺失交叉链接、孤立页面(从相关文章中添加反向链接)。

向用户报告:矛盾(附双方原文)、过时数据、建议新增文章、薄弱页面。

docs/log.md 追加一条校验记录。

4. 归档优质回答

当对话生成高质量综合答案(如对比分析、深度研究)时,主动提议将其归档为知识库页面。适合归档的内容包括:

  • 对比或评估类内容(模型性能对比、工具评测)
  • 基于排错经验提炼出的操作指南
  • 跨多个来源的整合研究成果
  • 带有理由的决策结论

这些内容不应仅停留在聊天记录中——它们将在知识库中持续积累价值。

5. 浏览知识库

知识库以 MkDocs 静态网站形式提供服务。每次内容变更后,运行 scripts/build.sh 重新生成。

文章撰写规范

  • 标题:顶部使用 H1,描述清晰
  • 日期/上下文:标题下方可加斜体说明(如 *测试时间:2026-04-02,设备:Mac mini M4 16GB*
  • 结构:使用 H2 分节,表格用于对比,代码块用于命令
  • 交叉链接:文末使用 See also: [文章名](相对路径.md)
  • 保持客观:引用来源,包含具体数据,避免模糊表述
  • 内容紧凑:这是参考文档,而非博客文章

新增主题

  1. 创建 docs/topics/<topic>/ 目录
  2. 创建 docs/topics/<topic>/_index.md,包含主题概述与文章列表
  3. 添加到 docs/index.md 的主题列表中
  4. 添加到 mkdocs.yml 的导航配置中

依赖项与系统要求

本技能需要或会自动安装以下组件:

依赖项用途安装方式
Python 3MkDocs 运行环境必须预先安装
mkdocs + mkdocs-material静态站点生成器通过 bootstrap.sh 使用 pipx 或 pip3 安装
git版本控制必须预先安装

bootstrap.sh 的作用

  • 创建 ~/wiki/ 目录结构
  • 通过 pipx/pip3 安装 mkdocsmkdocs-material(若尚未安装)
  • 初始化 git 仓库
  • 创建一个持久化静态服务器作为 LaunchAgent(macOS)或 systemd 用户服务(Linux),监听端口 8300
  • 该服务器仅在 127.0.0.1 上提供 ~/wiki/site/ 的访问(不对外公开)

build.sh 的作用

  • 重新构建 MkDocs 静态站点
  • 将所有更改提交至本地 git 仓库(默认不推送)
  • 使用 --push 可同时推送到已配置的远程仓库(需 SSH 密钥或存储的 HTTP 凭据)

可选:心跳集成

可将知识库校验集成至代理的心跳周期中。此功能为可选,需在 HEARTBEAT.md 中添加配置。心跳集成会读取 heartbeat-state.json(用于时间判断),并可选读取 memory/ 日记文件以发现知识缺口。详见 references/heartbeat-integration.md 获取设置说明。

日志记录(docs/log.md

仅追加式的按时间顺序记录知识库活动。每次摄入、校验或归档回答都会生成一条记录。格式:

[YYYY-MM-DD] ingest | 文章标题

  • 来源: <URL 或文件名>
  • 影响页面: page1.md, page2.md, ...
  • 摘要: 一句话描述新增或修改的内容

[YYYY-MM-DD] lint

  • 修复: <无声修复的列表>
  • 标记: <向用户报告的问题列表>

[YYYY-MM-DD] filed | 文章标题

  • 来源: 对话 / Q&A 合成
  • 摘要: 一句话描述

日志可通过 grep 解析:grep "^## \[" docs/log.md | tail -10 可获取最近 10 条记录。

构建与部署

内容修改后,请始终运行 scripts/build.sh。此操作会:

  1. 重新构建 MkDocs 静态网站
  2. 将所有更改提交至 git
  3. 推送到远程仓库
N
@nkhoit

已收录 1 个 Skill

相关推荐