原生审批弹窗 qingfengyu153781-star/dsh-approval-popup
DeepSeek Harness在桌面弹窗批准或拒绝 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
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 80 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
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
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
qingfengyu153781-star/dsh-approval-popup
在桌面弹窗批准或拒绝 DSH 的提权与命令请求
相关插件 · 营销 / 广告
复古广告弹窗Nagi-ovo/dsh-ads
把 DSH 变成 2005 年门户网站|Parody ads, fake games, and popups for…
★ 679已汉化DSH
67.4
精酿竖版宣传片Finderchangchang/brewreel
精酿 BrewReel:让 DeepSeek 这类便宜模型也能做出好看的竖版宣传片。写一份产品简报,AI…
★ 166已汉化DSH
62.6
工作区分组树KannaKuron/dsh-better-workspace
给 DeepSeek Harness DSH 的侧边栏「工作区」列表装上一套两层文件夹系统——磁盘层按目录路径嵌套官方…
★ 31已汉化DSH
48.1
跨窗提醒Aisland-SJL/dsh-reminder
🔔 DeepSeek Harness 跨窗口完成与审批通知——弹窗提醒把你拉回 DSH,Codex/WorkBuddy 风格。
★ 18已汉化DSH
40.4
推理档位自动选择justhalfbit/dsh-plugin-jev-effort-selector
让 Jev System One 模型替你决定每条消息该用多深的推理。
★ 7已汉化DeepSeek 客户端
37.1
模型价格看板vitas/dsh-model-pricing
在选择模型之前比较 LLM API 价格——并在使用之后查看你实际支付了多少。 这是一个
★ 2已汉化DeepSeek 客户端
36.5
这是你的仓库?认领条目