dsh-access-mode:DeepSeek Harness 会话访问模式插件

DeepSeek Harness (DSH) 的权限控制通常依赖原生的 Permission Presets。默认配置在安全性与灵活性之间往往难以找到平衡点,而通过修改 Harness 核心代码来适配特定场景成本较高。dsh-access-mode 插件通过提供 Default / No Edit / Auto 三种访问模式,在 Web composer 左侧替换原生选择器,让用户在会话级别精细控制 AI 的工具调用权限、Sandbox 策略以及 Approval 策略,且不修改 Harness 核心代码。

插件简介

dsh-access-mode 由开发者 ddll8023 维护,属于 admin-security 类别。它通过插件形式扩展 DSH 的权限管理能力,支持以下核心特性:

  • 三种访问模式:在 Web 界面提供 Default / No Edit / Auto 下拉选择器。
  • 无侵入集成:不修改 Harness 核心代码、Agent loop、工具实现或模型调用流程。
  • 会话持久化:模式按 Agent session 持久化,切换后 Sandbox 与 Approval 策略同步生效。
  • 服务复用:复用 Harness 原生的 Approval、Sandbox、Tool Execution、Session 和 Remote Command 服务。

安装与启用

确保已安装 DeepSeek Harness 且版本大于等于 0.1.0-rc.6。dsh plugin 命令依赖 pnpm,如果未安装可通过 corepack enable pnpm 启用。

使用官方推荐命令直接从 GitHub 安装:

dsh plugin --profile web add github:ddll8023/dsh-access-mode

安装完成后,重启 dsh web 以加载插件。在 Web composer 左侧应能出现 Default、No Edit、Auto 三个访问模式选项,新会话默认选中 No Edit。

若需验证是否启用成功,可执行:

dsh --profile web --dump-config | grep -A2 access-mode

预期输出包含 id: access-mode 和 name: dsh-access-mode。

使用说明

该插件通过 /access-mode 命令切换模式。模式写入当前 Agent session,并在原生 session event 中持久化 permission/preset、sandbox/mode 和 approval/policy,从而控制后续执行。

模式详解

模式 Sandbox 策略 Approval 策略 行为说明
Default workspace-write ask 自动放行只读工具(如 read、grep、web_search 等)和保守的只读 Bash。编辑、写入及未知操作需审批。
No Edit danger-full-access ask 只有 edit 和 write 需要审批;其它工具直接放行,Bash 参数不做检查。适合需要访问 workspace 外文件但希望避免意外写入的场景。
Auto danger-full-access never 放行所有工具调用。适合完全信任当前会话的场景,不应对不可信的提示词或项目启用。

切换模式

在 Web composer 的下拉选择器中操作,或直接在会话中输入以下命令:

/access-mode default  # 切换到 Default
/access-mode no-edit  # 切换到 No Edit
/access-mode auto     # 切换到 Auto

对于没有插件模式事件的旧会话,插件会根据已有的 Approval 状态初始化:never 状态视为 Auto,其它情况视为 No Edit。

安全注意事项

  1. 版本兼容:仅支持 DSH >= 0.1.0-rc.6。
  2. danger-full-access 风险:No Edit 和 Auto 模式使用 danger-full-access,这取消了 DSH 文件 Sandbox 的路径限制。请仅对可信 session 使用这两种模式,避免 AI 误操作破坏系统或敏感数据。
  3. 操作系统权限:danger-full-access 只取消 DSH 的文件系统 Sandbox 限制,不等于绕过操作系统权限、容器权限或远程执行环境的限制。
  4. Default 边界:Default 模式仍保留 workspace-write 边界,若需访问 workspace 外文件,应切换到 No Edit 并批准相应操作。

总结

dsh-access-mode 通过插件机制为 DSH 提供了灵活的会话级权限控制。它不依赖修改核心代码,通过简单的命令和界面操作即可在 Default、No Edit 和 Auto 之间切换,适应从保守开发到完全自动化的不同工作流需求。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