From b0b73d063b35bdc8162abcf450a8c64ea1b551cc Mon Sep 17 00:00:00 2001 From: AskaEth Date: Mon, 5 Oct 2026 10:44:27 +0800 Subject: [PATCH] =?UTF-8?q?docs(05):=20=E8=A1=A5=E4=B8=80=E6=9D=A1?= =?UTF-8?q?=E7=A1=AC=E7=BA=AA=E5=BE=8B=E2=80=94=E2=80=94=E5=90=88=E5=B9=B6?= =?UTF-8?q?=20worktree=20=E5=90=8E=E5=BD=93=E5=9C=BA=E6=B8=85=E7=90=86?= =?UTF-8?q?=EF=BC=88=E6=9C=AC=E6=89=B9=208=20=E4=B8=AA=E5=85=A8=E6=AE=8B?= =?UTF-8?q?=E7=95=99=E3=80=81=E4=B8=BB=E4=BA=BA=E5=85=88=E5=8F=91=E7=8E=B0?= =?UTF-8?q?=E7=9A=84=EF=BC=89+=20=E5=81=87=E5=90=8E=E7=AB=AF=E8=BF=9B?= =?UTF-8?q?=E7=A8=8B=E5=90=8C=E6=A0=B7=E6=98=AF=E9=81=97=E7=95=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- devdocs/02-前后端协同事项.md | 24 +++++++++++++++++++++++- devdocs/05-开发进度与交接.md | 19 +++++++++++++++++++ 2 files changed, 42 insertions(+), 1 deletion(-) diff --git a/devdocs/02-前后端协同事项.md b/devdocs/02-前后端协同事项.md index 294b914..d68bc13 100644 --- a/devdocs/02-前后端协同事项.md +++ b/devdocs/02-前后端协同事项.md @@ -2041,7 +2041,7 @@ document extracted kind=text chars=10 > | 子项 | 状态 | 完成后在本节补什么 | > |---|---|---| > | ① 思考流 —— 「**端点支持**」这条结论 | ✅ **已完成**(本次答复) | — | -> | ① 思考流 —— 「**在哪开**」 | ⏳ **在办**(已派子代理追完整来源链:配置 → 请求 → 线格式,并给最小可照做的配置) | 查清后在本节补**具体配置位置 + 文件:行** | +> | ① 思考流 —— 「**在哪开**」 | ✅ **已完成**(2026-10-05 补,见本节末「补」) | 已答复,含**一个我们必须一起面对的真缺陷** | > | ② `
` 半包 —— **裁定(能修 / 走写入侧规整)** | ✅ **已完成**(本次答复) | — | > | ② `
` 规整 —— **实现** | ⏳ **未开始**(同包有在途切片,收工后即派) | 落地后在本节补「**已完成 + commit + 生效范围**」 | @@ -2102,3 +2102,25 @@ document extracted kind=text chars=10 - 「并行」的**入口**也已做好(设置页「她忙时发消息」第三档,忙时上行 `chat.parallel=true`,**绝不发 interrupt**)。 - ⇒ 我们**开始做真机验证**(服务端既已上线,就能验到「两路真的一起跑」)。 - 若你们在 v0.66 升版时**动了任何形状**(哪怕一个字段名),**请务必先在这里登记再改** —— 我们按本节开工,形状一改我们就会照着错的东西做出返工。 + + +--- + +### 回执十七 · 补(2026-10-05 · 「思考开关在哪开」已查清) + +> **状态**:①「在哪开」= ✅ **已完成**(本节)|② `
` 规整 = ⏳ **未开始**(同包刚让出,已立刻派单,落地后回原节补「已完成 + commit」)
+
+**在哪开 —— 唯一载体是「角色」,没有别的开关**
+- 文件:`configs/personas/cyrene.yaml` 顶层加 `thinking: {mode: on}`
+- 面板等价入口:**人格 → 编辑 → 「思考配置 thinking」→ mode 选 `on`**
+- **项目里没有组级 / env / 会话级思考开关**;组级 `models.json.reasoning` 只是**线形状选择器**,对 anthropic **无效**(`validateReasoning` 会直接拒)
+- 生效:面板保存 ⇒ 写盘 + **热替换内存 registry** ⇒ **下一 turn 生效**;手改文件需重启/重载
+
+**⚠️ 但你们看不到 `thinking` 键的真正原因,不是开关**
+强证据:`history.Message.Thinking`(`internal/runtime/history/types.go:30`)**全仓没有任何写入者** —— `loop.Result` 里没这个字段(`loop/loop.go:66-91`),`finalizeAnthropicStream`(`anthropic_stream.go:224-243`)**直接把思考文本丢了**。
+⇒ `GET /sessions/{id}/messages` 的 `thinking` **恒缺席** ⇒ **你们那条 REST 证据不能用来推断「思考没开」**。
+- **思考流的唯一出口** = 实时帧 `thinking.start/delta/end`(只投 `owner` + `admin`,且受角色 `showToUser` 门控制)
+
+**⚠️ 我们自己的契约文本漂移(我们的账,会修)**
+`Docs/api-client.md` v0.65 写着「**历史思维链只有** `GET /sessions/{id}/messages` 返回」—— **与实现不符**(没有任何写入者 ⇒ 永远为空)。
+⇒ 要么改文档、要么补写入侧(把思考文本落进 assistant 消息)。**这是我们的裁决项,定论后回这里补。**
diff --git a/devdocs/05-开发进度与交接.md b/devdocs/05-开发进度与交接.md
index ab2aea9..6cc1081 100644
--- a/devdocs/05-开发进度与交接.md
+++ b/devdocs/05-开发进度与交接.md
@@ -1014,3 +1014,22 @@ PDF · 563 B · 24 字 · 已读入
> - **模拟器今天很脆**:连 launcher 都 ANR 过,App 进程被系统重建。**新会话开工前先重启模拟器**。
> - **假后端进程还占着 18080 / 18081 / 18083**(`taskkill` 对它们不太好使,重启机器最干净)。
> - **我这次又犯了「先怀疑代码、而不是先怀疑自己的测量」**:截图上没看到横幅时,我先去查代码,其实当时只是**待发气泡为 0**(设计如此)。这条纪律写在上一节,**要一直记着**。
+
+> ### ⚠️ 纪律补记(2026-10-05 上午 · 主人问「为什么项目文件夹里那么多本项目的文件夹」)
+>
+> **那些是 git worktree** —— 给并行子代理各开一个独立工作区用(避免两个代理同时改同一棵树)。
+> **问题不是它们存在,而是我合并完忘了清**:这一批(W28–W33 + FB/FB2)**8 个全都残留下来了**,
+> 主人先在文件管理器里发现的。上一次(W4–W24)我做过一轮「家务清理」,之后就再没做。
+>
+> **⇒ 从今往后写成硬规则:**
+> 1. **每合并一个 worktree,就 `git worktree remove` / `rm -rf` 它**(别攒着)——**同一次操作里做完**,
+> 不要留到「以后一起清」。
+> 2. 清理用 **Git Bash 的 `rm -rf`**(Windows 直接用 git 自带的删会撞 `MAX_PATH`),然后 `git worktree prune`。
+> 3. **删之前先验**:`git merge-base --is-ancestor