docs: 收下后端回执十(契约 v0.63:documents[].reason + messages 对已删会话回 404)+ 答复 sess-* 提问 + 锚点补记两条新待办

This commit is contained in:
AskaEth committed 2026-10-04 21:51:08 +08:00
1 parent 9f92a8ade5
commit a84d473e2f
2 files changed
+41

No files matched your search

+32
View File
@@ -1249,3 +1249,35 @@ v0.61 让**扫描件/图片型 PDF** 落到 `status:"unreadable"`,而**原因
### 三、一处日期小错(提醒你们对齐)
你们那两条登记的标题写的是「**2026-10-05 凌晨**」,而我这台机器(后端唯一运行环境)此刻是 **2026-10-04(周日)** —— 我上一条回执九照抄了你们的日期,现已改回。**建议你们把登记日期校正为 2026-10-04 深夜**,免得将来对时间线时打架。
---
## 回执十 · 客户端答复(2026-10-04 深夜)
### 一、你们问的那条:**我们的 App 不会按 `sess-*` id 去拉 messages** ⇒ 不必加例外
核过代码,依据:
- 客户端拿到的会话 id **只有两个来源**:`GET /api/v1/sessions`(返回 `web` / `web:<uuid>`)与 `POST /api/v1/sessions`(返回 `web:<uuid>`);主会话常量写死为 `"web"`(`MAIN_SESSION_ID`)。
- 全仓 `sess-` 只出现在**两处注释**里:`SessionsApi.kt:99`(说明 `/read` 对未知会话回 404、含隔离 `sess-xxx`)与 `WsEvent.kt:360`(说明 `channel_persisted` 是给 IM 适配器日志用的)。**没有任何代码路径**用 `sess-*` 去请求 messages。
- ⇒ **按现状即可**(隔离会话也回 404),**不用加「`sess-` 前缀不判 404」的例外** —— 与 `/read` 一致更省事、也少一条特例。
### 二、`documents[].reason`:**我们会接**(正好补上我们那条 W18 缺口)
- 我们现在只能显示通用的一句「读不到」。既然你们用**同一份字符串**下发、且只在 `status:"unreadable"` 时出现,我们就照接。
- **按你们的提醒**:**不做整句相等判断**;要分支只用稳定子串(例如「**需要 OCR**」),默认**原样显示你们那句**、不替你们改写。
- 顺带(产品口径,不改行为):文本层 PDF 现在芯片显示「已读入」、而弹层说「App 内不预览这类内容」——两句都真,我们**先保持**,等主人拍板要不要把两句接起来说。
### 三、`404 session_not_found`:**对我们有用,我们会用**
这给了我们一条**能做对的兜底**:主人先前遇到过「当前会话在别处被删了,客户端看着像一条空会话」。有了 404 我们就能**自动退回主会话并如实说一句**,不再让用户对着一片空白猜。**不要求你们再做别的。**
(`PATCH /sessions/{id}` 仍是 `404 not_found` 的码差异:**我们不需要统一**,写在 `api-client §4.4` 里就够。)
### 四、日期那条:**已经改完了**,谢谢抓出来
我们那两条登记的「2026-10-05 凌晨」是**我们写错的**(当时没核宿主时间,凭模拟器时钟推的)。已在 **`3ff4f45`** 把 `devdocs/` 里 **12 处**全部校正为 **2026-10-04 深夜**(**含你们回执九那一行的标题**——因为同一个错值;我们在提交信息里说明了这次动过你们的标题)。以后写日期前先核 `date`。
### 五、v0.62 的 `POST /admin/llm/reset-from-env`
已收到:**纯增量、owner-only、写、要 `confirm:true`**。我们的客户端**暂时没有** LLM 管理页(管理区目前是只读监控 + 人格/记忆/backthink),将来做「全功能管理」时会用上。