CsBpRd/dsh-workspace-only-plugin

CsBpRd★ 0JavaScriptLast synced: 2026-08-16

Open on GitHub

DeepSeek Harness (dsh) 插件:Workspace Only 开关 —— 任何模式下越界文件访问都请求用户确认 (approval prompt in every mode)

README excerpt

dsh-workspace-only-plugin DeepSeek Harness (dsh) 插件:为 dsh 增加 "Workspace Only" 开关。 功能 - 开关开启后, 任何模式 (read-only / workspace-write / danger-full-access / auto)无差别对待:代理访问工作目录以外的文件,一律 弹窗请求用户确认 : - 弹窗直接派发在 approval/request 通道上, 绕过审批策略闸门 ——即使会话是 Full access(审批 = never)也会弹出,不会静默拒绝; - 用户批准 → 放行这一次调用(按会话自身模式执行);用户拒绝 / 无应答渠道 → 拒绝; - 越出工作区的 read / write / edit / read image / glob / grep / bash / pwsh 调用都会触发; - 内嵌路径( node -e / python -c 字符串里的绝对路径)也会被词法扫描捕获并触发弹窗; - auto 模式插件( @nanmicoder/dsh-auto-mode )照常运行但被收编:其分类器仍裁决工作区内调用,越界调用先走本插件的用户确认。 - 权限预设 workspace-write 显示名 永久 改为 "Write Only"(与开关状态无关)。 - 开关为全局设置(持久化到 settings.yaml),所有会话立即生效;设置页与输入栏各有一个开关。 安装 一行安装(推荐): 脚本自动:装进 profile 的 bundle 层栈( dsh plugin add ,首次使用自动初始化 profile)→ 打两个必需的核心补丁 → 检测到运行中的 dsh web 则以原命令行重启(会话持久化,重启后恢复)。可调环境变量: DSH PROFILE (默认 web)、 DSH HOME 、 DSH NO RESTART=1 (跳过重启)。 手动安装: 1. 在 /.dsh/profiles/web/package.json 的 dependencies 加: "dsh-workspace-only-plugin": "file:/Volumes/CBR DATA/项目/dsh-workspace-only-plugin" 2. 在 dsh.profile.bundles 末尾追加 "dsh-workspace-only-plugin" 。 3. cd /.dsh/profiles/web && pnpm install 。 4. 重启 dsh web 服务。 与 auto 插件共存 本插件把 workspace-write 预设改名 "Write Only" 后,auto 插件的客户端按标签匹配权限菜单,需同步把 @nanmicoder/dsh-au…

View full README on GitHub →
Tools / Devdeepseek-harnessdshdsh-pluginpermissionsecurity

Category