Repository navigation
dsh-bash-guard:给 Agent 画红线的权限插件(4 范围 × 3 权限位,12 个开关) #10304
lloydzhou
started this conversation in
Show Your Plugins!
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
大家好,分享一个我做了一段时间的插件:dsh-bash-guard。

动机
DSH 原生权限预设是"只读 / 工作区内修改 / 完全权限"三档。真实工作里我常想要更细的粒度:比如允许读系统目录、但禁止写;网络只许读不许推;工作区全开。这类策略三档预设表达不了,
完全权限又等于裸奔。于是写了这个插件:借鉴 Linux 文件权限的表达方式,把工具操作策略拆成 4 个范围 × 3 种权限位:
12 个独立开关,支持全部 4096 种组合,直接以内联矩阵的形式展开在 DSH 原生权限菜单里——不新增入口、不破坏原生菜单,点一格切一个位,点范围名整行全选/清空。
核心特性
tools/execute,与原生权限选项同菜单展示;激活时走原生 Full access 基线(与官方 auto-review 插件同思路:拿掉重叠的沙箱限制,换成自己的审查层)bash命令与文件工具的目标路径,累计所需权限位,与配置比较——免费、瞬时、可解释(拒绝时给出required=2067 allowed=4667)required权限数字后走同一位比较——本地分类器搞不定的 shell 语法(如result=$?; exit $result被保守高估)由 Jev 给出更准确的需求位。失败/超时/敏感输入自动回退本地规则session.header.parentSession沿父链继承最近的激活配置(只读生效),主会话画的红线子代理同样受约束7777时不做任何审查,不调用 Jev安装
dsh plugin --profile desktop add dsh-bash-guard # 或指定版本 dsh plugin --profile desktop add dsh-bash-guard@0.2.1-rc.2Web profile 同理(
--profile web)。版本号跟随 DSH 运行时的 rc 体系,当前0.2.1-rc.2对应dsh 0.2.1-rc.2。一点设计说明
source=xxx; required=<需求位> allowed=<当前模式>,缺哪个位一目了然链接
欢迎试用、提 issue,或者聊聊你希望的权限粒度——尤其是哪些工具值得纳入接管范围。
All reactions