dsh-workspace-tmp

DSH PLUGIN工具与能力

仓库 xxiiiixx/dsh-workspace-tmp

工具与能力 L5 · 运行验证通过 安全审查:低风险 可信度:金 可安装插件
安装这个插件

dsh-workspace-tmp 是 xxiiiixx 维护的 工具与能力 类 DSH 可安装插件, 仓库为 xxiiiixx/dsh-workspace-tmp,许可证 MIT。 下面按「装什么、怎么装、验没验过、跑起来要注意什么」逐项列出。

一句话选型结论

按资料字段整理

dsh-workspace-tmp 是工具与能力类的 DSH 可安装插件,验证等级 L5 · 运行验证通过,安全审查为低风险,有可直接复制的安装命令。验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么;涉及密钥或系统权限的,建议先在隔离环境试装。

分类工具与能力 收录类型可安装插件 验证等级L5 · 运行验证通过 安全审查低风险
验证等级 L5 L5 · 运行验证通过
GitHub 星标 0 复刻 0 · 未关闭 issue 0
最近更新 2026-10-19 创建于 2026-10-19
README 8.5 KB 正文体量,越大说明说明书写得越细

安装

可安装插件
在 DSH 里执行,装完用 dsh plugin list 确认已挂上;标了 L4 / L5 的命令已在沙盒里真实跑通
dsh plugin --profile web add github:xxiiiixx/dsh-workspace-tmp
  1. 1
    确认版本与运行环境

    仓库没有标注兼容版本与 Node.js 要求,先确认你的 DSH 版本能装,再继续。

  2. 2
    执行安装命令

    在 DSH 里执行上面的命令;多包仓库要注意区分具体子包名,别装错包。

  3. 3
    确认已挂载

    用 dsh plugin list 查看列表里是否出现这个插件,出现即挂载成功。

  4. 4
    试跑并检查权限

    加载后跑一个最小用例,确认它能正常工作;同时看它申请了哪些文件、命令或网络权限。

兼容 DSH 版本未标注版本不匹配时安装会报错
Node.js 要求未标注来自仓库 package.json 的 engines 字段
前置依赖无需要同时安装的同级依赖
npm 包名未发布到 npm可用 npm view 查看包信息

能做什么

工具与能力
字段来自项目仓库与公开索引,中文说明由本站标注

适用场景

文件读写存储

上游标签

cleanupdeepseek-harnessdshdsh-pluginscratch-filestmp

验证等级与安全审查

L5 · 运行验证通过
自动化流程结论,不是人工审核
验证等级L5 · 运行验证通过在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来
安全审查低风险静态分析结论,未标注不代表已通过审查
仓库健康度活跃按仓库活跃度与最近更新时间给出
可信度金综合仓库活跃度与验证结果

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 验证等级 L5:安装和运行都在沙盒里跑通过,装完能直接用的概率高。
  • 静态安全审查为低风险,没有发现明显可疑行为。
  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有声明 Node.js 版本要求,版本不匹配可能装不上。
  • 验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么。

更适合

  • 需要在工具与能力场景里给 DSH 补能力的人。
  • 想装完就能用、不想自己排依赖的人。
  • 能接受在本地装依赖、愿意自己确认权限的人。

不太适合

  • 只使用 DSH 官方内置能力、不接受第三方插件的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
插件验证等级安全审查星标兼容版本安装命令
dsh-workspace-tmp当前 L5 · 运行验证通过 低风险 0 未标注 有
loopx 未做沙盒验证 未标注 6,233 未标注 无
dsh-startup-screen 未做沙盒验证 未标注 633 未标注 有
minara-skills L4 · 沙盒安装通过 中风险 360 未标注 有
dsh-blender-plugin 未做沙盒验证 未标注 211 未标注 无
tokenledger L5 · 运行验证通过 低风险 204 0.2.0-rc.2 等 11 个 有

仓库档案

工具与能力
字段来自项目仓库与公开索引,中文说明由本站标注
作者 / 维护方xxiiiixx仓库 dsh-workspace-tmp · 默认分支 main
分类工具与能力tools
收录类型可安装插件声明了 dsh.bundle、可用 dsh plugin add 安装的条目
开发语言未标注仓库主语言
许可证MIT商用或二次分发前请确认条款原文
星标 / 复刻 / issue0 / 0 / 0收录时的数值,非实时
创建 / 更新2026-10-19 · 2026-10-19最后推送 2026-10-19
本站收录2026-10-30首次进入本站目录的时间

README 全文

8.5 KB
作者原文,中文版优先;只做安全转义,不改内容

dsh-workspace-tmp

工作区临时目录 — 让测试文件不再污染项目 · DeepSeek Harness 插件

English | 简体中文

概述

写测试时最容易被忽略的污染,不是改错了一行源码,而是在项目里留下一堆一次性文件:test.tmp.ts、scratch.py、跑一次就忘的 fixture、抓下来的日志、生成到一半的数据。它们进了 git status,进了 code review,最后又没人敢删。

