完整解析LLM Wiki Lint结构检查器:矛盾、孤儿、缺失全揪出来的源码拆解

发布时间:2026/9/16 15:26:42

完整解析LLM Wiki Lint结构检查器:矛盾、孤儿、缺失全揪出来的源码拆解 完整解析LLM Wiki Lint结构检查器矛盾、孤儿、缺失全揪出来的源码拆解【免费下载链接】llm_wikiLLM Wiki is a cross-platform desktop application that turns your documents into an organized, interlinked knowledge base — automatically. Instead of traditional RAG (retrieve-and-answer from scratch every time), the LLM incrementally builds and maintains a persistent wiki from your sources。项目地址: https://gitcode.com/GitHub_Trending/ll/llm_wikiLLM Wiki 是一款跨平台桌面应用能自动把文档变成互相链接的知识库。它的Lint 结构检查器就像给知识库做体检孤立页面Orphan、失效链接Broken Link、无出链页面乃至 LLM 才能发现的内容矛盾一次全揪出来还能一键修复。本文带你从源码层面看懂这套检查器是怎么工作的。Lint 检查器能查出哪些问题LLM Wiki 的检查分为两层对应四类问题层级问题类型说明严重度结构层orphan孤立页面没有任何其他页面链接到它提示结构层broken-link失效链接[[wikilink]]指向的页面不存在警告结构层no-outlinks无出链页面本身没有引用任何其他页面提示语义层semantic语义问题矛盾contradiction、过时stale、缺失页面missing-page、建议由 LLM 判定结果统一用LintResult结构承载包含类型、严重度、涉及页面、描述以及自动修复所需的建议目标页src/lib/lint.ts结构检查三步扫描 Wiki 目录入口是runStructuralLint流程很直接src/lib/lint.ts读文件递归遍历wiki/目录只处理.md文件且排除index.md和log.md它们本就不参与互链抽取信息每页解析出标题frontmatter 的title或第一个#标题、所有[[wikilink]]出链、以及用于推荐候选的 token 集合标题 正文前 4000 字符后台计算把数据丢给 Web Worker 执行核心算法 src/lib/lint-structural.worker.ts避免大库检查时卡死界面。核心算法computeStructuralLint在 src/lib/lint-structural-core.ts 中孤立检测统计每页的入链次数inboundCounts零入链即孤儿——但它同时给出suggestedSource推荐最该链接到它的页面失效链接检测每个出链先归一化去掉wiki/前缀、.md后缀、统一小写查不到目标即告警并附上suggestedTarget候选页无出链检测outlinks为空即标记附suggestedTarget推荐该链接谁。亮点断链修复建议是怎么猜出来的失效链接最有价值的不是报错而是推荐正确目标。源码里藏着一套相似度引擎src/lib/lint-structural-core.ts二元片段索引把每个页面名拆成相邻双字串bigram建倒排索引transfomer能通过片段命中transformer而不必逐页全量比对编辑距离兜底对候选用 Levenshtein 距离 归一化算相似度同基名得分 0.96、包含关系 0.82超过 0.74 才给出建议中文友好NFKC 归一化让全角/简体变体等价匹配单字 CJK token 降权 0.35防止常见字误伤。对应场景的测试也很有趣——attention页里写错成transfomer检查器能精准推荐transformer.mdsrc/lib/lint-structural-core.test.ts。性能上同样下过功夫5000 个页面要求 5 秒内完成防止所有页对彼此全扫描的写法回潮src/lib/lint-structural-core.test.ts。语义检查让 LLM 找出结构层看不见的矛盾结构层只能看链接图而内容矛盾需要理解力。勾选语义检查 (LLM)后runSemanticLint会把每页的摘要frontmatter 前 500 字符拼进 Prompt让 LLM 以固定格式输出问题块src/lib/lint.ts---LINT: contradiction | warning | 两个页面的版本描述冲突--- entities/a.md 声称 X而 concepts/b.md 声称 Y…… PAGES: entities/a.md, concepts/b.md ---END LINT---用正则LINT_BLOCK_REGEX解析回LintResult并做了一道防误报过滤LLM 常把已经存在的页面误报为缺失missingPageAlreadyExists会对名称做 NFKC 归一化后精确比对命中即丢弃src/lib/lint.ts——这是针对非英文 Wiki 的实战修正。修复从发现到一键落地检查结果不是终点。在 src/components/lint/lint-view.tsx 中每类问题都有对应修复动作实际文本变换由 src/lib/lint-fixes.ts 完成问题一键修复动作孤立页面appendWikilink在推荐页面的## Related下自动插入[[该页]]失效链接rewriteWikilinkTarget把断链改写为候选页找不到候选时ensureBrokenLinkStub自动建一个占位 stub 页无出链appendWikilink给页面补上最相关页面的链接语义问题转入待审阅队列由人工决策批量修复还有一个细节多项问题若命中同一页面会先在内存中依次应用所有文本变换只写盘一次避免互相覆盖src/components/lint/lint-view.tsx。删除孤儿页则走级联删除连带清理向量块和全站引用。检查规则可配置按项目保存点界面左上角的齿轮可打开规则面板支持三个开关src/lib/lint-config.ts不报告孤立页面ignoreOrphan不报告无出链页面ignoreNoOutlinks忽略页面清单ignorePages每行一个 slug 或路径如archive/legacy-page配置以 JSON 保存在项目内.llm-wiki/lint-config.json随项目走。注意忽略清单按完整路径匹配忽略顶层foo不会误伤archive/foo——这个边界在测试中有专门覆盖src/lib/lint-structural-core.test.ts。上手建议新建 Wiki 后先跑一次纯结构检查不开语义快速清理断链和孤儿界面进度条可随时取消页面多起来后勾选语义检查重点看contradiction和stale警告把确实不要管的页面加进忽略清单保持结果列表干净善用转入待审阅把批量操作交给 Review 队列逐条确认避免误改。整套 Lint 源码集中在几个文件检查主流程 src/lib/lint.ts、结构算法 src/lib/lint-structural-core.ts、界面与修复 src/components/lint/lint-view.tsx、状态管理 src/stores/lint-store.ts。读懂它们你就掌握了 LLM Wiki 维持互联知识库健康的关键一环。【免费下载链接】llm_wikiLLM Wiki is a cross-platform desktop application that turns your documents into an organized, interlinked knowledge base — automatically. Instead of traditional RAG (retrieve-and-answer from scratch every time), the LLM incrementally builds and maintains a persistent wiki from your sources。项目地址: https://gitcode.com/GitHub_Trending/ll/llm_wiki创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/9/16 15:21:40

