From 108feefac42b35a890a5f5075c70e881e4ffd0d6 Mon Sep 17 00:00:00 2001 From: AskaEth Date: Mon, 5 Oct 2026 11:15:53 +0800 Subject: [PATCH] =?UTF-8?q?docs(05):=20=E9=94=9A=E7=82=B9=E8=A1=A5?= =?UTF-8?q?=E8=AE=B0=E5=85=AD=E2=80=94=E2=80=94=E6=96=87=E6=A1=A3=E5=B7=B2?= =?UTF-8?q?=E6=8B=86=E5=88=86=EF=BC=88=E5=90=AB=E6=96=B0=E7=9A=84=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E5=9C=B0=E5=9B=BE=E4=B8=8E=E5=86=99=E5=9B=9E=E8=A7=84?= =?UTF-8?q?=E5=88=99=EF=BC=89+=20

=20=E8=A7=84=E6=95=B4=E4=B8=8A?= =?UTF-8?q?=E7=BA=BF=EF=BC=885de708a=EF=BC=8C=E6=88=91=E6=96=B9=E9=9B=B6?= =?UTF-8?q?=E6=94=B9=E5=8A=A8=EF=BC=89+=20=E4=B8=89=E4=BB=B6=E5=BE=85?= =?UTF-8?q?=E5=8A=9E=20+=20=E4=B8=80=E6=9D=A1=E5=BE=85=E4=B8=BB=E4=BA=BA?= =?UTF-8?q?=E6=8B=8D=E6=9D=BF=EF=BC=88=E5=8E=86=E5=8F=B2=E5=9B=9E=E5=A1=AB?= =?UTF-8?q?=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- devdocs/05-开发进度与交接.md | 56 ++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/devdocs/05-开发进度与交接.md b/devdocs/05-开发进度与交接.md index 0f4a9d2..75deaac 100644 --- a/devdocs/05-开发进度与交接.md +++ b/devdocs/05-开发进度与交接.md @@ -622,3 +622,59 @@ curl -s -X PATCH "$BASE/api/v1/sessions/$SID" -H "Authorization: Bearer $TOK" \ > > **另一条同源的提醒**:我给子代理开的「假后端」进程(python,占 18080/18081/18083)**也是我留下的** —— > `taskkill` 对它们不太好使,**重启机器最干净**。以后用完就该关。 + +> ## ★★ 锚点补记六(2026-10-05 上午 · **文档已拆分** + `

` 规整上线 + 三件待办) +> +> ### ⚠️ 先看这条:`devdocs/` 的结构变了(新会话别找错文件) +> +> | 想找什么 | 读哪一份 | +> |---|---| +> | **当前状态 / 待办 / 锚点 / 纪律** | `05-开发进度与交接.md`(本文,624 行) | +> | **历史批次的详细记录**(W4–W7 等) | **`05-archive-历史批次.md`**(418 行,只读追溯) | +> | **当前开放的登记 + 状态一览 + 置顶 P0 + 最近往来** | `02-前后端协同事项.md`(472 行) | +> | **历史回执(一~十七)与已闭环的登记** | **`02-archive-历史回执.md`**(1681 行,只读追溯) | +> +> **规则**:新回执写在 `02` 的**末尾**;闭环的登记由我方**定期**挪进归档。`02` 是**与后端会话共用**的文件 —— +> 他们也会往里写,**改动前先看 `git status`**(这次就撞上过一次:他们未提交的追加把我的 merge 挡了, +> 处理方式见下)。 +> +> ### 状态 +> - **`android` = `origin/android` = `681ae96`**,工作区干净,**1033 测试 / 0 失败 / 0 错误**。 +> - 本批**只动文档**,没有代码改动。 +> +> ### 本批发生的事 +> 1. **拆分过长文档**(W34,两轮):`02` 2143 → **472 行**主 + 1681 归档;`05` 1035 → **624 行**主 + 418 归档。 +> **零丢失有两层证明**:代表性字符串 `grep -c` 前后相等 + **逐行多重集 `diff`**(差异只有新增说明行)。 +> 第二轮按主人要求把 `A~E/G/H` 那批**已闭环的登记**(约 430 行)也归档,并修了状态表那处会断的指针。 +> 2. **撞上一次协作竞态**(值得记):后端会话**在我拆的期间往 `02` 追加了内容**(未提交)⇒ merge `Aborting`。 +> **处理**:先把他们的补丁 `git diff > /tmp`,`git checkout --` 清工作区,合并拆分,**再把他们的内容原样追加回新主文件末尾**。 +> ⇒ 两边都没丢。**教训:动 `02` 之前先 `git status`。** +> 3. **`