这个插件给 Agent 一个工作区之外的临时目录,并配一条常驻准则和一套真正可用的工具:

注入面 实现位置 作用
workspace-tmp:policy 系统提示段落 ctx.systemPrompt.section() 告诉模型临时目录在哪、什么该放进去、什么时候被删
workspace_tmp 工具 ctx.tools.register() 创建、写入、列举、清理该目录
自动清理 agent/turn-stopping + session/event 默认每轮结束就删干净

目录在哪

临时目录是工作区的并列兄弟,不是子目录:

C:\Users\me\Desktop\插件\            ← 工作区(项目)
C:\Users\me\Desktop\tmp\插件-3f2a1c1\  ← 临时区
└── probe.test.ts
└── fixtures\…
└── .dsh-workspace-tmp.json           ← 归属标记

规则是 <工作区父目录>//<工作区名>-<会话短id>/。这样:

  • 永远不在项目里。工作区本身不是 Git 仓库时也不会;是仓库时更不会进 git status。
  • 不需要 .gitignore。它根本不在仓库目录树内,插件不碰你的任何项目文件。
  • 多会话不打架。会话短 id 让两个并行会话各用各的目录;同名工作区在不同父目录下也互不覆盖。
  • 删得掉、也删得安全。只有带.dsh-workspace-tmp.json 归属标记的目录才会被删;就算工作区本身叫 tmp,也不会误删。

什么时候清理

默认在每轮结束时删除,删完顺手把空掉的 tmp/ 父目录也收掉。

autoClean 行为
"turn"(默认) 每轮结束即删。agent/turn-stopping 负责正常收尾,session/event 的 turn/end 兜底出错与中断的轮次
"session" 会话结束(agent/disposed)时删;同一轮的多个步骤之间还能复用同一个文件
"off" 不自动删;模型可用 action: "clean" 手动清,或由你决定何时处理

清理失败只 warn,不会把错误抛进轮次;删除是幂等的,目录本来就不存在时什么也不做。

安装

插件本体装在 profile 的 node_modules 里,工作区里的源码只用于维护。

从 GitHub 安装

dsh plugin --profile desktop add github:xxiiiixx/dsh-workspace-tmp

从本地源码安装

dsh plugin --profile desktop add "C:\path\to\dsh-workspace-tmp"

或在 设置 → 插件 → 添加 中选择该目录。

安装完成后按提示重启 Harness(提示 restart-required 时必须重启)。workspace-tmp 行由 cordis.patch.yml 自动插入,不需要手工改 profile。

维护工作区里的源码

工作区里的 dsh-workspace-tmp/ 是维护副本,与已安装的副本相互独立:改源码不会影响正在运行的插件,必须重新安装才生效。

dsh plugin --profile desktop remove dsh-workspace-tmp
dsh plugin --profile desktop add "C:\path\to\dsh-workspace-tmp"

配置

每个键都可省略。非法值会在加载时直接报错,而不是悄悄降级成另一种行为。

- id: workspace-tmp
name: 'dsh-workspace-tmp'
config:
# 与工作区并列的目录名,默认 tmp
siblingDir: tmp
# turn(默认)| session | off
autoClean: turn
键 默认 含义
siblingDir "tmp" 并列目录名;只接受单个目录名,含分隔符或为空会报错
autoClean "turn" 清理时机;也接受 true(=turn)、false(=off)

模型实际看到什么

系统提示段落(每轮稳定,不破坏 KV 缓存):

## Scratch files stay out of the project tree

This session's temporary directory is `C:\Users\me\Desktop\tmp\插件-3f2a1c1`. It is a sibling of
the workspace, not a child, so it is never part of the project and never shows up in version control.

Use it for anything that only exists to try something out: test files you write to check behaviour,
fixtures and sample inputs, generated data, captured logs, benchmark probes, throwaway scripts,
build or conversion by-products.

- Write those files under the temporary directory. Do not create `test.tmp.ts`, `scratch.py`,
sample output, or one-off fixtures next to project sources.
- `workspace_tmp` manages it: `action: "create"` … `action: "write"` … `action: "list"` … `action: "clean"`.
- The native write tools are fenced to the workspace by the file sandbox, so they may refuse a
path outside it. `workspace_tmp` with `action: "write"` is the supported way to create a scratch
file there; the native `read`/`bash` tools can still read and run it.
- It is deleted automatically when this turn ends, so nothing is left behind.
- If a scratch file must outlive the turn, say so to the user and ask where it belongs; do not
move it into the project to keep it.
- Real project changes still go through the normal read/write/edit tools on the real files.
Never copy a project file into the temporary directory to "edit" it there.

工具调用:

{ "action": "create", "name": "cases" }                              // 建目录并预留路径
{ "action": "write", "name": "cases/a.test.ts", "content": "…" }     // 写文件(自动建父目录)
{ "action": "list" }                                                // 相对路径 + 字节数,最多 200 条
{ "action": "clean" }                                               // 立刻删除

