DeepSeek Harness 插件

dsh-windows-workspace-guard

Windows workspace, immutable-path, Git-risk, approval, and audit guard for DeepSeek Harness.(英文原文)

跳到安装方式

来源信息

GitHub 仓库
julescules/dsh-windows-workspace-guard
最近更新
2026年8月22日
分类
安全与权限
GitHub stars
0
载体类型
plugin
目录证据
上游声明已找到 dsh.bundle
证据路径
package.json#dsh.bundle
核对版本
0.1.0-rc.8
上游核对日期
2026-08-20

该证据由上游目录提供。本站没有安装、运行或安全审核这个插件。

安装

默认先复制一段 Prompt,让 Agent 读 GitHub 仓库和源码;需要自己装时再切到命令。

复制这段 Prompt,发给 DSH、Codex 或其他 Agent,让它先读 GitHub 仓库和源码。

请先不要安装或执行任何命令。阅读这个插件的 GitHub 仓库、README 和关键源码,然后用清楚、直接的方式回答以下问题,帮助我判断它是否适合我的需求:

1. 这个插件是什么,解决什么问题;
2. 适合哪些用户和典型使用场景;
3. 安装后如何使用,并给出一个最小使用示例;
4. 有哪些已知限制,以及隐私、安全、兼容性或维护风险;
5. 给出“推荐 / 有条件推荐 / 不推荐”的明确建议和理由。

请区分仓库明确说明、根据源码推断和未知信息。证据不足时请明确说明,不要猜测或照抄 README。

GitHub:https://github.com/julescules/dsh-windows-workspace-guard
插件名:dsh-windows-workspace-guard
作者:julescules

检查来源文件

安装前先看这个插件目录里的 README 和其他文件。

文件资源管理器4 个文件
README.zh.md来源说明 · 只读预览
README 语言

dsh-windows-workspace-guard

中文 | English

> [!IMPORTANT] > 非官方社区插件,由社区成员独立开发和维护,未经 DeepSeek 官方审核或背书。

这是一个面向 Windows 的 DeepSeek Harness 安全插件。它会在执行前检查 Agent 发出的 PowerShell 命令,保护工作区、原始文件、持久 Shell 状态、Windows 系统状态、进程和 Git 恢复路径。

![允许、审批和强制阻断三种策略结果](docs/demo.svg)

能做什么

  • 删除、移动和覆盖目标必须位于可信工作区内;
  • 可将 original/、签名文件或任意目录设为不可修改;
  • 检查 git reset --hardgit clean -fdx、工作树还原、删除 stash、强推等高风险操作;
  • 强制阻断注册表、WMI/CIM、服务、计划任务、ACL/所有权、junction/symlink/hardlink、NTFS 备用数据流和嵌套 PowerShell 变更;
  • 检查 Out-FileTee-Object、导出命令以及 >/>> 的输出目标是否位于可信工作区;
  • 默认阻断原生 Shell/脚本宿主逃逸和下载落盘绕过;
  • 检查终止进程操作,并可配置需要拦截的工具名称;
  • 适配 DSH v0.1.0-rc.8 新增的持久 pwsh:防护相对变更路径、命令遮蔽、dot-source、脱离式任务、远程执行、模块、环境变量和当前目录状态;
  • 支持直接阻断、单次审批、只记录不阻断三种模式;
  • 在官方 DSH 插件设置页提供实时设置卡片(需要 DSH v0.1.0-rc.7 或更新版本);
  • 可写入追加式 JSONL 审计,命令预览会脱敏并保存 SHA-256;
  • 磁盘操作、盘符根目录、编码命令、System.IO 绕过和保护目录始终强制阻断。

安装

dsh plugin --profile web add github:julescules/dsh-windows-workspace-guard#v0.5.0
dsh --profile web --dump-config

安装后重新启动 DSH。

推荐配置

- id: windows-workspace-guard
  name: dsh-windows-workspace-guard
  config:
    mode: ask
    workspaceRoots:
      - 'D:\projects\current-project'
    protectedPaths:
      - 'D:\projects\current-project\original'
    guardGit: true
    guardSystem: true
    guardProcesses: true
    guardNativeEscapes: true
    guardPersistentShell: true
    requireAbsoluteMutationPaths: true
    auditPath: 'D:\projects\current-project\operation_logs\dsh-guard.audit.jsonl'

在 DSH v0.1.0-rc.7 或更新版本中,也可以从“设置 → 插件 → Windows 工作区防护”修改这些字段,保存后立即生效,不需要重启插件。本版本已针对 DSH v0.1.1-rc.2 验证,并保留 rc.8 引入的持久 PowerShell 契约。

requireAbsoluteMutationPaths 默认启用。只读命令仍可使用相对路径,但删除、移动、复制、重命名和覆盖文件时必须使用带盘符的绝对路径或 UNC 路径,防止之前的持久 Set-Location 改变后续命令的真实目标。

检查结果blockaskreport
安全放行放行放行
需要复核阻断请求单次批准放行并记录
强制阻断阻断阻断阻断

强制阻断不能被 allowExactreport 模式绕过。

执行前自检

插件注册了 windows_workspace_guard_check。Agent 可以先检查命令,获得稳定的 PASSREVIEWFAIL JSON,而不会执行命令。

已验证

  • 38/38 单元、浏览器接口及对抗测试通过;
  • 使用官方 dsh.bundle.patch 插件结构;
  • 使用官方带 key 的 settings.plugin.item 设置卡及 settingsScope 实时配置协议;
  • 使用官方 tools/pre-execute allow/deny/ask 协议;
  • 已通过真实 @deepseek-ai/dsh@0.1.1-rc.2 Profile 安装、配置组合、Web Host 启动图发现及客户端 bundle 服务验证;
  • 安装时不需要运行构建脚本;
  • UTF-8 追加式审计及常见密钥脱敏。
npm run check
npm pack --dry-run

已知限制

  • 静态检查不能代替完整 PowerShell 解析器或操作系统沙箱;
  • 默认拦截 pwsh;可在 toolNames 中加入其他 PowerShell 工具名称;
  • 目前不会在运行时解析既有 junction/symlink,但会强制阻断创建操作;
  • 插件无法直接读取 PTY 的实时当前目录,因此默认以“变更操作必须使用绝对路径”作为安全边界;
  • DeepSeek Harness 仍处于开发预览阶段,建议固定已审核的版本或提交。

许可证

[MIT](LICENSE)