Skip to content

Releases: a179-sanae/dsh-auto-collapse

v0.2.1:使用astra重写

Choose a tag to compare

@a179-sanae a179-sanae released this 07 Sep 12:10

使用astra重写

v0.1.8: 修复设置卡启动竞态与状态文案热更新

Choose a tag to compare

@a179-sanae a179-sanae released this 04 Sep 16:45

v0.1.8 更新日志

修复 DSH 0.1.2-rc.1 下客户端服务启动时序导致“状态提示词”设置卡缺席的问题。

修复

  • 设置服务可重连:核心折叠保持立即启动,settingsScope / slots 改由 ctx.inject() 等待并接入;服务晚到、detach 或重新提供时均能正确收敛。
  • 设置卡生命周期完整:服务 detach / HMR 时注销卡片、取消订阅并清理样式,重连后自动恢复。
  • 状态提示词热更新:从一个非空自定义值切换到另一个非空值时,当前运行状态行立即更新,不再等待宿主重渲染。
  • 版本元数据一致:package.json 与 package-lock.json 根版本统一为 0.1.8。

验证

  • npm run check 全绿,包括 40/40 乱序收敛以及新增的 20 项客户端设置生命周期断言。
  • npm publish --dry-run --access public 通过,产物包含 11 个文件。
  • DSH 0.1.2-rc.1 真机验证:设置卡唯一出现、现有值可读取,原生回合摘要协作正常,插件状态为 active,浏览器无错误。

兼容性

0.1.8 支持 DSH 0.1.2-rc.1+。DSH 0.1.1 用户请继续使用 0.1.6。

v0.1.7: 适配 DSH 0.1.2(修复 #21 启动失败)

Choose a tag to compare

@a179-sanae a179-sanae released this 04 Sep 14:39

v0.1.7 更新日志

适配 DSH 0.1.2-rc.1。修复 #21(0.1.2 下插件无法启动)。

DSH 0.1.2 适配

  • 原生回合摘要行协作:DSH 0.1.2+ 自带原生回合摘要行(工具调用 · 消息 · subagent 计数)时,一级行向它让位不再单独显示;插件 overlay(chip / 合并思考行)跟随原生行的开合状态隐藏与恢复;成员行交由宿主 CSS 管理,插件永不触碰。无按钮空壳原生行视为不存在,双方摘要都不丢。
  • settings 新 API 兼容:0.1.2 删除了 installSettingsSection / settingsNamespace 导出。宿主半改为可选消费者接线(ctx.inject(['settings']) + SettingsProvider#register 同构模式),不再 import @deepseek-ai/dsh-settings,避免随上游版本漂移导致加载失败。
  • 客户端注入改走 dsh-client-modules:服务全部改为可选(ctx.get()),任何服务缺失只降级设置卡片,不阻塞核心折叠。
  • 状态文案兼容:官方运行状态行更新为中文「深度求索中...」,替换逻辑同时匹配新旧文案(Deep diving... / 深度求索中...);宿主追加的用时后缀(如 33秒)原样保留。

修复:折叠行下方 16px 幻影间距

正文消息的 think 行被并入前一个块折叠后,其父包装层塌成 0 高度可见空壳;消息体是 flex + gap:16px 容器,空壳仍参与 gap,导致 chip / 已处理行与下方正文之间凭空多出 16px(视觉 34px,上方仅 ~19px)。修复:

  • 掏空包装层的发现与对账范围从 block.host 推广到每行所属的消息(flow 直接子级),覆盖「think 并入前块」的场景;
  • 一级收起分支补上对账,收起态不再被 restoreUnusedDisplays 逐轮复活。

修复后 chip / 已处理行与下方正文的间距与上方一致(~18px)。

部署(Linux/macOS 用户)

  • isExpectedDshWeb 路径比对不再经过 resolve(),跨平台路径样式(CI Linux / Windows fixture、env 覆盖)不再被改写为 cwd 相对路径导致身份核验误判。

兼容性

0.1.7 仅保证 DSH 0.1.2-rc.1+;DSH 0.1.1 用户请继续使用 0.1.6。

v0.1.6: flow 重挂载滚动修复 + npm 市场元信息

Choose a tag to compare

@a179-sanae a179-sanae released this 04 Sep 14:38

v0.1.6 更新日志

修复

  • flow 重挂载后滚动容器刷新(#19):React 把 flow 重新挂到新的滚动容器时,贴底钉回不再向旧容器写 scrollTop(按 flow 身份缓存失效)。

其他

  • 补充 repository / homepage / bugs 元信息,供 npm 市场与 dsh.so 插件市场链接。
  • 适配 DSH 0.1.1.x;0.1.2 用户请升级到 0.1.7。

v0.1.5: 修复长会话滚动抖动并支持跨平台本地部署

Choose a tag to compare

@a179-sanae a179-sanae released this 29 Aug 03:22
eb5d46e

v0.1.5 更新日志

滚动性能修复(issue #14)

长会话(90+ 流程节点、56 次 tool-call)滚动到底部时的卡顿与纵向抖动,根因是折叠插件的几何写入与上游 ChatView 的贴底跟随(FOLLOW_THRESHOLD=24)互相拉锯。本版系统性收敛:

  • audit 轻量对账(#16):审计循环不再做完整重建,改为对比显示快照(auditDisplays)做最小重收敛;isRelevantMutation 过滤插件自身写入引发的突变,避免自触发循环。
  • 快照复用(#17):结构未变时复用上一轮 findBlocks 结果;正文缓存(bodyTextCache)按 body 翻转精确失效,不再整表清空。
  • markDirty 精确定位(#17):childList 突变经 flowChildOwner 归属到具体消息,characterData/attributes 不再触发全量失效。
  • 贴底钉回(#17):折叠写入改变 scrollHeight 且视口处于贴底阈值内时,同帧把 scrollTop 钉回新底部;远离底部时不干预。
  • parseTurnDuration 记忆化(#17):按边界元素 WeakMap 缓存解析结果,消除流式期间的重复解析。

部署与构建

  • 跨平台本地部署(#18):npm run deploy 支持 Windows / Linux / macOS;Unix 端用 HOME + npm root -g 定位 DSH 包,端口监听核验改用 lsof + ps,进程终止走信号。Windows 行为不变。
  • lib 产物改为构建生成(#15):lib/index.js、lib/types/* 由 build.mjs 从 src 生成,消除手工维护漂移。

自动化测试

  • 新增 issue14-followup(快照复用、定向失效、贴底钉回、远离底部不干预)与 deploy-platform(双平台路径解析)回归。

v0.1.4: 优化二级展开动效并修复收起间距竞态

Choose a tag to compare

@a179-sanae a179-sanae released this 22 Aug 15:39

v0.1.4 更新日志

动效与视觉优化

  • 二级展开动效统一:移除了 CSS \margin-bottom\ 过渡,消除复用 chip 时的三级行下推现象,统一为空间 1 帧瞬开 + 向上纯净淡入(与上下文注入观感一致)。
  • 收起间距精准钉住:手势收起时通过 JS 账本在淡出期间锁定 16px 间距,在最后一条在途渐隐自然结算(settle)后同帧归零,彻底解决收起间距瞬跳缺陷。
  • 收起动画竞态防御:修复中间 pass 误清内联 margin 导致的瞬跳竞态;完善反向展开即时清空、合并思考块同步纳入钉住、以及 flow-chip 豁免等边界处理。

自动化测试

  • 新增场景 M-1 ~ M-4 完整覆盖正常钉住与中间 pass 保持、反向展开、思考块合并钉住及 flow-chip 豁免逻辑。