dsh-plugin-approval-alert
doncelee229-cmyk
DeepSeek Harness 审批/选择方案系统级通知提醒,显示工作区名、点击跳转、多语言。Approval & decision alerts with native notifications for DeepSeek Harnes…
PROJECT TOPICS
PROJECT README
中文 | English
面向 DeepSeek Harness(dsh)的 Claude Code 风格权限规则引擎。双面 Cordis 插件:宿主侧在 tools/pre-execute 瀑布上做拦截判定,浏览器侧提供 设置 → 权限 可视化编辑器。
hard > deny > ask > allow。hard 高于全访问:即使会话处于全访问档(审批策略 never),hard 规则依然拦截、不可豁免;ask 规则跟随会话策略,全访问下自动放行。global 规则全局生效;按 workspace 的规则叠加合并(冲突时 deny 永远胜出)。read/write/edit/glob/grep/read_image):write(*.pem) —— 路径以 .pem 结尾write(*secret*) —— 路径包含 secretwrite(.ssh) —— 路径任意位置出现 .ssh 片段(大小写不敏感,\// 统一归一化)write(C:\users\*) —— 绝对路径前缀write —— 该工具全部调用dsh-permissions 设置命名空间,跨重启保留(<harness home>/settings.yaml)。[active-permission-rules] 段)。| 规则 | 含义 |
|---|---|
pwsh |
该工具的全部调用 |
pwsh(npm run) |
首参以 npm run 开头 |
write(*.pem) |
文件路径以 .pem 结尾 |
write(*secret*) |
文件路径包含 secret |
write(.ssh) |
路径任意位置出现 .ssh 片段 |
pwsh(*) |
全部调用(显式写法) |
非文件工具按首参原文做前缀匹配;grep 额外匹配其 path 参数。
方式 A —— 官方安装器(推荐):
dsh plugin add dsh-permissions
方式 B —— 手工补丁行: 把本仓库 cordis.patch.yml 中的 insert 列表追加到你的 profile 补丁(~/.dsh/cordis.patch.yml 或 ~/.dsh/profiles/<profile>/cordis.patch.yml),并确保包已安装到 profile 可解析的位置(~/.dsh/node_modules/dsh-permissions):
- insert:
- id: permissions
name: dsh-permissions
然后重启应用。设置 → 权限 页自动出现;引擎自带安全默认值(16 条 hard 规则保护 .ssh / .aws / .gnupg / AppData / *.pem / *.key / *.env / *.htpasswd,以及 deny: pwsh(rm -rf *))。
allow 只跳过本插件的询问,绝不绕过 DSH 沙箱或 tools.guard 守卫。Error: 权限规则拒绝…;hard 为 硬规则拒绝(高于 full access,不可豁免)…),模型可见完整规则原文,可据此改道。GET/POST /api/dperm/rules)是命名空间所有者自建的端点——DSH api-proxy 的 settings 白名单刻意不暴露第三方命名空间。见 PUBLISH.md:发布清单与本插件踩过的坑(客户端包 exports 必须含 ./package.json;bundle 模块 id 必须等于包名;useSyncExternalStore 不能传未绑定方法引用等)。
MIT
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。