验证

仓库自带零依赖脚本,不需要测试框架:

node --test "test/*.test.mjs"   # 14 项单元测试:路径推导、配置校验、工具行为、三种清理时机
node verify-wiring.mjs          # 21 项集成检查:真实 cordis + dsh-system-prompt + dsh-tools
node verify-installed.mjs       # 16 项安装副本检查:通过 desktop profile 解析已安装的包

npm test / npm run check 亦可。全部脚本只在系统临时目录里读写,不会碰本仓库。

verify-installed.mjs 走 profile 的真实解析路径(createRequire(profileDir/package.json)),挂载已安装的那份,断言段落进入组装后的提示词、工具经真实注册表执行成功、轮次结束确实删除了目录。

设计说明

  • 并列而非子目录。 放在工作区里必须靠 .gitignore 兜底,而改 .gitignore 本身就是改项目文件;并列目录让"不留痕迹"成为结构保证,而不是约定。
  • 归属标记决定删除权。 删除前必须读到 .dsh-workspace-tmp.json。这让清理逻辑在路径计算出错时也不会破坏无关目录。
  • 不绕过沙箱之外的东西。 插件用自己的 Node fs 写入,因此不受文件沙箱 fence 限制(workspace-write 下也能用);read-only 模式下工具会主动拒绝。代价是它确实越过了 DSH 文件沙箱这一层——这是刻意的选择,因为临时区按定义就在工作区外。
  • 两个清理入口。 agent/turn-stopping 是正常收尾的串行钩子,turn/end 兜底出错、中断、崩溃的轮次。只留前者会漏掉失败的轮次。
  • 提示词按会话确定。 段落文字只依赖工作区与会话 id,跨步骤逐字节一致;没有工作区的会话拿到空段落,而不是一段指向不存在路径的说明。
  • 零依赖、无构建。 只用 node:fs/promises 与 node:path;package.json 不声明 peerDependencies,避免被内核版本锁死。

已知限制

  • 它是准则加工具,不是策略引擎。 模型仍可能把文件写在项目里;插件不拦截 write/edit。硬拦截需要 tools/pre-execute 加路径判定,误伤正常源码的风险很高,不在本插件范围内。
  • 临时区在工作区外。 这正是目的,但也意味着 workspace-write 沙箱下的原生命令行工具看不到它;用 workspace_tmp 的 list/write,或用 danger-full-access。
  • 不读项目结构。 不判断"哪些是测试文件",只提供位置和清理。
  • 不做跨会话共享。 每个会话一个目录;需要长期保留的产物应由你指定位置。

许可证

MIT

常见问题

6 问
答案由本站依据条目字段整理,不引用上游原文
dsh-workspace-tmp 怎么安装?

在 DSH 里执行 `dsh plugin --profile web add github:xxiiiixx/dsh-workspace-tmp` 即可。

dsh-workspace-tmp 的验证等级是什么意思?

L5 · 运行验证通过。在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来

dsh-workspace-tmp 安全吗?

低风险。

dsh-workspace-tmp 装之前要先确认什么?

先看它会读写哪些文件、执行哪些命令、连接哪些网络地址;验证等级只说明装得上、跑得起来,不等于安全。涉及密钥或系统权限的,建议先在隔离环境试装。

dsh-workspace-tmp 用的是什么许可证?

上游标注为 MIT。商用或二次分发前请到仓库确认许可证原文。

这条记录的数据可靠吗?

本站按仓库名去重后合并整理,字段以作者仓库与 npm 元数据为准;安装命令、仓库地址与 README 保持原文,带 L4 / L5 标记的安装命令已在隔离沙盒里真实跑通。

工具与能力
按星标排序,可作替代方案

loopx

loopx

LoopX 是面向长周期 Agent 的本地优先控制平面,作为 DSH plugin 为 DeepSeek Harness 提供持久目标、证

未标注验证等级 6,233 星

dsh-startup-screen

dsh-startup-screen

DeepSeek Harness 的启动界面与启动动画插件。

未标注验证等级 633 星

dsh-blender-plugin

dsh-blender-plugin

让 AI 模型通过直连 TCP 通道实时驱动 Blender 的 DSH plugin:15 个工具覆盖视口取帧、任意角度渲染、内循环搜索、

未标注验证等级 211 星

tokenledger

TokenLedger

TokenLedger 为 DeepSeek Harness 提供零配置的 Token 用量记账,自动归属到实际服务请求的中转站,无需凭据即

L5 · 运行验证通过 204 星

deepseek-harness-jev

deepseek-harness-jev

把 TypeSafe Jev 接入 DeepSeek Harness 作为 System One 决策层,为技能与文件选择、任务监督、纠偏和

未标注验证等级 203 星

xxiiiixx 的其它插件

1 个

插件的元信息来自作者仓库;分类、验证等级与安全结论的中文说明为中文整理,最近核验 —。