Skip to content

Releases: leolee9086/dsh-session-title-refresh

v0.2.0 — 会话菜单内重新总结会话标题

Choose a tag to compare

@leolee9086 leolee9086 released this 12 Sep 08:06

本次发布

会话标题重新总结插件 0.2.0:只在侧边栏会话原有的「⋯」菜单中提供一个入口,文案为「重新总结会话标题」。

主要变更

  • 只保留会话菜单入口:移除旧版的顶部按钮、输入框下方按钮和设置页附加项,不再注入全局样式。
  • 修正“点击后标题没有变化”:旧逻辑调用 sessionTitle.refresh(),但默认标题 provider 即使手动刷新也只取第一条人类消息,因此经常“成功但结果几乎不变”。现改为按人类文字消息生成,优先保留最近内容,空间允许时保留首条。
  • 支持历史会话:旧逻辑只在 live session 表查找,未加载的会话必然失败;现通过公开的 agent lookup 加载目标会话并使用其服务作用域。
  • 并发保护:生成期间的手动改名或更新的总结请求不会被旧结果覆盖;插件卸载会中止未完成的生成。
  • 零运行时依赖:不再 import 任何 DSH 包,仓库内不出现 DSH 源码路径,标题生成与流组装通过运行时的服务契约完成。

安装

# 在 DSH Web profile 目录(默认 ~/.dsh/profiles/web)
pnpm add 'github:leolee9086/dsh-session-title-refresh#v0.2.0'

下载本页附带的 dsh-session-title-refresh-0.2.0.tgz 后也可以直接安装:

pnpm add ./dsh-session-title-refresh-0.2.0.tgz

随后在 profile 的 cordis.patch.yml 追加:

- insert:
    - id: session-title-refresh
      name: dsh-session-title-refresh

兼容性

需要 Node.js 22.19.0 或更高版本。仓库与压缩包都包含构建好的 lib/,安装不需要克隆或修改 DSH 源码。运行时零依赖,唯一的开发依赖是测试用 jsdom

包内已带 cordis.patch.yml,可作为 bundle 直接挂载。

验证

pnpm test — 18 项测试全部通过,覆盖菜单注入与会话定位、鉴权、请求体上限、字节预算与 Unicode 截断、失败保留原标题、并发改名保护、取消与卸载,以及标题请求的流组装与日志事件。

许可证

MIT