dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
给 DeepSeek Harness(DSH)桌面端补上真正的删除对话:确认后立即从侧栏移除,同时把会话日志放进本地回收站保留 7 天;期间可以一键撤销或恢复,逾期自动永久删除。
这是一个社区插件,不是 DeepSeek 官方项目。DSH 原生的“归档”保持不变;归档只是隐藏,删除才会移走日志。
... 菜单新增红色“删除对话”,确认框显示标题和保留天数。$DSH_HOME/session-trash/,复制成功后才删除原文件。running 时立即拒绝删除,不归档、不取消、不等待;空闲但仍驻留内存的会话可以正常删除。Toast 原语,位置和样式与“会话已归档,可撤销”一致。dsh plugin --profile web add dsh-plugin-delete-session
安装后完全退出并重新打开 DSH(Host 半是 ESM 模块,刷新页面不会重新加载它),再按 Ctrl+Shift+R 刷新页面。
dsh plugin --profile web add github:yycf1/dsh-plugin-delete-session
这是纯 JavaScript 包,不需要构建授权。安装后同样需要完整重启 DSH。
本仓库同时发布了一个符合 DSH 插件市场格式的索引:
https://yycf1.github.io/dsh-plugin-delete-session/index.json
打开 设置 → 插件 → 实验性插件 → 自定义插件市场,添加上面的索引地址,即可在“发现”中查看并安装。已提交 DSH Plugin Hub(dsh-plugin.org),收录后可在其站点搜索。
... 菜单;删除的是会话日志和它的投影缓存;全局附件库按内容寻址共享,不会被删除。
默认配置在 cordis.patch.yml:
- insert:
- id: dsh-plugin-delete-session
name: 'dsh-plugin-delete-session'
config:
retentionDays: 7
| 字段 | 默认值 | 说明 |
|---|---|---|
retentionDays | 7 | 回收站保留天数(1–3650)。 |
trashRoot | $DSH_HOME/session-trash | 回收站目录。 |
sessionsRoot | session-persistence 的 root,否则 $DSH_HOME/sessions | 会话日志根目录。 |
projectionCacheDir | $DSH_HOME/storages/session_projcache/sessions | 投影缓存目录。 |
homeDir | $DSH_HOME,否则 ~/.dsh | 未显式给出路径时使用的数据目录。 |
purgeIntervalMs | 3600000 | 自动清理间隔(最小 60 秒)。 |
在 profile 的 cordis.patch.yml 中覆盖 config 可以修改保留天数;patch 会替换整行配置,因此请同时写出需要保留的其他字段。
删除顺序:
running;是则立即拒绝;workspaceRegistry.archiveSession(id, { stopActivity: true }),停止后台任务并让归档集合隐藏该行;sessionPersistence.flush(),确保最新消息已落盘;meta.json 复制到回收站;session/disposed,让侧栏和 API 立即移除该行,并释放日志 writer。恢复顺序:复制回原位置 → 覆盖派生的投影缓存 → 取消归档 → 重新挂到原 workspace。目标位置已有数据时拒绝覆盖,并回滚本次复制。
过期清理每小时运行一次,启动时也会运行;没有日志、没有回收站副本的陈旧归档标记会被清理。
ctx.sessions.retireScope、sessions.detachEntered、agents.detachEntered、@deepseek-ai/dsh-client-ui-primitives 的 Toast。DSH 升级后可能需要适配;本版本在 0.2.1-rc.2 上测试。$DSH_HOME 的 DSH 实例。仓库是普通 ESM 包,无构建步骤:
node --check index.js
node --check client.js
node test/host.test.mjs
node test/trash.test.mjs
测试覆盖删除、恢复、彻底删除、运行中拒绝、归档/detach/flush 失败回滚、未分组 live 清理、路径校验、元数据校验和过期清理。
>=0.2.1-rc.2 <0.3.0MIT © 2026 yycf1
本项目为社区插件,与 DeepSeek AI 无隶属关系。删除操作会移动本地会话文件;请先在小范围会话上验证,并保留回收站直到确认不再需要。