deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
PROJECT README
给 DeepSeek Harness(DSH)加一个删除会话的能力。DSH 官方有归档、没有删除——归档只是把会话从列表里挪走,文件还在。本插件补上删除,并且让删除可恢复:删除 = 移入回收站,另有一个显式的「彻底删除」。

dsh plugin --profile <profile> add @xrn1997/dsh-session-delete~/.dsh/session-trash/,不联网、不上传dsh plugin --profile <profile> add @xrn1997/dsh-session-delete
装完重启宿主(Node 半不走 HMR)。卸载:
dsh plugin --profile <profile> remove @xrn1997/dsh-session-delete
卸载只是移除插件;~/.dsh/session-trash/ 下已有的目录仍留在原处,不会被自动清理。
也可以离线分发:pnpm pack 出 tarball 后 dsh plugin add ./dsh-session-delete-<版本>.tgz。包里带的是预构建产物(prepack 在打包时替你跑 build),所以这条路上用户不需要为构建脚本授权。
兼容性分两层,别混:
package.json 的 peerDependencies 决定——宿主 dsh plugin add 会拿运行中的宿主版本逐项比对插件的 @deepseek-ai/dsh* peer 区间,不满足即拒绝并回滚。本插件*一条 `dsh-peer 都没有**(界面用的控件与图标已固化成src/client/ui/*`,浏览器半只 require React 家族这三个冻结平台模块),所以这道闸不限制它装在哪些代上。dsh.compatibility.dshReleases 记录,只列实测过的宿主:DSH Desktop 0.2.0-rc.2(compatible)。别的 rc 装得上,但没验过。两个入口。
删除:会话条目右边的「…」菜单 → 「删除」→ 确认框(「移入回收站」)→ 会话进回收站。正在运行的会话这一行是置灰的,悬停给出「会话正在运行,先停止再删除」——本插件不替用户终止正在进行的活。
回收站:侧栏面板列表里常驻的「回收站」一行(与「插件」「小说」同层)。打开后是中央面板:
| 东西 | 位置 |
|---|---|
| 回收站本体 | ~/.dsh/session-trash/<时间戳>-<原目录名>/ |
| 回收站清单 | 本插件自己的 storage domain(介质在 ~/.dsh/storages/) |
~/.dsh/sessions/ 同卷:搬进搬出靠整目录 rename,原子、瞬时id 与 cwd中文 / English 挂在宿主自己的 locale 服务上,跟随设置的界面语言;服务不可用时退回内置中文。
装完侧栏没有「回收站」,会话菜单里也没有「删除」?
先重启宿主。若仍没有,确认这一代宿主上本插件激活过——取数通道探测不过时,本插件一个入口都不注册:页面上看不出它的存在,但它也不会因此把宿主拖死。这是有意用「入口不出现」表达不可用,不是禁用态。
删完之后侧栏那一行怎么还在?
本插件只在宿主确实不再列它时才通告客户端把那一行去掉;拿不准时宁可沉默(那时说「已移除」是假话)。刚巧遇上就刷新页面,那一行会自己消失。本机运行期没打开过的冷会话走的是正常路径,删完即走。
正在运行的会话为什么删不掉?
判据用的是宿主自己的活跃检查(与官方归档的准入同源)。首版一律拒绝,不替用户终止正在进行的活——先停下这个会话再删。
能恢复多久?
不存在时间上限。不自动过期,只有你显式清空或彻底删除才会真的丢字节。
pnpm install
pnpm build # tsdown:Node 半 + 浏览器半(含浏览器半的纯度门)
pnpm test # vitest run
pnpm typecheck # tsc --noEmit
lib/ 是构建产物且不入库,从源码目录链进 profile 的安装方式不会替你构建它。
pnpm build # 必须在源码目录手动跑一次
dsh plugin --profile <profile> add "link:<本仓绝对路径>"
改动生效分两半:浏览器半(src/client/)由宿主 HMR 推到浏览器,无需重启;Node 半不在热重载链路内,必须重启宿主。
设计(五个触点、边界、错误形状、验证门、界面规格)住在 docs/design/2026-09-30-session-delete-design.md,README 不复述。
欢迎 Issue 与 PR。提交改动前请确保 pnpm test 与 pnpm typecheck 都通过,且两条命令的退出码都亲眼看过——跑门要把输出先灌进文件、再单独打印退出码,管道会把红吃掉。提交即表示你同意以 Apache-2.0 协议授权你的贡献。
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。