插件目录 / Security / dsh-tool-workspace
dsh-tool-workspace
已验证 · 实测可装 wangxing-git
功能简介
DeepSeek Harness 工作区管理工具集:查看、创建注册、重命名、删除工作区记录(纯注册,不触碰磁盘目录);破坏性操作(删除注册、改注册路径)走用户审批 fail-closed。
可用 — 实测通过,早期项目
DeepSeek Harness 工作区管理工具集:查看、创建注册、重命名、删除工作区记录(纯注册,不触碰磁盘目录);破坏性操作(删除注册、改注册路径)走用户审批 fail-closed。 实测能干净安装、正常启动。早期项目,但功能可用。
「已验证」表示我们的自动化 CI 在干净 profile 里实际执行了 dsh plugin add 并启动成功——仅此而已。功能描述与版本兼容性均为作者声明。这不是安全审计,也不代表对第三方代码的背书。
README
dsh-tool-workspace
DeepSeek Harness 的工作区管理工具集插件:向模型提供工作区注册记录的查看、创建注册、重命名、删除注册能力。
纯注册记录语义:所有操作只改 DSH 的 workspace 注册记录(storage),不创建、不删除、不移动磁盘目录。删除注册与改注册路径属于破坏性操作,执行前走用户审批(fail-closed)。
工具列表
| 工具 | 说明 | 审批 |
|---|---|---|
list_workspaces |
列出所有工作区(id/路径/标题/时间/会话数,可选 query 关键词对 id/路径/标题做大小写不敏感子串模糊搜索、可选实时目录状态) |
否 |
get_workspace |
按 id 查看单个工作区详情(含实时目录状态与会话 id) | 否 |
get_current_workspace |
获取当前会话目录对应的已注册工作区(未注册时返回 null) | 否 |
create_workspace |
把一个已存在目录注册为工作区(不创建目录) | 否 |
rename_workspace |
改显示标题;或改注册路径(delete+create,新 id,会话不迁移) | 仅改路径时 |
delete_workspace |
删除注册(保留磁盘目录与会话日志);其下仍有未归档会话时拒绝删除,需先归档 | 是 |
权限模型
- 破坏性操作(删除注册、改注册路径)在执行前通过
ctx.approval.request发起用户审批;只有allowed-once才放行,rejected/cancelled/unavailable一律拒绝。 - 未挂载审批服务、或 agent-less 调用时,破坏性操作直接拒绝(fail-closed)。
- 纯注册记录模式不触碰文件系统,故不携带
sandbox_permissions提权字段(该字段仅文件系统写操作使用);破坏性操作与沙箱提权共用同一条approval/request审批通道。未来若扩展目录级操作,复用dsh-tool-fs的 FsSandboxController /dsh-sandbox的 approveEscalation 即可。
安装与集成
从 GitHub 安装到 profile(以 web 为例):
dsh plugin --profile web add github:wangxing-git/dsh-tool-workspace或在
~/.dsh/profiles/web/package.json手动声明:{ "dsh": { "profile": { "bundles": [ "dsh-tool-workspace" ] } }, "dependencies": { "dsh-tool-workspace": "github:wangxing-git/dsh-tool-workspace" } }(仅手动声明时需要)在 profile 目录执行
pnpm install;使用dsh plugin add时内部已自动执行。dsh --profile web --dump-config确认插件与 6 个工具已加载。
开发
npm run typecheck # 类型检查
npm test # vitest 单元测试
npm run build # 产出 lib/
结构
src/index.ts—— 插件入口(name/inject/Config/apply 编排)src/approval.ts—— 破坏性操作的 fail-closed 审批 helpersrc/value.ts—— workspace 投影 + 共享 output schemasrc/tools/*.ts—— 6 个工具实现src/client.ts/src/client/*—— 客户端注入与工具调用展示(对应./client导出)
安装
装一次目录插件,之后本站所有插件都能让 DeepSeek Harness 自动找、自动装:
dsh plugin add dshbase-catalog 然后对 agent 说「帮我装 dsh-tool-workspace」,它会在目录里找到并自动安装。文档:dshbase-catalog · 已验证场景包。
该插件是 GitHub 源码(未发 npm)——直接从仓库装:
Web profile:
dsh plugin --profile web add github:wangxing-git/dsh-tool-workspace Headless(CLI)profile:
dsh plugin --profile headless add github:wangxing-git/dsh-tool-workspace 实测报告
验证通过:从 GitHub 源码完成 L1 安装 + L2 加载 + L3 运行(dsh 0.1.0-rc.6)。