Skip to content

Releases

dsh-session-delete v0.2.0

Choose a tag to compare

@EarthPretender EarthPretender released this 03 Oct 05:27

dsh-session-delete v0.2.0

当次启动使用过的会话可直接删除;有任务在跑的会话提醒一次、再点一次即停止任务并强删。

新增 / Added

  • live 会话可删:删除前先停用内存实例——flush 落盘 → detach 会话条目 → 注销 agent(顺序固定:先会话后 agent,否则 DSH 会把刚删的行重新公告),写句柄随之关闭;日志删除带文件锁重试(15×100ms),不再出现"删除无效"或需要重启。
  • 强删忙碌会话:直接确认时宿主返回"正在执行任务"(409),行会变为"再次点击:停止任务并强行删除"(6 秒自动还原);再点一次先调官方 workspace/session-stop(最多等 4 秒,SESSION_DELETE_STOP_WAIT_MS 可调),任务拒绝停止也照样删。
  • 回退保护:若 DSH 内部结构变化导致无法停用会话,明确 409 提示重启,绝不半删。
  • 自检 12 → 16 项(停用顺序、强删路径、有界等待、回退拒绝、强删行客户端流程);tarball 现在包含 scripts/,安装后 npm test 可用。

安装 / Install

{ "dependencies": { "dsh-session-delete": "github:EarthPretender/dsh-session-delete" },
  "dsh": { "profile": { "bundles": ["dsh-session-delete"] } } }

pnpm install 后重启 DeepSeek Harness。MIT。

dsh-session-delete v0.1.1

Choose a tag to compare

@EarthPretender EarthPretender released this 03 Oct 04:20

dsh-session-delete v0.1.1

修复删除后侧栏行不消失的问题,并加固 live 会话保护。

修复 / Fixed

  • 删除后行立即从列表消失,无需重启:宿主补发官方的 api-session/removed 事件(dsh-api-remotes 转发到每个浏览器)——此前 DSH 只在 live 会话 dispose 时才发它,冷会话的行会留在浏览器启动快照里、掉进"未分组"直到重启。幂等的重复删除也会再广播一次,用来清掉残留旧行。
  • registry header 索引重建:删除后立刻从磁盘重建,sessionKnown 不再声称该会话存在。
  • 本启动中使用过的会话拒绝删除(409):它的写句柄仍开着,jsonl 后端会在下次写入时重建被删目录(删除会"复活");提示重启后再删。仅浏览历史不算"使用过"。
  • 客户端成功文案改为"已删除"(不再需要重启提示);自检扩充到 12 项(live 409、移除广播、header 重建、旧 registry 优雅跳过)。

安装 / Install

{ "dependencies": { "dsh-session-delete": "github:EarthPretender/dsh-session-delete" },
  "dsh": { "profile": { "bundles": ["dsh-session-delete"] } } }

pnpm install 后重启 DeepSeek Harness。MIT。

dsh-session-delete v0.1.0

Choose a tag to compare

@EarthPretender EarthPretender released this 03 Oct 03:23

dsh-session-delete v0.1.0 — 首次发布 / first release

在 DSH 会话「…」菜单的**“归档会话”下方新增一行红色“删除会话”**:真正删掉该会话的数据,而不是只把它归档。

功能 / What it does

  • 菜单行:垃圾桶图标 + 分隔线,位于官方“归档会话”下方(槽 sidebar.workspaces.session.menu.item)。
  • 二次确认:第一次点击变为“再次点击确认删除”(6 秒无操作自动还原),第二次才执行;菜单保持打开并在行内显示结果。
  • 失败可重试:会话正在跑任务(409)或宿主不可达时,行内显示原因、保持红色,再点一次即重试。
  • 真删除:删除 sessions/<工作区>/<会话id>/ 日志数据,并通过 workspace registry 的官方持久化写清理登记(unpin → unarchive → detachSession),workspace.json 由 registry 自己写,内存与磁盘始终一致。
  • 安全:删除接口挂在 DSH 共享的 /api 通道(connection.registerFetchRoute),继承官方 admit() 鉴权;与官方归档共用 workspace/session-activity 活动闸门,运行中的会话拒绝删除。幂等;不可逆。

安装 / Install

// ~/.dsh/profiles/desktop/package.json
{
  "dependencies": { "dsh-session-delete": "github:EarthPretender/dsh-session-delete" },
  "dsh": { "profile": { "bundles": ["dsh-session-delete"] } }
}

然后 pnpm install 并重启 DeepSeek Harness。安装后出现在 设置 → 插件,可随时开关。

下方附预构建 tarball(dsh-session-delete.tgz,免构建直接装)。

自检 / Self-test

零依赖自检覆盖身份一致性、两半契约、路由契约、拒绝分支、真实删除与幂等:

npm test

兼容 / Compatibility

DSH 0.2.0-rc 系列(Web / Desktop profile),宿主 Node ≥ 22。MIT。