HsWiki 先建立可追溯的 Wiki 事实源,再让 AI 以受约束的方式参与提案、检索与发布。
问题与定位
普通 Wiki 难以同时保证版本、审核、引用、视图一致性和 AI 失败恢复。
HsWiki 采用 Wiki-first:先建立可版本化、可回滚的事实,再让 AI 参与受约束的提案与检索。
架构为 Next.js/React Web、Java 21 Spring Boot 模块化单体、FastAPI AI 执行层和 PostgreSQL。
事实模型与多视图
EntryType / EntryTypeVersion 定义结构,Entry / EntryVersion 保存内容、草稿、审核与发布事实。
七类 Projection 共用有界的 ProjectionResult,保持多视图语义一致。
核心方案
Java 控制面与 Python 执行层
系统坚持“Web 不直接调 Python”。Java 控制面持有空间、权限、Wiki 版本、任务、配额、发布和审计,RabbitMQ outbox/inbox 将执行请求交给 FastAPI。
Python 只产出 Research、RAG、candidate、evidence、artifact 等结果,真实写入须经过 schema/预算校验、Owner plan-hash 确认、Java 发布 gate 与索引回执。
受控的 AI 写入状态
AI 写入按 PREPARING → READY_FOR_CONFIRMATION → CONFIRMED → EXECUTING → INDEXING → COMPLETED|NEEDS_ATTENTION|EXPIRED 推进。
发布绑定空间、base state、来源和 canonical hash,发布阶段不再调用模型。
发布与 durable index request 同事务,逐词条完成审核发布后才算完成。
关键工程实现
可审计的 AI 管道
Research 使用白名单工具、来源过滤、预算和 checkpoint;原子单元按 evidence、claims、entailment、composition、quality 推进。
结构化提案须符合 schema,关键 claim 绑定 evidence span/citation,正文从受支持 claim 的闭世界集合编译。
越界索引、跨 coverage、Owner 排除项和低置信度结果均 fail-closed。
RAG 与预算账本
RAG 读取先枚举可见的 published EntryVersion,再经 pgvector 召回、权限过滤、rerank 和 citation verifier,生成结构化回答与 SSE snapshot。
Java-owned RagAcceptanceSession 管理预算,支持原子 reserve/settle/release、usage receipt 与 stale reconciler;Python 对账本只读。
跨栈契约与恢复
OpenAPI 生成 Web 类型,Shared contracts 约束 REST、SSE、RabbitMQ envelope、状态和 hash。
失败确认持久化 failureClass/nextAction;同幂等键可 reclaim FAILED/过期 STARTED,活动 lease 抑制重复执行,恢复不会新增版本、审计或索引请求。
边界与验证
2026-08-07 的 fresh 隔离库完成 Skyrim 与 Civilization VI 双空间验收,各 10 篇内容经生成、发布、索引和 15 问 RAG。
Skyrim 的 Recall@5、MRR、faithfulness、citation/permission accuracy、unsupported refusal 均为 1.0;Civilization VI 最终 Recall@5/MRR 为 0.9166666666666666,其余指标为 1.0。
预算、数据库审计、浏览器证据和原始 JSON 位于 output/codex-run/final-audit-20260807/;不代表生产。
- 当前本地 GO 不等于 ECS staging、公网或生产上线;真实 provider、Research、RAG、媒体和整篇发布开关在验收收尾后恢复关闭。
- CANDIDATE 阶段仍需接入预算账本;staging 还需数据库角色、Rabbit 崩溃恢复、外部 HTTP、浏览器和备份恢复等独立 gate。
总结
HsWiki 让 AI 生成“可审核的候选”和“可引用的回答”,不允许模型越权写入事实。
版本化模型支持回滚,Projection 共源模型保持多视图一致;Java/Python ownership、plan-hash、预算账本和 fail-closed gate 让模型调用可追溯。
项目体现了复杂全栈系统中的契约、异步可靠性、上下文治理与验收能力。
评论