dsh-workspace-only-plugin
在终端中运行以下命令:
dsh plugin install CsBpRd/dsh-workspace-only-plugin
将以下提示词粘贴到 DeepSeek Harness 对话框中:
在 DeepSeek Harness 终端中执行 dsh plugin install CsBpRd/dsh-workspace-only-plugin,或手动将 https://github.com/CsBpRd/dsh-workspace-only-plugin 添加到 profile 依赖并打核心补丁后重启服务。
插件介绍
在 dsh 的多权限模式体系中,一旦会话切到 danger-full-access 或 auto,代理即可静默读写工作目录之外的文件,用户既无感知也无法事后追溯。dsh-workspace-only-plugin 针对这一安全盲区,提供了一个全局"Workspace Only"开关:开启后,无论当前是 read-only、workspace-write 还是 full-access,任何越出工作目录的文件操作都会被拦截并弹窗请求用户确认,直接走 approval/request 通道,绕过审批策略闸门——即使审批级别设为 never 也会弹,绝不静默放行。
核心能力覆盖 read、write、edit、read_image、glob、grep、bash、pwsh 等全部工具调用,并对 node -e、python -c 等内嵌字符串中的绝对路径做词法扫描,防止通过脚本参数绕过目录边界。与 dsh-auto-mode 插件共存时,其分类器仍负责工作区内的裁决,越界调用则先经本插件的用户确认再放行,两条链路互不冲突。workspace-write 预设的显示名会被永久改为"Write Only",让权限菜单的语义更清晰。开关持久化到 settings.yaml,一次设置、所有会话即时生效,设置页与输入栏各有一个快捷切换。
适合在 dsh 中频繁使用 auto 或 full-access 模式、希望保留操作灵活性的同时守住"越界必确认"底线的开发者,以及对代理文件访问有较高安全要求、不想依赖事后审计的团队。
使用场景
- Full-access 会话中防止代理静默越界读写
- auto 模式下越界调用弹出用户确认而非静默放行
- 脚本内嵌绝对路径的词法扫描拦截
适合人员
- 频繁使用 auto 或 full-access 模式的 dsh 开发者
- 对代理文件访问有安全合规要求的团队
- 希望保留操作灵活性同时守住越界确认底线的用户