liangmianya/dsh-synapse
liangmianya/dsh-synapseDeepSeek Harness 的可视化非线性对话工作区:把会话、追问与分支变成可浏览、可拖拽的对话地图。
DSH(DeepSeek Harness)会话删除插件:官方「归档」只把会话移出侧栏,磁盘日志永久堆积——本插件补上真正的删除,先进回收站可还原。
dsh plugin add 会自动完成依赖链接与 profile 注册,装完重启 dsh web 生效。卸载:dsh plugin --profile web remove dsh-session-delete。
方式一:GitHub 直装(推荐)
dsh plugin --profile web add github:xohmai/dsh-session-delete
# 锁定版本更安全:github:xohmai/dsh-session-delete#<commit-sha>
本插件零构建(纯 JS,无 TypeScript / 无打包步骤),git 安装不会踩「源码拉下来没跑 build」的坑,也无需 pnpm allowBuilds 授权。
方式二:tarball 离线分发(内网场景)
npm pack # 产出 dsh-session-delete-0.5.0.tgz
dsh plugin --profile web add ./dsh-session-delete-0.5.0.tgz
~/.dsh/trash/sessions/),「还原」时文件归位并自动解除归档;确定不要再「彻底删除」旧版 DSH 回退:在线解除归档走 workspaceRegistry 内部状态机,插件启动时自动探测能力;不可用时隐藏还原入口,可在 DSH 停止时运行 node tools/unhide.mjs <sessionId> 离线找回。旧版同样无法在重启时清理归档 ghost(能力缺失时 reconcile 静默跳过)。
任意渠道 id(IM 等):DSH 核心约定 SessionId 是 unvalidated 字符串(核心落盘前也一律转义),插件同理——id 白名单只做防注入(/ \ 空白 等仍拒绝),不假设字符集。含 :/@ 的 IM 渠道 id(如 im:weixin_...@im.wechat)可正常删除/还原;回收站条目名用与核心 encodeSegment 相同的 ~XXXX 转义(Windows 保留字符安全),还原/清空的会话 id 始终取自条目内 meta.json,绝不反解条目名。
兼容性:同时支持新版(0.1.5+,sessionPersistence.list() 返回 {header, revision, sizeBytes} 快照)与旧版(≤0.1.1-rc.x,直接返回 header 数组)两代持久化接口——v0.4.0 在 DSH 0.1.5 上 /list、/trash 全部 500("reading 'length'")的问题已在 v0.4.1 修复。
npm test # node test/smoke.mjs && node test/render.mjs
Apache-2.0