Skip to content

Releases

v0.3.0 · 覆盖 macOS 管理员密码弹窗

Choose a tag to compare

@kongbaiming5 kongbaiming5 released this 22 Oct 15:46

v0.3.0 · 覆盖 macOS 管理员密码弹窗

新增第四类触发来源:SecurityAgent 的提权密码表单(「想要进行更改」)。

之前只监听 TCC(com.apple.TCC / AUTHREQ_PROMPTING),而 sudo、sfltool、
安装器请求 system.privilege.admin 时弹出的是 Authorization Services 的密码框,
走 com.apple.Authorization 子系统,没有任何 AUTHREQ_* 行,所以插件完全不会响。

新增

  • lib/tcc.js:抽出共用的 log stream 底座,新增 createPrivilegeWatcher、
    parsePrivilegeLine、PRIVILEGE_PREDICATE。
    • Using modern UI / SC confirmation dialog detected → 密码框出现。
    • ExecuteWithPrivileges 的完成记录(带 successfulMechanism)→ 密码框关闭。
  • lib/index.js:两条链路共用一个系统弹窗注册表与提醒引擎;同一对话框同时命中
    TCC 与提权两条线时只响一次(2 秒去重窗口),但仍各自跟踪结束信号。
  • 新配置:watchPrivilegePrompts(默认开)、privilegePromptTimeoutMs(默认
    180000,点取消/通过后立即停止,仅作兜底)。
  • 配置表单、cordis.patch.yml、locale 描述同步更新。
  • 测试:新增提权解析、流式监听、以及用假 log 脚本跑通「出现→响→完成→停」的
    端到端用例,共 25 个。

说明

  • 只读日志,不读密码、不注入进程、不需要任何隐私授权。
  • 提权弹窗无法归属到某个 App,所以不按 bundle identity 过滤;不想要就在表单里
    单独关掉「macOS 管理员密码弹窗」。

v0.2.2 · 修复 web profile 启动,补齐插件市场徽章

Choose a tag to compare

@kongbaiming5 kongbaiming5 released this 22 Oct 14:50

v0.2.2 · 修复 web profile 启动,补齐插件市场徽章

本版修复了 dsh.so 安装验证中暴露的 L5 Web 冒烟失败,并补上 dsh.so 作者徽章。

修复

  • 移除 dsh.client.inject 对 @deepseek-ai/dsh-client-ui-plugin-manager 的硬依赖。
    该包不在最小 web profile 中,之前的声明会让 dsh plugin --profile web add ...
    的 Web 启动在「插件目录树加载」阶段失败。
  • 客户端配置表单仍然注册在 plugins.row.config;在带插件管理器的 desktop profile 中正常显示,
    在最小 web profile 中只是不显示配置入口,不影响启动。
  • 新增一条 CI 用例,防止 dsh.client.inject 再次引入不在 web profile 的 UI 包。

