🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

原生审批弹窗 qingfengyu153781-star/dsh-approval-popup

DeepSeek Harness
qingfengyu153781-star80 天前有提交已提供中文文档扫描:含敏感能力

在桌面弹窗批准或拒绝 DSH 的提权与命令请求

27.4/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/9/17 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add qingfengyu153781-star/dsh-approval-popup
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · ads
装得上吗
本站已真实安装成功
非静态推断
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 80 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件
查看扫描证据(共 3 处,展示前 3 条)
  • 写入本地文件
    index.mjs:51
    if (LOG) appendFileSync(LOG, `[${new Date().toISOString()}] ${line}\n`)
  • 执行外部命令固定命令
    index.mjs:85
    const child = spawn('powershell.exe', args, {
  • 执行外部命令固定命令
    index.mjs:129
    const child = spawn('powershell.exe', args, {
扫描于 2026/11/3(0 天前) · 范围 全包扫描 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 原生Windows弹窗
  • 批准或拒绝提权请求
  • 批准或拒绝命令请求

为 DeepSeek Harness(DSH)的审批请求和回合结束通知提供原生 Windows 弹窗

README

由 DeepSeek 最新模型翻译生成
dsh-approval-popup 用于 DeepSeek Harness (DSH) 审批请求的原生 Windows 弹窗对话框——通过桌面对话框批准或拒绝沙箱提权、文件写入和 shell 命令,而无需使用 Web GUI。当 agent 的一轮任务完成时,可选弹出 “任务完成” 提示。 Windows 原生弹窗插件:DSH 需要批准(沙箱提权、写文件、执行命令等)时,直接弹出桌面对话框点「是 / 否」,不用再切回 Web 界面操作;任务完成时还会弹出提醒。 ✨ 功能特性 - 原生是/否对话框 —— 是(Y) / 否(N) 按钮,始终置顶,居中显示。 - 全局回车批准热键 —— 在桌面任意位置按回车即可批准(可开关)。 - 带可配置操作的超时 —— N 秒内未做选择 → 自动批准(默认)、自动拒绝,或回退到 Web GUI(allow / reject / next)。 - 轮次完成弹窗 —— 当 agent 的一轮任务完成时显示非决策性提示,自动关闭,并做了防抖处理,因此连续多轮任务不会堆叠窗口。 - 前置应答器 —— 在 Web UI 应答器之前运行;一旦做出具体选择就会短路整个瀑布流。 - 审计日志 —— 每个请求/结果都会追加到 ~/.dsh/approval-popup.log。
展开完整文档(README 剩余 1 节)
dsh-approval-popup

用于 DeepSeek Harness (DSH) 审批请求的原生 Windows 弹窗对话框——通过桌面对话框批准或拒绝沙箱提权、文件写入和 shell 命令,而无需使用 Web GUI。当 agent 的一轮任务完成时,可选弹出 “任务完成” 提示。

Windows 原生弹窗插件:DSH 需要批准(沙箱提权、写文件、执行命令等)时,直接弹出桌面对话框点「是 / 否」,不用再切回 Web 界面操作;任务完成时还会弹出提醒。

✨ 功能特性

- 原生是/否对话框 —— 是(Y) / 否(N) 按钮,始终置顶,居中显示。
- 全局回车批准热键 —— 在桌面任意位置按回车即可批准(可开关)。
- 带可配置操作的超时 —— N 秒内未做选择 → 自动批准(默认)、自动拒绝,或回退到 Web GUI(allow / reject / next)。
- 轮次完成弹窗 —— 当 agent 的一轮任务完成时显示非决策性提示,自动关闭,并做了防抖处理,因此连续多轮任务不会堆叠窗口。
- 前置应答器 —— 在 Web UI 应答器之前运行;一旦做出具体选择就会短路整个瀑布流。
- 审计日志 —— 每个请求/结果都会追加到 ~/.dsh/approval-popup.log。
- 零依赖 —— 纯 ESM + 两个 PowerShell 辅助脚本;无需 npm install,无需构建步骤。

📋 环境要求

| 要求 | 详情 |
| 操作系统 | 仅限 Windows(PowerShell/WinForms 对话框)。在其他平台上该插件不执行任何操作。 |
| PowerShell | 5.1+(Windows 内置)。 |
| DSH | 任意较新版本(dsh web 或桌面应用)。已在 0.1.0-rc.5 上测试。 |
| Profile | web profile(默认)。 |

🚀 安装

方式 A —— 一键安装脚本(推荐)

clone anywhere, then:
powershell -ExecutionPolicy Bypass -File .\install.ps1

它会执行以下操作:

1. 将 index.mjs + 三个 .ps1 辅助脚本复制到 %USERPROFILE%\.dsh\plugins\approval-popup\。
2. 向 %USERPROFILE%\.dsh\profiles\web\cordis.patch.yml 追加一条 insert 条目(幂等——重复运行不会产生重复项)。
3. 打印后续步骤。

然后重启 dsh(退出并重新启动 dsh web / 桌面应用),对话框即可生效。

方式 B —— 手动安装

1. copy the plugin folder into the DSH plugins directory
Copy-Item -Recurse . "$env:USERPROFILE\.dsh\plugins\approval-popup"

2. edit %USERPROFILE%\.dsh\profiles\web\cordis.patch.yml and add:
- insert:
- id: approval-popup
name: 'file:///C:/Users//.dsh/plugins/approval-popup/index.mjs'

3. restart dsh web

⚙️ 配置

所有选项均为环境变量,在插件启动时读取一次(请在启动 dsh 之前设置它们,例如在系统设置或启动脚本中):

| 变量 | 默认值 | 描述 |
| DSH_APPROVAL_POPUP | 1 | 设为 0 可禁用整个插件。 |
| DSH_APPROVAL_ENTER | 1 | 设为 0 可禁用全局回车热键。 |
| DSH_APPROVAL_TIMEOUT_MS | 15000 | 对话框超时时间(毫秒)。0 = 永久等待。 |
| DSH_APPROVAL_TIMEOUT_ACTION | allow | 超时时:allow(自动批准)、reject(自动拒绝)或 next(回退到 Web GUI)。 |
| DSH_TURN_DONE_POPUP | 1 | 设为 0 可禁用回合结束弹窗。 |
| DSH_TURN_DONE_TIMEOUT_MS | 30000 | 回合结束弹窗自动关闭时间(毫秒)。 |
| DSH_TURN_DONE_COOLDOWN_MS | 5000 | 两次通知之间的最小间隔;防止回合集中结束时弹窗堆叠。 |
| DSH_APPROVAL_POPUP_LOG | ~/.dsh/approval-popup.log | 调试日志路径(空字符串禁用日志记录)。 |

示例(更严格的策略——默认拒绝):

$env:DSH_APPROVAL_TIMEOUT_MS = 20000
$env:DSH_APPROVAL_TIMEOUT_ACTION = "reject"

🗑 卸载

Remove-Item -Recurse -Force "$env:USERPROFILE\.dsh\plugins\approval-popup"
then remove the approval-popup entry from %USERPROFILE%\.dsh\profiles\web\cordis.patch.yml
and restart dsh

🔍 故障排查

- 没有出现对话框,但请求被自动批准 —— 插件正在生效,但 PowerShell 辅助程序无法显示 UI(例如以服务/无头会话运行)。检查 ~/.dsh/approval-popup.log;考虑设置 DSH_APPROVAL_TIMEOUT_ACTION=reject 或 DSH_APPROVAL_POPUP=0。
- 对话框文字乱码 —— .ps1 文件必须保持 带 BOM 的 UTF-8(否则 PowerShell 5.1 会按 ANSI 读取)。不要将它们重新保存为纯 UTF-8。
- 想要其他语言的对话框 —— UI 字符串位于 index.mjs(标题/正文)以及 approval-dialog.ps1 / turn-done.ps1(按钮标签)中。编辑后重新运行 install.ps1。
- 需要纯 toast 提示而非对话框 —— approval-toast.ps1 是一个使用 WScript.Shell.Popup 的独立辅助程序;可从任意脚本调用:powershell -File .\approval-toast.ps1 -Title "hi" -Text "hello"。

🔒 安全说明

- 该插件是一个受信任的本地辅助程序:对话框在超时后默认批准,这样长时间运行的代理在你离开时不会被阻塞。如果你倾向于失败即关闭,请设置 DSH_APPROVAL_TIMEOUT_ACTION=reject。
- Enter 热键是全局的(通过 RegisterHotKey 注册)——对话框打开期间,任何获得焦点的应用的 Enter 键都会批准。如果这让你感到意外,可用 DSH_APPROVAL_ENTER=0 禁用。
- 只从你信任的来源安装该插件:它可以决定 DSH 发出的每一个批准请求。

🧩 文件

| 文件 | 用途 |
| index.mjs | Cordis 插件入口:应答器 + 回合结束弹窗、配置、日志记录。 |
| approval-dialog.ps1 | 是/否对话框(WinForms),带全局 Enter 热键和超时。 |
| turn-done.ps1 | “任务已完成”通知对话框,自动关闭。 |
| approval-toast.ps1 | 独立 toast 辅助程序(WScript.Shell.Popup),可选。 |
| install.ps1 | 一键安装程序:复制文件 + 修补 cordis.patch.yml。 |

📄 许可证

MIT

dsh-approval-popup(中文说明)

✨ 功能

- 原生是/否弹窗:置顶、居中,「是(Y) / 否(N)」两个按钮。
- 全局回车快捷键:弹窗打开期间,在桌面任意位置按 Enter 即批准(可关闭)。
- 超时自动处理:N 秒无操作后自动「同意」(默认)/「拒绝」/「退回 Web 界面」(allow / reject / next)。
- 任务完成提醒:一轮任务完成时弹出非决策提醒窗,自动关闭;带防抖,多轮同时结束时不会叠窗。
- 优先应答:注册为 prepend answerer,先于 Web 界面处理批准请求。
- 审计日志:每次请求与结果追加写入 ~/.dsh/approval-popup.log。
- 零依赖:纯 ESM + 两个 PowerShell 脚本,无需 npm 安装与构建。

📋 环境要求

| 要求 | 说明 |
| 系统 | 仅 Windows(基于 PowerShell/WinForms 弹窗),其他平台自动跳过。 |
| PowerShell | 5.1+(Windows 自带)。 |
| DSH | 任意近期版本(dsh web 或桌面应用),已在 0.1.0-rc.5 验证。 |
| 配置档 | web profile(默认)。 |

🚀 安装

方式 A:一键安装(推荐)

克隆本仓库后,在仓库目录执行: powershell -ExecutionPolicy Bypass -File .\install.ps1

脚本会:

1. 把 index.mjs 和三个 .ps1 辅助脚本复制到 %USERPROFILE%\.dsh\plugins\approval-popup\。
2. 在 %USERPROFILE%\.dsh\profiles\web\cordis.patch.yml 中追加 insert 条目(幂等,重复执行不会产生重复条目)。
3. 输出后续步骤提示。

然后重启 dsh(退出并重新启动 dsh web / 桌面应用)即可生效。

方式 B:手动安装

1. 复制插件目录到 DSH 插件目录 Copy-Item -Recurse . "$env:USERPROFILE\.dsh\plugins\approval-popup"

2. 编辑 %USERPROFILE%\.dsh\profiles\web\cordis.patch.yml,添加:
- insert:
- id: approval-popup
name: 'file:///C:/Users//.dsh/plugins/approval-popup/index.mjs'

3. 重启 dsh web

⚙️ 配置项

均为环境变量,插件启动时读取一次(在启动 dsh 前设置):

| 变量 | 默认值 | 说明 |
| DSH_APPROVAL_POPUP | 1 | 设为 0 关闭整个插件。 |
| DSH_APPROVAL_ENTER | 1 | 设为 0 关闭全局回车快捷键。 |
| DSH_APPROVAL_TIMEOUT_MS | 15000 | 弹窗超时毫秒数;0 为一直等待。 |
| DSH_APPROVAL_TIMEOUT_ACTION | allow | 超时行为:allow(自动同意)/ reject(自动拒绝)/ next(退回 Web 界面)。 |
| DSH_TURN_DONE_POPUP | 1 | 设为 0 关闭任务完成弹窗。 |
| DSH_TURN_DONE_TIMEOUT_MS | 30000 | 任务完成弹窗自动关闭毫秒数。 |
| DSH_TURN_DONE_COOLDOWN_MS | 5000 | 两次提醒的最小间隔,防止多轮结束时叠窗。 |
| DSH_APPROVAL_POPUP_LOG | ~/.dsh/approval-popup.log | 调试日志路径(空字符串关闭日志)。 |

示例(更严格策略,默认拒绝):

$env:DSH_APPROVAL_TIMEOUT_MS = 20000
$env:DSH_APPROVAL_TIMEOUT_ACTION = "reject"

🗑 卸载

Remove-Item -Recurse -Force "$env:USERPROFILE\.dsh\plugins\approval-popup"
再从 %USERPROFILE%\.dsh\profiles\web\cordis.patch.yml 中删除 approval-popup 条目最后重启 dsh

🔍 常见问题

- 不弹窗但请求被自动批准 — 插件已生效,但 PowerShell 无法弹出 UI(如以服务/无桌面会话运行)。查看 ~/.dsh/approval-popup.log;可改用 DSH_APPROVAL_TIMEOUT_ACTION=reject 或 DSH_APPROVAL_POPUP=0。
- 弹窗文字乱码 — .ps1 文件必须保持 UTF-8 带 BOM(PowerShell 5.1 默认按 ANSI 读取),不要另存为无 BOM 的 UTF-8。
- 想换语言 — UI 文案在 index.mjs(标题/正文)和 approval-dialog.ps1 / turn-done.ps1(按钮文字)中,改完重新执行 install.ps1。
- 只需要普通 toast — approval-toast.ps1 是独立的 WScript.Shell.Popup 助手:powershell -File .\approval-toast.ps1 -Title "hi" -Text "hello"。

🔒 安全说明

- 这是受信任的本地助手:超时默认自动同意,避免你离开时长时间任务被卡住。希望默认拒绝请设置 DSH_APPROVAL_TIMEOUT_ACTION=reject。
- Enter 是全局热键(RegisterHotKey),弹窗打开期间任何应用的 Enter 都会批准。介意的话设置 DSH_APPROVAL_ENTER=0。
- 只从可信来源安装:它能决定 DSH 的每一个批准请求。

🧩 文件

| 文件 | 作用 |
| index.mjs | Cordis 插件入口:批准应答器 + 任务完成弹窗、配置、日志。 |
| approval-dialog.ps1 | 是/否弹窗(WinForms),支持全局回车与超时。 |
| turn-done.ps1 | 「任务完成」提醒窗,自动关闭。 |
| approval-toast.ps1 | 独立 toast 助手(WScript.Shell.Popup),可选。 |
| install.ps1 | 一键安装:复制文件 + 写入 cordis.patch.yml。 |

📄 许可证

MIT
预览分享卡片长什么样 ↓qingfengyu153781-star/dsh-approval-popup
分享 · DeepSeek Harness Hub
qingfengyu153781-star/dsh-approval-popup

在桌面弹窗批准或拒绝 DSH 的提权与命令请求

这是你的仓库?认领条目

回到顶部