前言¶
DeepSeek Harness(DSH)内置的文件工具 write / edit 只负责写入与编辑,不能删除路径、创建目录或移动文件。若走 shell 通路(ops_bash / pwsh),子进程会受会话工作区沙箱约束,工作区外的写操作会被拒绝。智能体在「工作区内可写」档位下,常遇到「能写文件却删不掉、建不了目录」的断层。
社区插件 dsh-fs-extra(维护者 Rieko0328,目录分类 admin-security)通过进程内 node:fs 补齐上述能力,并与 dsh-ops 同源解析会话沙箱档位,不在档位语义之外做越狱。
这是什么¶
dsh-fs-extra 是 DSH 的 Cordis bundle 插件(package.json 版本 0.1.0,MIT 许可证)。它在 DSH 进程内注册一组文件工具,行为与内置写文件通路同级,不受 shell 子进程受限令牌影响;每次调用仍读取 ctx.get('sandboxPolicy').resolve({ session }),按当前档位限制可写路径。
提供的工具¶
| 工具 | 用途 | 受档位限制 |
|---|---|---|
fsx_delete |
删除文件或目录(目录递归) | 是 |
fsx_mkdir |
创建目录(可递归多级) | 是 |
fsx_move |
移动 / 重命名(支持跨盘) | 是(源与目标均需通过校验) |
fsx_list |
列目录(含大小与类型) | 否(只读) |
fsx_policy |
报告本会话解析到的档位与工作区根 | 自检用 |
fsx_delete 支持 dryRun,便于先确认再执行删除。
权限模型¶
插件按会话沙箱档位限制写类操作:
| 会话档位 | 插件行为 |
|---|---|
danger-full-access |
允许任意路径(仍受系统目录黑名单约束) |
workspace-write |
仅允许会话工作区(workspaceRoot)子树内,区外抛错 |
read-only |
写、删、建、移全部拒绝 |
| 档位无法确定 | 保守按 workspace-write 处理 |
任意档位下,内置系统目录黑名单会拒绝操作 C:\Windows、C:\Program Files、C:\ProgramData 等路径。档位为「工作区内可写」时,模型无法借本插件访问工作区外路径。
自检当前边界可调用 fsx_policy,输出形态类似:
沙箱档位: workspace-write
工作区根: E:\myproject
⇒ 本插件仅允许 E:\myproject 子树内操作
为什么需要它¶
README 中给出的 Windows 实测说明:在「完全权限」下,shell 子进程仍可能因受限令牌只在带沙箱 ACE 的目录可写,而文件工具不受该令牌限制却缺少删除能力。本插件走进程内 fs,保留档位语义,又不受子进程令牌对「删 / 建目录」的额外束缚。
安装与启用¶
从 GitHub 安装(将 <profile> 换成你的 profile 名):
dsh plugin --profile <profile> add "github:Rieko0328/dsh-fs-extra"
本地 bundle:
dsh plugin --profile <profile> add "E:\path\to\dsh-fs-extra"
或在 profile 的 package.json 中配置 dsh.profile.bundles 与 dependencies 的 link: 路径后重启 DSH。开发调试若已安装 dsh-super-injector,可用 dev_inject_plugin {"dir": "E:/path/to/dsh-fs-extra"} 运行时注入。
依赖与运行环境(来自 README):
@deepseek-ai/dsh-tools(工具注册)@deepseek-ai/dsh-sandbox-policy(档位解析;缺失时保守降级为工作区限制)- Node.js ≥ 22.19
- 在 DSH
0.2.0-rc.2(Windows)上开发并实测通过
典型用法¶
- 会话开始前或遇到权限疑问时,先调用
fsx_policy确认档位与工作区根。 - 删除前对
fsx_delete使用dryRun查看将影响的范围,再正式执行。 - 在工作区内用
fsx_mkdir创建多级目录,用fsx_move移动或重命名;只浏览结构时用fsx_list。
具体参数以插件注册的 JSON Schema 为准(完整 object schema,与 dsh-ops/lib/shells.js 形状对齐)。
适用场景与注意¶
适合需要在 DSH 智能体会话中完成「删、建目录、移动」且希望与沙箱档位一致、而非依赖 shell 绕路的开发者。插件在 当前 DSH 进程权限 下执行文件操作,安装前请阅读 GitHub 仓库 源码与 MIT 许可证。社区目录 SkillHub 插件页 为独立站点收录,与 DeepSeek / 幻方无官方从属关系。
结尾¶
dsh-fs-extra 用进程内文件系统 API 补全 DSH 文件工具链,并在 danger-full-access 与 workspace-write 等档位下保持可预期的边界。需要安装或源码时,可参考目录页与仓库:
- 目录:https://www.skillhub.cn/plugins/Rieko0328/dsh-fs-extra
- GitHub:https://github.com/Rieko0328/dsh-fs-extra