| name | llm-wiki-ops |
| description | LLM Wiki 知识库运维技能。用于在飞书知识库中进行 LLM Wiki 的初始化、绑定、入库、查询、体检和词条管理。当用户要求操作 LLM Wiki 知识库、入库资料/文章、查询词条、体检知识库、管理索引/日志时使用。支持自动检测绑定状态,未绑定时引导初始化,已绑定时直接运维。 |
| license | Apache-2.0 |
| metadata | {"author":"liucongg","version":"1.0.0"} |
LLM Wiki 运维技能
在飞书知识库中运维 LLM Wiki——基于 Karpathy 的 LLM Wiki 模式:LLM 把原始资料持续编译成互相链接的持久化 wiki。
第一步:检测绑定状态
每次使用本技能前,必须先检测知识库绑定状态。
- 读取本技能目录下的
config/wiki-binding.json。
- 如果文件存在且包含有效的
space_id 和 nodes,则视为已绑定,直接进入运维模式。
- 如果文件不存在、为空或缺少关键字段,则视为未绑定,进入初始化流程(见
references/init.md)。
绑定文件路径:<skill_dir>/config/wiki-binding.json
已绑定:直接运维
绑定后,所有操作基于 wiki-binding.json 中的节点 token 和 doc_id 执行。无需再让用户提供知识库地址。
核心操作
1. Ingest(入库)
原始资料入库:
- 读取用户提供的资料文件(全文,不跳过)。
- 在「原始资料」区创建资料卡文档,保留原文链接。
- 从资料中提取值得沉淀的实体/概念/方法论,在「词条」区创建词条文档。
- 每个新词条必须同时建立与已有词条的双链关系(见下方「双链规则」)。
- 更新「索引」文档(A-Z 排序,先英文后中文)。
- 在「更新日志」追加
ingest 条目。
文章入库:
- 判断是成稿还是草稿,分别放入「我的文章/成稿」或「我的文章/草稿」。
- 清理文章中的无关内容(如视频播放器 UI 文字)。
- 从文章中提取有价值的概念/实体创建词条(词条来源标注文章标题)。
- 更新索引和日志。
详细流程见 references/ingest.md。
2. Query(查询)
- 先读「索引」定位相关词条和资料卡。
- 深入阅读相关文档。
- 综合出带引用的答案。
- 有价值的答案(比较、分析、新连接)归档回 wiki 成为新页面,并更新索引与日志。
详细流程见 references/query.md。
3. Lint(体检)
定期检查:
- 页面间矛盾、过期论断
- 孤儿页(无入链的词条)——发现后立即补全双链
- 提到但缺页的概念
- 缺失的交叉引用
- 事实标注是否完整(每条事实是否标注来源)
- 索引与实际词条是否一致
结果记录到更新日志,类型为 lint。详细流程见 references/lint.md。
4. 词条管理
- 新建词条:必须包含定义、关键事实(标注来源)、与其他词条的关系(双链)、来源四个部分。
- 更新词条:只改被点名的范围,保留未要求改动的内容。
- 删除词条:需用户明确授权,删除后更新索引和相关词条的双链。
词条模板见 references/entry-template.md。
5. 索引与日志维护
- 索引:每次入库/删除后必须更新。按 A-Z 字母排序,每个字母下先英文后中文。包含原始资料、我的文章(成稿+草稿)、词条三个区域。
- 更新日志:追加式记录,不修改历史。条目格式:
## [YYYY-MM-DD] <动作> | <主题>,动作取值:ingest/query/lint/init/update。
词条文档规范(强制)
每篇词条文档必须包含以下结构:
- 定义:一句话定义该实体/概念。
- 关键事实:列出从资料/文章中提取的事实。
- 与其他词条的关系:说明与其他词条的关联,必须使用飞书文档双链链接。
- 来源:标注来源文件名或文章标题。
事实与来源规则(强制)
- 所有事实必须来自用户提供的资料和文章,禁止编造。
- 每条事实必须标注来源,格式:
(来源:<文件名/文章标题>)。
- 资料里没有的信息,明确写「暂无资料」,不得臆造。
双链规则(强制)
- 每个词条的「与其他词条的关系」部分必须使用飞书文档链接(
[词条名](https://<tenant>.feishu.cn/docx/<doc_id>)),不得使用纯文本。
- 禁止产生孤儿词条:每个新词条至少链接到 1-2 个已有词条;被链接的词条也应在关系部分回链。
- 关系描述要具体,不能只写“相关”,要说明是什么关系(对比、基于、同属、被采用等)。
- 绑定文件
wiki-binding.json 中不记录每个词条的 doc_id;查询时通过索引或 wiki 节点列表获取。
未绑定:初始化流程
如果检测到未绑定,按以下流程初始化:
- 询问用户是否已有 LLM Wiki 知识库。
- 已有:让用户提供知识库的 space_id 或 wiki 链接,自动解析节点结构,生成
wiki-binding.json。
- 没有:在飞书创建新知识空间,建立标准目录结构(原始资料、词条、我的文章/成稿、我的文章/草稿、索引、更新日志、AGENT.md),生成
wiki-binding.json。
- 初始化完成后,告知用户绑定成功,并可直接开始运维。
详细流程见 references/init.md。
绑定文件格式
config/wiki-binding.json 必须包含:
{
"wiki_name": "LLM Wiki",
"space_id": "<飞书知识空间ID>",
"space_url": "<知识库URL>",
"root_node_token": "<根节点token>",
"nodes": {
"原始资料": { "node_token": "...", "obj_token": "..." },
"词条": { "node_token": "...", "obj_token": "..." },
"我的文章": {
"node_token": "...",
"children": {
"成稿": { "node_token":
注意事项
- 本技能操作的是飞书知识库,需要飞书登录态。操作前确认
lark-cli 可用;如果 Agent 提供等价的飞书知识库和文档工具,也可以使用等价工具完成同一操作。
- 绑定文件是本技能的核心运行时状态,不要提交到版本库。如果知识库结构发生变化(如新增节点),必须同步更新绑定文件。
- 写入绑定前确保
config/ 目录存在。可参考 config/wiki-binding.example.json,但不得把示例占位值视为有效绑定。
- 所有写入操作(创建文档、更新索引、追加日志)执行后,必须验证结果(列出节点确认数量、读取文档确认内容)。
- 用户可在对话中直接要求执行入库、查询、体检或词条管理,无需重复确认绑定状态(已在第一步检测)。