
把散落三年的文档搭成知识库tri-wiki 的六道闸门救了我用 tri-wiki 把 300 份散落文档搭成知识库最值钱的不是转换是它那三道人工确认门和最后那份质量报告。信息架构定错了后面全是白干覆盖率、断链率、置信度这些数字让知识库建好了从感觉变成了可验证的事实。为什么突然想搭知识库我电脑里散着三年攒下的资料PDF 的技术手册、Word 的会议纪要、PPT 的方案、网页存下来的笔记还有一堆 .md 草稿。平时找东西全靠文件名和记忆经常是我记得有一份讲 XX 的在哪来着。Obsidian 装了又卸因为手动整理几百个文件太劝退。tri-wiki 这套 skill 的定位是建库工程队先对图纸再清材料分工加工归档上架编目联通最后交验收单。六阶段管道三道人工确认门。我一开始觉得流程太重跑完才明白为什么这么设计。门A信息架构确认想跳跳不过tri-wiki 的强制契约第一条就是信息架构确认门不可跳过–auto 只能跳过门②③门①永远要你确认。我一开始想偷懒直接 --auto 一把梭结果它根本不给我这个机会必须先产出 build-plan.md库名、主题范围、目录树、命名规范、标签体系、frontmatter 字段集。这一步我花了半小时但后来发现值。我最初想把项目资料和个人笔记混在一个库里build-plan 阶段就发现主题范围会打架拆成了两个库。如果跳过这步直接建后面分类归置全是乱的。门B扫描预检魔数校验拦住了改名 PDF门B 用 scan_sources.py 扫描源目录输出 sources-manifest.jsonpython scripts/scan_sources.py--sourcesd:\docs\项目资料--json它干三件事格式识别、分级归类、去重标记。格式识别不是只看扩展名还做魔数校验PDF 必须开头是 %PDFdocx/pptx/xlsx 必须开头是 PK它们本质都是 zip 容器。我有一份把 .txt 改成 .pdf 的假 PDF直接被 magic_mismatch 拦下来标成 skip。要是没这道校验后面转换器会拿假 PDF 白跑一遍。去重标记也实用MD5 完全重复的直接标 duplicate内容高度相似simhash 汉明距离 ≤3的标 near_dup。我扫出来 3 组近重复文档都是同一份方案的旧版和新版省了后面重复入库。门C委派转换缺了 skill 它不硬来门C 是委派不重造单文档转换全部交给 x2md 族tri-pdf2md / tri-docx2md / tri-pptx2md / tri-xlsx2md / tri-html2mdtri-wiki 自己只做编排。python scripts/convert_orchestrate.py--plan--manifestsources-manifest.json--json它先探测 x2md 族装没装探测路径是 .tribro/skills → skills → ~/.workbuddy/skills → ~/.trae-cn/skills。我机器上装了 tri-pdf2md 和 tri-html2md但没装 tri-docx2mdplan 里 docx 文件全部标成 blocked_missing_skill还给出安装命令skillhubinstalltri-docx2md--dir目标目录这里有个设计我挺喜欢缺转换器不会整批中断而是部分降级装不上的格式标记跳过报告其余格式照常建库。我装上 tri-docx2md 后重新跑docx 也进了转换队列。门D组织元数据frontmatter 是硬约束转换完的 md 进门Dorganize.py 做三件事注入 frontmatter、命名归置、大文档拆分。frontmatter 有五个必填字段title / type / source / source_format / created。缺一个最后质量报告的组织完整度就不到 100%。我一开始觉得这五个字段啰嗦后来用 Obsidian 打开才发现没这些元数据图谱和检索全废。大文档原子化拆分是意外惊喜。我有一份 2 万字的方案超过 8000 字符阈值后按 ## 二级标题切成了 5 个子页再生成一个父页聚合目录python scripts/organize.py --kb-root 项目知识库--planclassify-plan.json --split-chars8000拆分后子页带 split_from 字段指向父页父页用 [[子页]] 双向链接串起来。长文档不再是一坨读不动的墙。门EMOC 与断链检测门E 生成 index.md、各主题的 主题-MOC.md、tags.md并做断链检测。MOC 就是内容地图每个主题一页把该主题下的笔记用 [[]] 串起来。我踩了个坑手写 moc-plan.json 时把一个笔记名写错了[[XX-方案]] 指向不存在的文件断链检测直接揪出来列在 index.json 的 broken 里。要是没这道检测Obsidian 里就是一堆红色断链点进去是空页。门F质量报告数字说话门F 是用户硬要求跑完必须出 quality-report.mdpython scripts/quality_check.py --kb-root 项目知识库 --process-dir .tribro/wiki/WIKI_20260827_项目知识库六个指标全部确定性计算指标我的结果目标覆盖率96.7%≥90%组织完整度100%100%转换保真率91.2%≥85%断链率0.4%2%链接密度2.3≥1近重复笔记3 组人工仲裁置信度分级覆盖率 ≥95% 且完整度 100% 且断链率 1% 就是 A 级。我这次拿到 A但报告里复核项清单还是列了 3 组近重复要人工仲裁。这个设计很诚实它不替你做取舍只把问题摆出来。例外–auto 和全量构建的代价也有省不动的。门②③ 可以 --auto 跳过但质量报告会标注分类未经人工确认。我试过一次 --auto分类归置确实快但有几个文件归错了主题事后手动挪比当时确认还费劲。v1 只支持全量构建源数据更新后要重新全量跑不能增量合并这个对频繁更新的资料库是个限制。收尾搭完这个库最大的感受是搭知识库这件事终于可验证了。tri-wiki 不承诺知识自动变好它只保证结构正确、元数据完整、链接可检、质量可知。三道确认门逼你把信息架构想清楚质量报告让建好了变成数字。这套流程比我自己手动整理几百个文件靠谱得多。顺带一提我在给「雷达鸭」一个收录中国一人公司真实赚钱案例的 App鸿蒙版在华为应用市场整理运营资料时也用了这套流程把散落的案例文档归成了可检索的知识库。我是老三10 年软件开发经验软件设计师、人工智能应用工程师专注鸿蒙应用开发ArkTS北向开发与 Web 前端探索 AI 自动化不定期在 CSDN 分享鸿蒙 / AI 方向技术文章。本文遵循 MIT 协议转载请注明出处。这个系列的文章都来自开源的 tri 技能库。整套 tri-xxx 技能都能在 https://skillhub.cn/ 找到并安装一条命令装完即用比如本文用到的 tri-wikiskillhub install tri-wiki。装完每个技能都有 README想摸清它到底能干嘛读那个就够了。