Some checks failed
verify / verify (push) Has been cancelled
Separate local parsing from model indexing, bind review decisions to immutable manifests, persist vectors behind active profiles, and expose retrieval, chat, evaluation, and document workflows through the React workbench. Constraint: Live Bailian authentication currently fails for all three configured capabilities Rejected: Direct upload-to-embedding flow | bypasses local review and manifest binding Confidence: high Scope-risk: broad Directive: Keep private-data deployment blocked until authentication, RBAC, and separate database roles land Tested: make verify; fresh and replay Docker document smoke; worker recovery smoke; frozen synthetic evaluation; migration 0003-0004 roundtrip Not-tested: Successful live Bailian calls, OCR, real multi-user authorization
地质知识 RAG 工作台前端
React + TypeScript 的地质知识 RAG 工作台,覆盖离线演示、正式检索、证据问答和受控文档入库。前端只访问同源 /api,不读取、保存或显示模型 Key、百炼工作区地址和数据库连接信息。
文档入库工作台
访问 /documents 可验证完整的治理流程:
- 浏览器计算文件 SHA-256,以 UUID
Idempotency-Key创建上传声明; - 以
application/octet-stream写入隔离存储,完成后轮询本地解析作业; - 加载全部分页复核包,核对页、块、Chunk、profile 与出域 manifest;
- 人工确认后以
expected_revision和 manifest 提交批准,或选择明确原因拒绝; - 批准后轮询向量索引作业,直到完整性校验与激活完成。
支持 TXT、Markdown、DOCX 和 PDF,浏览器侧限制 100 MiB。PDF 进入 OCR_REQUIRED
并不代表系统已经理解地图空间关系;页面不会把上传成功或解析成功显示为可检索。
运行环境与固定版本
- Node.js
>=22.12.0,本地验证版本22.22.3 - npm
>=10.9.0,本地验证版本10.9.8 - React
19.2.7 - React Router
7.18.1 - TanStack Query
5.101.2 - Vite
8.1.4 - TypeScript
5.9.3(openapi-typescript 7.13.0当前要求 TypeScript 5.x) - Vitest
4.1.10
精确依赖和完整性哈希记录在 package-lock.json,不要绕过 lockfile 安装。
本地开发
先确保后端监听 127.0.0.1:8000,再运行:
npm ci
npm run dev
Vite 将同源 /api 代理到本机后端。生产构建输出到 dist/。
OpenAPI 类型
src/api/schema.generated.ts 来自 FastAPI 应用工厂的真实 OpenAPI 文档。默认离线导出,不需要启动 API、连接数据库或读取模型 Secret。后端契约变化后运行:
npm run generate:api
如需对照正在运行的其他本机端口,可显式设置非敏感的 OPENAPI_SCHEMA_URL:
OPENAPI_SCHEMA_URL=http://127.0.0.1:8010/openapi.json npm run generate:api
生成脚本会确认 Demo、正式 Retrieval 与 Grounded Chat 契约均存在后才覆盖类型文件。
npm run check:api 会离线重新生成到内存并与提交文件逐字比较,CI 用它阻止后端和前端类型漂移。
质量门禁
npm run format:check
npm run lint
npm run typecheck
npm run test
npm run build
也可使用 npm run verify 顺序执行全部门禁。
当前界面明确区分:索引 ready、空数据、不完整数据、422 输入边界、503 数据库不可用和网络错误。只有 ready 状态允许检索;结果中的“演示排序分”不是地质结论置信度。