 adminandClaude Fable 5
|
7037a1d5d8
|
fix(deploy): restart 脚本 lsof 只取 LISTEN 态进程
2026-09-12 部署实测:lsof -ti tcp:PORT 返回该端口上所有 socket 的
进程——包括 BFF 到 8098/8094 的已建立连接,不只监听者。kill 多行
PID 时旧进程存活、新进程绑定失败静默退出(vstore 报 address already
in use;生信 restart 后仍是旧进程)。改 -sTCP:LISTEN 只取监听者,
kill 不再加引号(多 PID 需分词)。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-09-12 18:22:11 +08:00 |
|
 adminandClaude Fable 5
|
60f7360cec
|
fix(r4-52b): vault.add 按内容 SHA256 去重,重复上传覆盖旧 doc_id
缺陷 #52b(验收 §6 第 2 条 + 回归 G3):同一 PDF 重复上传 4 次 → 4 个 doc_id
× 200 chunk = 800 条,FAISS 检索 top_k 被同内容不同 doc_id 的块占满。
修复(vstore/vault.py):
- add() 先算内容哈希 SHA256(原始文件字节),查 index.json 的 content_sha
字段判重;同内容 → 移除旧 doc 的检索行/密文/chunk 行,再落一条新 doc
(新 doc_id,meta 以本次上传为准,created_at 刷新)
- 去重后该内容在库中恒仅 1 个 doc_id、chunk 总数不翻倍;同名不同内容
按内容哈希不误判(G3-2);不同内容互不覆盖(G3-1)
- content_sha 落 index.json(doc_meta 新字段);rebuild_index 对历史密文
缺 content_sha 时以密文内容补算(重建后去重依据不丢)
- 与现有删除机制一致:index.remove_item 过滤重建 faiss、chunks.remove_document
过滤重建 chunk faiss(IndexFlatIP 不支持逐行删,现有机制即重建)
测试:vstore/tests/test_vault_dedup.py(5 用例):同内容两次 → 1 个 doc_id/
chunk 不翻倍/旧密文清理;meta 以本次为准;不同内容 → 2 个 doc_id;
同名不同内容不误判;重启(新实例 load)后仍去重。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-09-11 14:12:57 +08:00 |
|
 adminandClaude Fable 5
|
dbe2037116
|
chore(deploy): 向量化本地模型(Ollama+bge-m3)纳入部署脚本
- deploy/ollama_restart.sh(新): Ollama 幂等拉起+嵌入模型校验,二进制多候选
探测(零硬编码),模型缺失只告警不阻断;start_all.sh 在四服务前先拉起
- vstore/vstore_restart.sh(新): 部署树与安装包共用版(路径从脚本位置推导,
零硬编码),替换部署树旧硬编码脚本(实测重启后 210 文档+210 chunks 完整)
- build_all.sh: 组装段纳入 vstore 明文源码+启动脚本+env 模板;start_all.sh
heredoc 增加 Ollama 拉起段——安装包自此包含向量化环节
实测: ollama_restart.sh 幂等(已运行跳过,bge-m3 就绪);vstore 新脚本重启
UP(210/210);bash -n 全过。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-09-08 00:46:31 +08:00 |
|
 adminandClaude Fable 5
|
6bf11821c1
|
test(priv): T1 骨架修正——L1-01 笔误 + 7 处执行期缺陷(vi.mock TDZ/恒真断言/vault 夹具路径隔离/mock 边界对齐 A1 真实实现)
自证: vstore pytest 27 passed; vitest 23 passed; 追溯矩阵 92=92 无孤儿。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-09-07 22:41:36 +08:00 |
|
 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>
|
2026-09-07 22:22:22 +08:00 |
|
 adminandClaude Fable 5
|
9e5367b268
|
test(priv): T1 用例基线 92 条——100% 覆盖 FR-PRIV 调整内容 + 双向追溯矩阵 + 测试骨架
TL 复查达标放行:92 defined = 92 used、unmatched 0、unreferenced 0;
假设 1/9 已按实施方案 §1.2/§3.2 裁决修订(表格原位聚合/outline 不参与
切块/跨轮归属行为级判据)。骨架:test_chunks.py 416 行 + vitest 4 文件。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-09-07 21:42:22 +08:00 |
|
 adminandClaude Fable 5
|
adb97f49a8
|
feat(bioflow): P6 流程知识库——flow_docs 集合(FlowStore 幂等入库+混合检索) + 三语料切块入库脚本 + 50 条评估集(94% 通过)
语料 106 文件/724 块(全流程 79 章 118 + 契约 60 份 429 + 技能 45 份 177);QA 树与 vstore 既有集合零改动
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-09-05 17:48:41 +08:00 |
|
 jerryandClaude Fable 5
|
4749f77544
|
fix(docgen): 两批手工测试修复——上传/预览/检索 + 护栏/导出/命名/编辑还原/二次预览
第一批:上传去限制+进度展示、模板HTML预览+按需导出、检索TAB实时更新
第二批:edit护栏移除、导出按钮纯化+file_name落库、编辑失焦还原、
二次预览白底根治(防竞态+渲染兜底)
模板体系:7套公文模板(templates/)+templating渲染器、websearch联网
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-09-05 15:49:54 +08:00 |
|
 jerryandClaude Fable 5
|
5db3ead73e
|
feat(docgen): doc_writer 能力全链——vstore 独立服务 + BFF docgen 路由 + 前端文档工作台
- vstore 独立安装包(8094):解析/嵌入/加密 vault/faiss 检索,存储路径支持本地 file 与 http(s):// URL,启动握手校验,集群化预留(embed 独立模块)
- BFF docgen 路由:上传入库/generate/编辑/导出/下载/主库管理,意图护栏(与前端同词典),vstore 失败兜底,quota 507 与 TTL 惰性清理
- 前端:自然触发意图路由、拖拽上传 chips、能力徽标、右侧文档 TAB(WYSIWYG 编辑/prompt 修改/PDF+DOCX 导出下载)、右栏拖宽+手柄仿左栏
- 批量导入工具 docgen_import.py(并发 8、导入即加密+删源明文)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-09-03 21:13:37 +08:00 |
|