popujiang/dsh-turn-scratch0

dsh-turn-scratch

DSH plugin: quarantine each turn's scratch artifacts into a workspace trash directory instead of deleting them

包名
dsh-turn-scratch
版本
0.2.1
许可证
MIT
最近更新
2026年9月12日

安装

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:popujiang/dsh-turn-scratch

dsh-turn-scratch

一款专门用于清理 dsh 每轮产生的多余临时文件的插件。

介绍

是不是还在因为dsh忙完工作后,工作区里到处都是它产生的临时文件而苦恼?

您是否经常感觉到自己不知道这些文件的作用?删除时又怕这些文件会影响你的电脑?

或者是自己还要在每次对话时做出删除临时文件这种重复性动作?

不用担心,dsh-turn-scratch 这款插件能帮你的忙。

安装

dsh plugin --profile desktop add "git+https://github.com/popujiang/dsh-turn-scratch.git#v0.2.1"

“小而美”

插件体积很小,让你放心。

当然,真的是小而美:

很多操作无感完成,默认无需配置,开箱直用!

为什么?因为它是全自动的。

不过想调的话,配置项都在——在 profile 的 cordis.patch.yml 里给 turn-scratch 行加 config: 即可。

但是你怕dsh误删?

早就想好了这一点!

特色

它并不是直接删文件

每轮结束,临时文件全都会先被挪进工作区里的一个回收文件夹(不是你电脑里的回收站),再逐个判断:

/.dsh-scratch-trash//turn-/

能确定的,代码直接决定去留。

拿不准的,才交给一次独立的模型调用判断。

真正的删除,只在你手动清空时发生。

在你还什么都没察觉的时候,分类已经发生,连工作区的界面也跟着清爽了起来。

所以最坏的情况其实是文件被隔离开来,而不是被误删

干活干到一半,工作区就已经乱了?

上面说的,都是回合结束时的收尾。

可一个长回合干到一半,中间产物其实早就散在工作区里了 —— 等它结束才动手,中间那段时间你还是得对着一堆不认识的文件发呆。

所以插件给 dsh 备了一块暂存区

/.dsh-scratch-trash/work/

中间产物直接写这儿,工作区从第一秒就是干净的

那这些文件就不管了?

当然不是。回合结束时,它们会被搬进本轮的回收文件夹 —— 照样有记录、照样能复核、照样随时能还原。然后暂存区清空,下一轮又是一个干净的工作台。

路径固定不变,不用每轮重新找。

这不是"只扫暂存区"

暂存区是多出来的一路来源,不是替换。

原来的全工作区扫描一条没动:标记过的、本轮新建的、临时命名的目录、孤儿库 —— 照扫不误。哪怕 dsh 一次都没往暂存区写,散在工作区里的东西照样会在回合结束时被收走。

暂存区只是让它从一开始就不用弄脏工作区

关掉会怎样?

workDir: ""

回到原来的样子:

  • 暂存区不再创建,scratch_workdir 会明确回你一句"未启用"
  • dsh 写哪儿由它自己决定(通常就是工作区)
  • 全工作区扫描照旧,回合结束该收的还是收

所以关掉的只是"提前变干净"这条路 —— 收尾那套一点没少

包含的工具及其作用

工具作用
scratch_status看现在扣着什么、已还原什么
scratch_restore手动把一个文件捞回工作区
scratch_purge清空隔离区(真删)
scratch_mark告诉 dsh 某个文件是一次性脚手架,可以收走
scratch_workdir拿到一个暂存区路径,中间产物写那儿,不弄脏工作区

安全

默认只隔离,不删除

拿不准的会被还回工作区,不会误删

模型只能还原、不能删除,最后文件的生杀大权在你手里

三套测试共 101 项断言全绿。最坏的情况是文件被隔离,随时可还原,请放心食用。

其他

插件如果有任何问题,希望大家能多多反馈。 未来想增加UI界面方便操作,不过现在你直接与dsh对话就可以删除。