先给结论,因为很多人在这里找错方向:0.1.2-alpha.5的插件包里没有权限声明字段。
实测:把 ~/.dsh/profiles/node_modules 下223个 @deepseek-ai/* 包的package.json全读一遍,dsh 子树出现过的键只有三个:
| dsh子树的键 | 作用 | 是不是权限声明 |
|---|---|---|
| bundle | 声明这是一个可装载的bundle | 不是 |
| client | 声明客户端侧入口 | 不是 |
| configTrees | 声明配置树 | 不是 |
用正则搜 permissions / allow / allowedTools / sandbox / capabilities,命中数 0。
那权限靠什么管
靠会话级的两个旋钮:沙箱模式(管文件效果)与审批策略(管是否放行),见前两页。也就是说权限不是插件自己声明的,是你在会话里给的。
这个差别很重要:如果权限由插件声明,你能在装之前读清单评估风险;如果权限由会话给,那所有插件共享你给的同一份权限。后者意味着「装了一个不可信的插件」的风险,等于「让它和你的其他插件拥有同样的能力」。
装插件前实际能做的检查
- 看
dsh子树声明了哪些bundle / client入口——这决定它挂进哪一层。 - 看它依赖了什么(
dependencies),陌生依赖比陌生插件本身更值得警惕。 - 看有没有
postinstall之类的安装期脚本——这类脚本在安装时就执行,不受会话沙箱管。 - 在自己的工作区副本里先试,别拿正在用的工作区试。
风险提示怎么写才不空
别写「请谨慎授予权限」这种话。写具体的:这个插件在安装期跑了脚本 / 它依赖了某个非官方的包 / 它会写入工作区外的路径(如果发现)。没有具体证据就写没有。