DeepSHPlugins
dsh-permissions 專案預覽
GITHUB / COMMUNITY PROJECT

dsh-permissions

安全與運維JavaScriptMIT

Claude Code 風格許可權規則引擎:hard/deny/ask/allow 四級規則(hard 高於全訪問、不可豁免)、workspace 作用域、萬用字元路徑保護、視覺化草稿式編輯器,規則持久化於 settings.yaml。

1 Stars940842546 更新時間 2026-08-31
訪問 GitHub 倉庫
dsh-permissions 專案預覽
dsh-permissions 介面截圖dsh-permissions 介面截圖dsh-permissions 介面截圖

專案介紹

中文

Claude Code 風格許可權規則引擎:hard/deny/ask/allow 四級規則(hard 高於全訪問、不可豁免)、workspace 作用域、萬用字元路徑保護、視覺化草稿式編輯器,規則持久化於 settings.yaml。

English

Claude Code-style permission rules engine: hard/deny/ask/allow tiers with a hard tier above full access, workspace-scoped rules, wildcard path protection, and a visual staged editor; rules persist in settings.yaml.

專案資訊與收錄訊號

快照 2026-09-11
作者 / 組織
940842546
倉庫
940842546/dsh-permissions
GitHub Stars
1
Forks
0
開發語言
JavaScript
許可證
MIT
最近推送
2026-08-31
Manifest
資料中檢測到宣告

公開倉庫不自動等於可商用;許可證與當前相容性以原專案文件為準。Manifest 和資料評分不構成安裝安全認證。

資料評分

51/ 100
維護活躍
93
文件與實用資訊
74
生態關注度
9
安裝便捷訊號
80
專案宣告訊號
100

近 11 天仍在更新;關注度尚低(1)。

評分來自已有資料快照的五維模型,僅作瀏覽參考,不是實際使用評測或安全檢測結論。

安裝與使用

所有專案資料與許可均以對應 GitHub 倉庫為準。

dsh plugin --profile web add github:940842546/dsh-permissions

複製命令不會自動執行。請先閱讀倉庫文件,確認環境要求與許可證。

專案截圖

倉庫 README

GitHub 原文

已儲存的倉庫文件快照;文件抓取時間未記錄,可能與上方目錄介紹處於不同版本。安裝前請核對當前倉庫說明。

儲存庫檔案保留原文,指令與授權文字不作自動改寫。

dsh-permissions

中文 | English

Awesome DSH Plugin Awesome DSH Plugin

面向 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*) —— 路径包含 secret
  • write(.ssh) —— 路径任意位置出现 .ssh 片段(大小写不敏感,\// 统一归一化)
  • write(C:\users\*) —— 绝对路径前缀
  • 裸 write —— 该工具全部调用
  • 持久化:规则存于 dsh-permissions 设置命名空间,跨重启保留(<harness home>/settings.yaml)。
  • 模型透明:生效规则注入系统提示([active-permission-rules] 段)。
  • 可视化编辑器:草稿式(staged)编辑——所有修改点「保存并应用」后才生效,附一键预设(保护敏感目录 / 密钥文件 / 拦截危险命令)。

界面截图

顶部:作用域与规则构建器规则面板 / 试算器 / 决策日志草稿式保存
顶部概览规则面板草稿态

规则语法

规则含义
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 *))。

权限设置页

  • 引擎开关、三张一键预设卡、点选式规则构建器(动作 × 工具 × 匹配方式 × 参数 → 实时预览)、四个彩色规则面板。
  • 所有修改先进入草稿:点「保存并应用」前不影响 AI 行为;「放弃修改」恢复上次保存状态。

安全说明

  • 引擎只会收窄会话现有的沙箱/审批姿态: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 不能传未绑定方法引用等)。

License

MIT

使用前核對

安裝步驟、相容版本與授權範圍以原專案當前文件為準。Stars 和評分是快照中的導航訊號。

安裝與排錯 · 專案問題反饋

同類專案