dsh-deepseek-web-login 0.6.8 → 0.6.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,51 @@
2
2
 
3
3
  本项目遵循大致语义化版本;日期为本地时间。
4
4
 
5
+ ## 0.6.10 — 2026-09-30
6
+
7
+ **修「换个窗口聊天就把上下文清一次」:重开链时不再往复用来的会话里塞根消息。**
8
+
9
+ 现场(用户截图 + 网页端界面):DeepSeek 网页端里,同一个用户消息气泡(内容就是我们那份
10
+ `# Tool Calling Protocol` 提示词)下面出现 **`5 / 5` 的版本翻页 + 「修改 / 重新生成」入口** ——
11
+ 也就是插件在那条消息下反复造了兄弟分支;用户那边的观感是"换个窗口它就把上下文清了一遍,
12
+ 还老是去调网页端的『修改』"。
13
+
14
+ 根因(代码 + 实机状态双证):
15
+
16
+ 1. 网页端会话槽与投喂链都是**账号级单槽**(`reuseSlot` / `contextChain`),不区分 DSH 会话 ——
17
+ 这是既有设计,不是本次引入的。所以"换窗口"时,新窗口的请求会**落进上一个窗口的网页端会话**。
18
+ 2. 落进去之后,链判据必然不满足(历史不是严格追加 / head 变了 / 会话轮换 / 同一步重试),
19
+ 于是走 `decideFeed` 的 `restart` 分支:**发全量 prompt + `parent_message_id: null`**。
20
+ `null` 是「根消息」语义,而那个会话**已经有内容** ⇒ 网页端把这条根渲染成同一位置的
21
+ 又一个兄弟版本(`n / n`),分叉的对象恰好是我们那份巨大的提示词。实机当时是
22
+ `entries=46`(该会话里已经挂着一段 46 条的链)而 `parentId=6` 的错位状态。
23
+
24
+ 改法:**要发根消息 + 当前会话是复用来的 ⇒ 换一个干净会话**(旧会话交回给它自己的清理)。
25
+ 判据抽成纯函数 `needsFreshSession(feed, reused, mode)`,有用例守,并守住"宿主真的调用了它"。
26
+
27
+ ⚠️ 刻意**只在链式模式下生效**:全量模式里"每轮都是根消息"本来就是常态,若也一律换会话,
28
+ 就变成**每轮多建 + 多删一个会话**(+2 个请求/轮)—— 请求密度本身就是风控关注点,
29
+ 不能为只有链式模式才有的问题付这个代价(这一条也被用例钉住了)。
30
+
31
+ ⚠️ 已知边界(本版**没**解决,需要先确认能力):真正做到"每个 DSH 会话各用一个网页端会话"
32
+ 需要 DSH 把会话身份交给适配器;目前查到的请求头里只有 `config / adapterDefaults / tools`,
33
+ 没有会话 id。本版的效果是"不再污染别人的会话、不再造兄弟分支",代价是切换窗口时该窗口会
34
+ 新开一个网页端会话(旧的会被回收)。
35
+
36
+ ## 0.6.9 — 2026-09-30
37
+
38
+ **补丁版:修好诊断工具(`tools/inspect-session.mjs`)在官方桌面端上的静默失效。**
39
+
40
+ 不涉及运行时行为变化,装上它不会改变任何请求行为。
41
+
42
+ - 🔴 `tools/inspect-session.mjs` 原来只认 `session.jsonl.zstd`,而官方桌面端 0.2.x 已经
43
+ 把会话日志改成 **`session.v4.jsonl.zstd`** ⇒ 会话列表与 `--search` **全都无输出**,
44
+ 看起来像"日志被清了"。现在按 `/^session\.v\d+\.jsonl(\.zstd)?$/` 认,新旧版本都覆盖。
45
+ (README 里推荐用这个工具排查"回复被截断 / 工具调用泄漏"这类问题,所以它坏掉会直接卡住排查。)
46
+ - 更正 `src/client/index.ts` 里一段**过期注释**:原文写"刻意只提供手动切换、不做自动轮换",
47
+ 但「自动换号」滑块(默认关闭)早就存在,0.6.8 又加了"凭证失效即换"。注释与实现不一致
48
+ 会把排查引到错方向(README 里同款那句话今天刚修过)。
49
+
5
50
  ## 0.6.8 — 2026-09-30
6
51
 
7
52
  **修「凭证被服务端作废之后不自动换号、只能手动切」+ 把 AUTH 做成条件式可重试。**