Engineering Audit / v0.6.10

从一个项目
看通用工程

这不是一篇功能导览,也不是把开源实现当成标准答案。我们固定到一个可核验版本,分清代码事实、项目声明与工程推论, 再追问:哪些设计值得复用,哪些结论尚无证据,哪些缺口会在生产环境里变成事故。

审计版本v0.6.10 · 889789c
证据等级实现 · 声明 · 推论 · 建议
核心问题正确性 · 可恢复 · 可评测
案例栈React 19 · Tauri 2 · Rust
目标提炼可迁移工程约束

结论先行

LLM Wiki 是“写时知识物化”的有价值案例,但它不是 RAG 的替代品,也还不是经过语义质量验证的生产标准。

它在资料进入时生成可读 Markdown、链接与索引,让部分推理结果能够跨查询复用;查询阶段仍使用关键词、向量和图扩展。 真正可迁移的思路,是把概率模型放进可追踪、可校验、可回滚的流水线,而不是复制某个 UI、向量库或 Prompt。

Versioned Evidence → Derived Claims → Views / Indexes → Retrieval / Agent → Evaluation / Revision
更严谨的设计转向

把模型输出视为“待验证的派生主张”,而非事实;只有证据血缘、结构校验、事务提交、质量评测与人工纠错都闭环,知识才可能长期积累。

我们如何审计

已验证实现

能在固定提交的源码、配置或测试中定位。它回答“代码现在做了什么”,不自动证明设计有效。

项目声明

README、注释或界面给出的结果与指标。若缺少数据集、脚本和运行记录,只能作为待复现主张。

通用推论

从案例抽取的工程原则,必须写明适用条件、代价和反例,避免把实现偏好包装成普遍规律。

改进建议

针对一致性、安全、评测、成本和运维缺口给出的落地动作,不暗示上游项目已经具备。

审计纪律

测试数量证明不了知识正确,演示效果证明不了检索提升,Markdown 可读也证明不了来源可信。凡是无法由仓库材料复现的效果,都不写成既成事实。

项目快照

3原始方法论核心操作:Ingest / Query / Lint
2主要运行语言:TypeScript + Rust
143TypeScript 测试文件(含 MCP 与真实模型场景)
400+Rust 测试标记,覆盖后端边界

当前审计对象是 nashsu/llm_wikimain 分支固定快照, 提交 889789c、标签 v0.6.10。 以下讲解以实际代码为准,而非仅复述 README。

测试规模只用于描述工程投入,不能替代语义评测、安全审计或线上可靠性证据。

React 19TypeScript 5.7 Vite 8Tauri 2 Rust 2021Zustand 5 Sigma.jsGraphology LanceDBMilkdown

七章审计地图

每章都保留案例证据,同时补上适用边界、失败模式和可验收的改进项。

不止一个桌面界面

桌面知识工作台

三栏布局将知识树、聊天、预览组合在同一空间;图谱、搜索、审核、Lint 和研究是平级工作面。

本地知识文件夹

Wiki 最终落在普通 Markdown、YAML frontmatter 与 [[wikilink]] 上,可被 Obsidian、Git 和其他工具直接接管。

Agent 后端

Rust runtime 负责检索、工具调用、写 Wiki、生成 workspace 文件、Skill 加载和可取消的流式事件。

外部接入面

端口 19828 提供 JSON/SSE API,随包 MCP Server 将它包装为工具;端口 19827 服务浏览器剪藏。

保留价值,也拆掉光环

值得学习的地方

  • 资产可退出:知识不是锁在应用数据库里,而是用户能直接拿走的 Markdown。
  • 把维护当成产品核心:来源追踪、增量摄入、级联删除、文件历史与 Lint 都在解决“长期变脏”。
  • 确定性代码包围概率模型:LLM 负责语义判断,路径校验、索引、日志、缓存和写入完整性由程序兜底。
  • 能力渐进增强:小 Wiki 可只用索引和关键词;规模增长后再开启向量、图扩展、Agent 和外部研究。

需要正视的代价

  • 写时计算比纯 RAG 更贵,摄入质量直接决定后续知识质量。
  • 当前摄入缓存主要绑定源内容哈希,未把 Prompt、模型、解析器和 Schema 版本纳入完整指纹,规则升级后可能错误跳过重建。
  • 单文件具备原子替换与历史,但多文件摄入失败会保留部分写入;这不是知识库级事务,重试和并发合并仍可能漂移。
  • 来源主要停留在页面级元数据,尚不足以支撑主张级引用、冲突裁决、有效期和可信度管理。
  • README 给出的检索提升指标在固定版本仓库中没有发现可复现的数据集、脚本和报告,不能作为已验证效果。
  • 项目横跨 React、Rust、文件解析、LLM Provider、向量库和本地服务,维护面明显大于简单知识库。
  • README 的 Rust 1.70+ 与 Cargo.toml 实际要求 Rust 1.88 存在文档漂移;构建时应以清单为准。
总体评价

这是一个覆盖面广、工程投入明显的参考实现。它最有价值之处是把开放文件资产、模型语义能力与确定性维护机制放到同一系统里;它最需要补齐之处,则是主张级血缘、跨文件事务、可复现评测和更严格的 Agent 安全边界。

Next Chapter01 · 从口号回到设计约束
审计依据:固定提交 889789c(标签 v0.6.10)的本地源码、README_CN.md、llm-wiki.md、package.json、Cargo.toml 及核心测试。文中“项目声明”与“源码已验证”分开表述;项目声明 GNU GPL v3。