插件市场

  • dsh.so 插件市场:已收录;本版 README 加入官方作者徽章:
    [![dsh.so risk](https://www.dsh.so/badge/dsh-approval-alert.svg)](https://www.dsh.so/artifact/dsh-approval-alert/)
  • DSH 社区插件目录:已向 awesome-dsh-plugin 提交 PR,分类 notify;
    本版 tarball 作为市场预构建附件。
  • dsh.so 会重新扫描 v0.2.2;L5 Web 冒烟应在该版本通过。

功能回顾

  • 标准 DSH bundle:侧边栏 插件 → 已安装插件 显示「授权提醒」卡片、开关和中文配置表单。
  • 覆盖 DSH 工具审批、Agent 提问/计划审阅、macOS TCC 权限弹窗(log stream + AUTHREQ_PROMPTING)。
  • 提醒节奏:第一次立即响,之后 25 / 20 / 15 / 10 秒,第六次起每 5 秒一次。
  • 声音用 afplay,跟随系统输出音量;默认 Glass 双响。

安装

git clone https://github.com/kongbaiming5/dsh-approval-alert.git
cd dsh-approval-alert
./scripts/install.sh desktop

或从 GitHub 直接安装:

dsh plugin --profile desktop add github:kongbaiming5/dsh-approval-alert

Tarball 校验

dsh-approval-alert-0.2.2.tgz
SHA-256: db3ce45bf41f3c079c16a022c5d9a593253ad377557a17ae2051f9d9c7584dbf

验证

  • npm test:19 个用例通过。
  • 本机已验证 Host watcher(log stream)运行、声音正常。

v0.2.1 · 插件市场上架

Choose a tag to compare

@kongbaiming5 kongbaiming5 released this 22 Oct 14:33

v0.2.1 · 插件市场上架

本版把 dsh-approval-alert 提交到 DSH 社区插件市场目录(awesome-dsh-plugin),并提供 GitHub Release 预构建 tarball,市场安装时可跳过源码构建。

新增

  • 插件市场收录:向 awesome-dsh-plugin 提交条目,分类 notify;合并后可在 DSH 插件市场搜索「授权提醒」或 dsh-approval-alert。
  • 预构建 tarball:dsh-approval-alert-0.2.1.tgz 作为 GitHub Release 附件,供市场优先安装。
  • README 市场安装说明:支持 dsh plugin --profile desktop add github:kongbaiming5/dsh-approval-alert。

v0.2.0 功能回顾

  • 标准 DSH bundle:侧边栏 插件 → 已安装插件 显示「授权提醒」卡片、开关和中文配置表单。
  • 覆盖 DSH 工具审批、Agent 提问/计划审阅、macOS TCC 权限弹窗(log stream + AUTHREQ_PROMPTING)。
  • 提醒节奏:第一次立即响,之后 25 / 20 / 15 / 10 秒,第六次起每 5 秒一次。
  • 声音用 afplay,跟随系统输出音量;默认 Glass 双响。
  • 配置表单保存后立即生效(volatile Config)。

安装

git clone https://github.com/kongbaiming5/dsh-approval-alert.git
cd dsh-approval-alert
./scripts/install.sh desktop

或从 GitHub 直接安装:

dsh plugin --profile desktop add github:kongbaiming5/dsh-approval-alert

Tarball 校验

dsh-approval-alert-0.2.1.tgz
SHA-256: 05734382a64b9881b82b8406312e568276edf9ed947e96572dc209633c48f5ea

验证

  • npm test:18 个用例通过。
  • 本机已验证 Host watcher(log stream)运行、声音正常。

v0.2.0 · 插件页开关与中文配置表单

Choose a tag to compare

@kongbaiming5 kongbaiming5 released this 17 Oct 16:32

v0.2.0 · 插件页开关与中文配置表单

dsh-approval-alert 现在是一个标准 DSH bundle,会出现在侧边栏 插件 → 已安装插件,带开关和中文配置表单。

新增

  • 插件页可见:卡片名称「授权提醒」,带图标和中文描述。
  • 开关:卡片开关控制整个 bundle;approval-alert 行也有独立开关。
  • 中文配置表单:提示音、音量、每次响几声、DSH 审批、Agent 提问、macOS 权限弹窗、系统弹窗安全上限、通知、通知语言、诊断日志;保存后立即生效。
  • 显示元数据:locale/zh.json、locale/en.json 和原创 icon.svg。
  • 配置热更新:所有 Config 字段改为 volatile,表单保存不需要重启插件。
  • 测试:新增浏览器配置页注册测试,共 18 个用例通过。

保留

  • 第一次提醒立即响,之后 25 / 20 / 15 / 10 秒,第六次起每 5 秒一次。
  • 覆盖 DSH 工具审批、Agent 提问/计划审阅,以及 DSH 触发的 macOS TCC 权限弹窗。
  • 声音用 afplay,跟随系统输出音量;默认 Glass 双响。
  • macOS 权限弹窗通过 log stream + AUTHREQ_PROMPTING / AUTHREQ_RESULT 检测,不需要 Accessibility 权限。

升级注意

  • 以前用手动 insert 条目安装的用户,请删除 cordis.patch.yml 里的旧条目;bundle 会提供同名行,保留旧条目会重复挂载。
  • 安装/启用 bundle 后,建议重启一次 DeepSeek Harness,让 dsh.profile.bundles 的变更生效。
  • 安装脚本 scripts/install.sh 会自动把包加入 dsh.profile.bundles,并提示清理旧条目。

安装

git clone https://github.com/kongbaiming5/dsh-approval-alert.git
cd dsh-approval-alert
./scripts/install.sh desktop

然后打开侧边栏 插件,在「已安装插件」里找到「授权提醒」。

验证

  • 在配置表单里打开「启用授权提醒」并保存。
  • 触发 DSH 审批或 macOS 权限弹窗:第一声应立即响。
  • 麦克风弹窗复测:
tccutil reset Microphone com.deepseek.dsh
ffmpeg -f avfoundation -i ":0" -t 0.5 -y /tmp/dsh-mic-test.wav
  • 测试:npm test(18 个用例)。

v0.1.0 · Initial release

Choose a tag to compare

@kongbaiming5 kongbaiming5 released this 17 Oct 15:54

v0.1.0

First public release of dsh-approval-alert — a macOS approval chime for DeepSeek Harness.

Highlights

  • DSH tool approvals (approval/request): sandbox escalation, destructive commands,
    writes outside the workspace.
  • DSH agent questions and plan review (user-questions/request).
  • macOS TCC permission prompts triggered by DeepSeek Harness: microphone, camera,
    screen recording, accessibility, automation, files and folders, Full Disk Access.
    Detected through the unified log (log stream + AUTHREQ_PROMPTING), so no
    Accessibility or Automation grant is required
    .
  • Reminder cadence: first chime immediately, then 25s, 20s, 15s, 10s, and every 5s
    after that, until the request is answered.
  • Plays a real macOS system sound with afplay, at the current output volume
    (default: Glass, double chime).
  • Best-effort system notification (Electron native when available, osascript otherwise).
  • Configurable via the profile patch: sound, volume, burst, per-source toggles,
    notification, locale, and a local trace file.
  • No network access, no credentials, no third-party runtime dependencies.

Install

git clone https://github.com/kongbaiming5/dsh-approval-alert.git
cd dsh-approval-alert
./scripts/install.sh desktop

The script adds the local package to the DSH profile and appends the loader entry if it
is missing. A running DSH desktop app hot-reloads cordis.patch.yml; otherwise restart
the app.

Verify

Set startupChime: true in the profile entry (or run the microphone test in the README)
to confirm the audio path.

Notes

  • Tested with DeepSeek Harness 0.2.1-rc.2 on macOS (Apple Silicon).
  • macOS logs can change between releases; if TCC prompt detection stops working, check
    AUTHREQ_PROMPTING / AUTHREQ_RESULT in log stream and open an issue.
  • Notifications may appear as “Script Editor” because the current Host does not expose
    Electron's Notification API; set notify: false if you do not want them.

Full changelog: initial release.