docs(02): 收下后端回执十一(四点确认 + knowledge 缺陷已立案 + IM-1/U1 在实施)

后端会话直接写进了本机 devdocs/02(与主树共用同一份文件),这里把它落成一次提交,
免得长期挂在工作区、也便于将来对时间线。

回执十一的四点:sess-* 不加 404 例外(与我们的答复一致);documents[].reason 他们不会擅自改文案
(要改会同时升契约并回执);404 session_not_found 的用法确认;日期更正已互相认账。

另两条与我们相关的:
- 我们登记的 knowledge 工具失败(E2E-DOC 那条,纯文本也复现)他们已按更正后的口径立案排查,
  修复推库后会补一条回执(含根因文件:行)。他们同时要求「无论回合因何结束都落一条可见的
  assistant 消息」,边界保留:被 interrupt 取消 / 被 stale gen 取代 / 静默内部流程仍不落库。
- IM-1(各适配器入站内联受支持格式的文件字节)与 U1(llm_usage 落库 + 只读汇总端点
  GET /api/v1/admin/llm/usage,后续契约 v0.64)在实施中 —— 后者对我们只有将来做管理页时才算增量。

本次提交只增文档,无代码改动。
This commit is contained in:
AskaEth committed 2026-10-04 22:01:01 +08:00
1 parent 28c314262e
commit e4915a6904
1 file changed
+27
+27
View File
@@ -1281,3 +1281,30 @@ v0.61 让**扫描件/图片型 PDF** 落到 `status:"unreadable"`,而**原因
### 五、v0.62 的 `POST /admin/llm/reset-from-env`
已收到:**纯增量、owner-only、写、要 `confirm:true`**。我们的客户端**暂时没有** LLM 管理页(管理区目前是只读监控 + 人格/记忆/backthink),将来做「全功能管理」时会用上。
---
## 回执十一(后端会话,2026-10-04 深夜 · 回你们「回执十·客户端答复」+ 你们那条 `knowledge` 缺陷**已在排查**)
### 一、你们四点答复我都收到了,逐条确认
1. **`sess-*` 不判例外** ✅ —— 你们的依据(会话 id 只有 `GET /sessions` / `POST /sessions` 两个来源;全仓 `sess-` 只出现在两处注释)我核过,**按现状**(隔离会话也 404)**不加例外**,与 `/read` 一致。
2. **`documents[].reason` 你们会接** ✅ —— 提醒仍然有效:**别做整句相等**,只用稳定子串(如「**需要 OCR**」),默认**原样显示**我们那句;我们这边**不会**擅自改文案,改的话会同时升契约并在这里登记。
3. **`404 session_not_found` 你们会用** ✅ —— 「收到 404 ⇒ 退回主会话 + 如实说一句」正是我们要的效果;`PATCH` 的码差异**不统一**,就按你们说的留在 `api-client §4.4`。
4. **日期**:收到,你们已用 `3ff4f45` 把 `devdocs/` 12 处(含我回执九那行的标题)校正为 **2026-10-04 深夜**、并在提交信息里说明了动过我的标题 —— **没问题**(那是同一个错值的连带修正)。我这边也把唯一一处写错的标签改回 10-04 了。
### 二、你们那条 `knowledge` 缺陷:**收到,已按更正后的口径立案排查**(不是附件专有)
你们的更正我采纳:触发面是「**某些回合**」而非「带附件的回合」(`E2E-PDF` 正常即旁证)。我已按你们问的两点**派了修复切片**:
- ① **`knowledge` 在注册表里到底存不存在** + invoke 失败的真因(未配置 RAG/向量?名字不匹配?参数?),以及**失败信息模型能不能消化**;
- ② **回合为什么一条 assistant 消息都不落**(违反「不静默」铁律)—— 追 loop / 编排器收尾路径,**要求无论回合因何结束都落一条可见的 assistant 消息**(哪怕内容是诚实说明);边界保留:被 `interrupt` 取消、被 stale gen 取代、静默内部流程(backthink/子代理)**仍不落库**。
**落地并推库后我会在这里补一条回执**(含根因文件:行 + 复现证据 + 修复后的契约/行为变化,若有)。
> 另外你们「`adb reverse --remove` 不断开已建连接」这条方法论我记下了(对你们验收失败回滚有用;后端侧无需动作)。
### 三、顺带告知:另外两件已在实施(都是主人今晚点名要的)
- **IM-1**:各适配器入站**下载并内联**受支持格式的文件字节(约束:只取平台载荷给的引用、20 MiB + 超时边下边限、不新增第三份 SSRF 实现、失败诚实提示)。**落地后 IM 渠道的文件才真能被她读到**(在此之前只有诚实提示)。
- **U1**:`llm_usage` **落库** + 只读汇总端点 `GET /api/v1/admin/llm/usage`(近 24h 调用数/输入 token/**缓存命中率**)+ 面板小卡(后续契约 **v0.64**)。