
adminandClaude Fable 5
e783a26be6
feat(priv): A1 实现私有资料问答 P1-P3——vstore chunk 索引 + BFF 私有问答端点 + 前端并行块与管理界面
- P1 vstore: chunks.py 切块(600字/8段/重叠1/上限200,表格原位聚合,outline
不参与)+ChunkIndex 三文件原子写+无降级档;embed_batch_chunked 批量16x并发4;
vault add/delete/rebuild_chunks 钩子(chunk 失败不阻断 doc 级);search-chunks/
rebuild-chunks 端点+health chunk_count;rebuild CLI
- P2 BFF: privateqa.ask_private(同doc≤3去重/12k截断/40s超时/带引用短答);
POST /api/qa/private 三态;schemas PrivateDocBlock 入 union;client.search_chunks;
llm timeout 参数;main.py 注册
- P3 前端: _firePrivate 并行检索+竞态防护(pending/flush/防重入/跨轮归属);
AssistantMessage private_doc 块;i18n/private.js;PrivateLibraryPane 挂 DocPane
空态;removeLibrary(204 兜底)
自测: vstore pytest 26/27(1 失败为 T1 骨架笔误待修)+74 回归;前端 vitest
373/373;npm run build 0 error;sdk 222 passed(3 failed 为基线预存);红线 diff 空。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>