` 规整已落地并上线**(后端 `5de708a`):照我们的裁定走 —— **写入侧**收口、**幂等守门断言**、 +> 覆盖 **Web 与 IM 两条落库路径**(渲染口径不分叉)。**我方零改动。** +> +> ### ⚠️ 待主人拍板(一件) +> **历史消息要不要一并回填重写?** 后端的原话:本次是**写入侧**收口 ⇒ **已落库的旧「半包」消息不会自动重写**(按既有解析规则仍会塌)。 +> 要重写就是**一次性数据回填**(涉及 `data/**`,**需主人点头**)。**不做的话**:新消息从此正常、老消息照旧塌。 +> +> ### 待办(按优先级) +> 1. **真机验证「并行」两路**:后端已确认 `turn_begin` / `steer_ack.turnId` / `interrupt.turnId` / `chat_messages.turn_id` +> **都已进 HEAD 并已上线**(契约 v0.66 待升)⇒ 「等登记」这个阻塞**已解除**。我方形状早备好且**全部可降级** +> (W30),入口也在(W31:设置页「她忙时发消息」第三档)。**装机步骤**:先重启模拟器(见下)→ 装 APK → +> 设置切「并行」→ 在**她正忙**时发一条 → 看是否真开第二路 + 灰态 + 两级分桶。 +> 2. **用假后端验「忙时被拒」横幅**(上次没验成的那笔):`devtools/fake-backend/README.md` **第 6 节**有**逐条跑过**的命令序列 +> (`--hold-replies` → 发 chat 挂住 → `persist` 补落库 → 注入 `pending_full`)。**关键**:必须让待发气泡 **≥1 条** +> (0 条会落 `Ignore`,**刻意什么都不显示**,那是设计不是 bug——我上次就栽在这)。 +> 3. **等后端补「思考开关在哪开」**:已确认**端点支持**(`anthropic_reasoning.go:76` 的 `anthropicDeepSeekReasoning`, +> 走 `output_config.effort`,`thinking.budget_tokens` 会被忽略并 WARN),且**开关是请求级的、来自角色/组的思考设置** +> ⇒ **不是**改 `models.json`。**⚠️ 绝对不要再试 `reasoning.kind`**:`validateReasoning`(`models.go:180-191`) +> 在 anthropic 组上会**拒绝**它,加了会让**后端下次启动校验失败**。 +> 4. 旧的:子会话流程(主人说搁置)、图片/工具卡实机验证(后端未配工具)。 +> +> ### 环境与纪律 +> - **模拟器今天极不稳**(连 launcher 都 ANR 过、App 进程被系统重建)⇒ **开工前先重启模拟器**。 +> - **假后端进程还占着 18080 / 18081 / 18083**(`taskkill` 不太好使,**重启机器最干净**)。 +> - **worktree 纪律(上一轮主人要求写死的)**:每合并一个**当场 `rm -rf` + `git worktree prune`**, +> 删前先 `merge-base --is-ancestor` 验已并入,只删目录保留分支,收尾自检 `git worktree list` 只剩主树。 +> **本批已按此执行**(W34 合并后立刻清掉)。 +> - **我又犯了一次「先怀疑代码、而不是先怀疑自己的测量」**(截图看不到横幅时)。这条已经写过两次了, +> 是第三次 —— **下次第一反应必须是"我的验证条件对不对"**。