Betterfox 完整指南:如何五步给 Firefox 提速并加固隐私

Betterfox 完整指南:如何五步给 Firefox 提速并加固隐私 【免费下载链接】Betterfox Firefox user.js for optimal privacy and security. Your favorite browser, but better. 项目地址: https://gitcode.com/GitHub_Trending/be/Betterfox Firefox 启动迟缓…

2026/9/16 16:16:59

SSM框架实战:智能停车场系统的并发控制与计费引擎设计

简介:基于SSM框架的智能停车场管理系统是一套面向Java学习者与课程设计场景的完整项目源码,整合Spring、Spring MVC与MyBatis三大框架,实现车牌识别、自动计费、车位监控、报表统计等核心业务,可支撑毕业设计或停车管理类项目二次…

2026/9/16 16:16:59

Laf 快速上手:用云函数 + 云数据库实现用户注册/登录

Laf 快速上手:用云函数 云数据库实现用户注册/登录 【免费下载链接】laf Laf is a vibrant cloud development platform that provides essential tools like cloud functions, databases, and storage solutions. It enables developers to quickly unleash their…

2026/9/16 16:16:59

Python实战:从零开发背单词APP的核心技术全解析

简介:这是一套以Python语言开发背单词App为目标的完整项目实战源码,技术栈涉及Kivy、SQLite与Virtualenv,适合已有Python基础、希望快速进入移动端开发领域的学习者与开发者。项目围绕“51斩百词”应用展开,实现了单词分类、查词发…

2026/9/16 12:52:37

拯救者Y7000黑屏故障排查与维修实战指南

1. 项目概述:一台黑屏的拯救者Y7000,到底卡在哪一步? 联想拯救者Y7000系列笔记本,从2018年第一代搭载i5-8300H开始,到后来的i7-9750H、i7-10750H、i5-11400H,再到2023年款的R7-7840HS,它始终是学…

2026/9/16 0:04:09

PHP源码部署实战:从环境配置到运行情侣游戏全攻略

简介:这是一套面向情侣互动场景的PHP完整源码,集成情侣飞行棋、真心话大冒险、情趣骰子等玩法,并内置完整分销制度,可自定义多种返佣比例,源码完全开源无加密,支持微信无感自动授权登录与第三方授权&#x…

2026/9/15 14:22:53

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/15 21:31:11

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/15 11:42:23

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码