DeepSeek Harness Hub
← 返回列表

Wonjader/dsh-permission-workspace-write-plus

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
未验证

deepseek harness中workspace write权限的增强插件。使用前请自行评估风险。

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/9/15 · 已提供中文文档
综合分
29.7
GitHub 分
29.7
用户评分
★ Stars
0
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add Wonjader/dsh-permission-workspace-write-plus
该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/18(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-pwsh-local@deepseek-ai/dsh-session@deepseek-ai/dsh-fs-local@deepseek-ai/cordis@deepseek-ai/dsh-settings@deepseek-ai/dsh-sandbox@deepseek-ai/dsh-fs@deepseek-ai/dsh-client-connection@deepseek-ai/dsh-client-locale
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

dsh-permission-workspace-write-plus

⚠️ 本项目按“现状”提供,不承诺长期持续性维护,使用前请自行评估风险。

项目简介

完全插件化的 Workspace Write Plus 权限预设 + 合并版跨平台睡眠守护。
当前版本 1.2.2。

- 工作区读写 + 工作区外配置类文件写入
- .dsh/profiles 插件/配置写入 + .dsh/skills 写入
- 系统睡眠/关机命令宿主执行
- 任务执行期间自动禁止系统睡眠(睡眠守护已并入本插件,不再单独安装 dsh-sleep-guard)
- 跨平台:Windows / Linux / macOS / WSL(WSL 中执行任务时同时让 Windows 主机不睡眠)
- 零核心改动、可热插拔(bundle patch 为纯 insert)

功能一览

| 维度 | 权限 |
|---|---|
| 工具调用 | 完整(所有 tool) |
| 工作区(会话 workspace 根目录) | 读写 |
| 平台临时区 | 读写 |
| 工作区外配置类文件(且工作区内无同名对应) | 写 |
| .dsh/profiles(插件安装与 profile 配置) | 写 |
| 用户 DSH skills 目录(/skills) | 写 |
| 用户 DSH 主目录(,兼容旧行为,可独立关闭) | 写 |
| 系统睡眠/关机指令(shutdown / powercfg / systemctl suspend 等) | 允许(宿主执行) |
| 睡眠守护:agent turn 执行期间保持系统不睡眠 | 默认开启 |
| 工作区外其他文件 | 拒绝写 |
| 升级/越界重试 | 需审批(approval: ask) |

架构

- fs 后端(lib/fs.js):继承 LocalFileSystem,标准 workspace-write fence
完全兼容;plus 会话额外放行配置类文件、.dsh/profiles、.dsh/skills、
.dsh 主目录。每个附加类别有独立 settings 开关。
- shell 后端(lib/shell.js):Windows 继承 PwshLocalExecutor,
Linux/macOS 继承 LocalBashExecutor;plus 会话中系统命令白名单走宿主执行。
- 睡眠守护(lib/sleep-guard.js):监听 session/event 的
turn/start / turn/end,引用计数。Windows 通过常驻 PowerShell 调用
SetThreadExecutionState,Linux 用 systemd-inhibit,macOS 用
caffeinate。WSL 中额外通过 interop 启动 Windows PowerShell 常驻进程,
让 Windows 主机在 WSL 的 dsh 执行任务时同样不睡眠。
- Client 端(lib/client.js):权限图标 + 权限中文名
(“工作区内修改+”)+ 设置中独立的
Workspace Write Plus 设置栏(与通用设置同级)。

安装与启用

插件 bundle patch 是纯 insert 的包根行(cordis.patch.yml),可以被
dshmarket 热挂载。fs/shell 两行仍在 profile patch 中。

Windows profile patch

- id: fs-sandbox
disabled: true
- id: pwsh-sandbox
disabled: true
- insert:
- id: fs-workspace-plus-config
name: dsh-permission-workspace-write-plus/fs
- id: shell-workspace-plus-config
name: dsh-permission-workspace-write-plus/shell

Linux / WSL profile patch

- id: fs-sandbox
disabled: true
- id: bash-sandbox
disabled: true
- insert:
- id: fs-workspace-plus-config
name: dsh-permission-workspace-write-plus/fs
- id: shell-workspace-plus-config
name: dsh-permission-workspace-write-plus/shell

包根行由插件 dsh.bundle.patch 提供:

- insert:
- id: dsh-permission-workspace-write-plus
name: dsh-permission-workspace-write-plus

禁用插件时 disabled 行与 insert 行必须成对处理,否则核心
fs/pwsh 或 fs/bash 服务缺失会导致 DSH 无法启动。

从 GitHub 安装

dsh plugin --profile web add github:Wonjader/dsh-permission-workspace-write-plus

设置开关(settings)

插件注册 workspace-write-plus 命名空间;设置页中会渲染独立一栏的开关组
(lib/client.js),也可直接写 settings.yaml:

| 键 | 含义 | 默认 |
|---|---|---|
| enabled | 总开关:关闭后所有附加放行与睡眠守护失效 | true |
| allowConfigFiles | 工作区外配置类文件写入 | true |
| allowSkills | /skills 目录写入 | true |
| allowProfiles | /profiles 目录写入(插件/profile 配置) | true |
| allowDshHome |  整目录写入(兼容旧行为) | true |
| allowSystemCommands | 系统睡眠/关机指令宿主执行 | true |
| allowSleepGuard | 任务执行期间保持系统不睡眠 | true |

settings.yaml 示例:

workspace-write-plus:
enabled: true
allowConfigFiles: true
allowSkills: true
allowProfiles: true
allowDshHome: true
allowSystemCommands: true
allowSleepGuard: true

睡眠守护平台说明

| 环境 | 实现 |
|---|---|
| Windows | 常驻 PowerShell + SetThreadExecutionState(ES_CONTINUOUS\|ES_SYSTEM_REQUIRED) |
| Linux | systemd-inhibit --what=sleep |
| macOS | caffeinate -i |
| WSL | Linux 侧尽量使用 systemd-inhibit;同时通过 /mnt/c/.../powershell.exe 持有 Windows 主机唤醒锁 |

turn 开始 hold、turn 结束 release;多会话并发时引用计数,最后一个 turn
结束后释放;插件卸载/停用时自动释放。

特别说明:当Windows的Modern Standby被触发时,WSL会被暂停,sleep guard功能无法避免这一机制。

升级记录(Changelog)
1.2.2

- 新增中文显示名:中文界面下权限名显示为 “工作区内修改+”(对应官方 Workspace Write 的“工作区内修改”);英文界面与英文文案完全不变,仍为 Workspace Write Plus。
- 适配范围:对话区权限触发按钮(含无障碍名称 aria-label)、对话区权限下拉、通用设置权限下拉、/permission 快捷选择列表,以及设置侧栏的插件分栏标题与总开关文案。
- 切换界面语言后即时刷新;插件被禁用/卸载时恢复核心渲染的英文名。
- 权限预设的 name(profile patch)与图标逻辑均不变:通用设置权限下拉仍保持无图标,其他位置图标不动。
- 实现方式:client 端只在已渲染的文本与 aria-label 上就地改写,不改核心、零核心改动,也不干扰 React 的渲染状态。

1.2.1

- 修复通用设置权限下拉列表中的图标:该菜单是 portal 渲染到 document.body 的,之前只判断了 [role="dialog"] 祖先,导致 Workspace Write Plus 仍被注入图标。现在同时识别 portal 菜单并跳过,保持与系统自带权限项一致。
- 其他位置(对话区权限触发按钮、对话区权限下拉、设置侧栏)的 Workspace Write Plus 图标保持不变。

1.2.0

- 新增 allowWriteDirs 设置:可在 Workspace Write Plus 设置页中添加任意数量的绝对目录,这些目录会加入额外可写白名单,不再局限于预设的配置目录、.dsh/profiles、.dsh/skills、.dsh 主目录。
- 设置页新增“额外可写目录”编辑器:支持添加、编辑、移除目录,保存后立即通过 settings API 生效。
- 目录白名单为空时行为与旧版完全一致;主开关 enabled 关闭时所有自定义目录同样失效。
- README 同步补充该功能与版本记录。

1.1.1

- 修复新版 DSH Client 设置传输兼容:新版浏览器端将设置读写从 connection.api.settings 迁移到 ctx.settingsScope 服务;插件优先使用 ctx.settingsScope.bind({ namespace }),旧版回退到 connection.api.settings,修复新版下设置页缺少 Workspace Write Plus 一栏的问题。

1.1.0

- 兼容新版 DSH Host 设置 API:@deepseek-ai/dsh-settings 已移除 installSettingsSection / settingsNamespace 命名导出。插件改为运行时特性检测:旧版使用 installSettingsSection(...),新版使用 ctx.settings.installSection(...),避免 ESM 静态链接失败导致 DSH 无法启动。
- Windows profile 的 dshmarket 升级到 1.45.1,以兼容新版 settings 服务 API。

1.0.0

- 首个正式版本:Workspace Write Plus 权限预设、.dsh/profiles / .dsh/skills 写入、系统睡眠/关机命令宿主执行、跨平台睡眠守护(Windows/Linux/macOS/WSL)。
- 权限图标统一为原生 workspace-write 风格 + 右上角 “+”。
- 设置页独立一栏。

开源收录

本插件目标仓库:

- GitHub:
- 许可证:APL v1.0(见 LICENSE.md)

dshmarket 收录后的安装

dsh plugin --profile web add github:Wonjader/dsh-permission-workspace-write-plus

贡献

本项目接受外部贡献,但作者无义务审查或合并。提交即视为按APL授权。

免责声明

本作品包含AI生成内容,按“现状”提供,不附带任何担保。使用或分发所产生的一切后果由接收者自行承担。

许可证

本作品使用 无著公共许可证(Asanga Public License, APL)v1.0 授权。

Copyright © 2026 Wonjader(GitHub、gitee、AtomGit:@wonjader)

详见 LICENSE.md 文件。

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群