跳到正文
MyDSH我的 DSH 实战笔记
English
独立维护,非DeepSeek官方;与mydsh.dev等其他MyDSH站点无关联。

首页/模型、权限与安全/权限与允许清单

插件在 package.json 里并没有权限声明字段——实测 223 个包

装插件前想看它要什么权限,结果翻遍 package.json 也没找到 permissions 字段。

已核验版本与环境核验日期2026-11-14
宿主版本
0.1.2-alpha.5
样本
profiles/node_modules下223个包
核验日期
2026-11-14

可复制指令

python -c "import json,glob,os;b=os.path.expanduser('~/.dsh/profiles/node_modules/@deepseek-ai');print(sorted({k for p in glob.glob(b+'/*/package.json') for k in (json.load(open(p,encoding='utf-8')).get('dsh') or {})}))"

先给结论,因为很多人在这里找错方向: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 之类的安装期脚本——这类脚本在安装时就执行,不受会话沙箱管。
  • 在自己的工作区副本里先试,别拿正在用的工作区试。

风险提示怎么写才不空

别写「请谨慎授予权限」这种话。写具体的:这个插件在安装期跑了脚本 / 它依赖了某个非官方的包 / 它会写入工作区外的路径(如果发现)。没有具体证据就写没有。

怎么算跑通

照着逐条对,全过才算完成。有一条没过,先解决它再往下。

  • 自己跑一遍上面的命令,确认只有三个键
  • 知道权限来自会话而不是插件声明
  • 装新插件前检查过install期脚本

会失败在哪

现象 / 原因 / 怎么办,按实际踩到的顺序写。

现象原因怎么办
按网上说的找permissions字段找不到这个版本没有这个字段改看dsh子树的bundle/client与dependencies
插件装上后行为超出预期权限是会话给的,插件共享了你的授权在副本工作区里试;必要时收紧沙箱与审批

来源

标「已核验」的,来自本站实跑;标「公开资料整理」的,逐条附出处。