Skip to content

4.4 权限与审批

本节目标

理解权限模式是什么、怎么切换,以及 agent 想做"出格"操作时,审批弹窗该怎么处理。

权限模式:给 agent 划边界

agent 在你电脑上干活,总要有个"能干什么、不能干什么"的边界。dsh 用权限模式来管这件事。

权限模式决定了两件事:

  • 沙箱限制命令文件系统效果的隔离机制,可设为只读、工作区写或完全访问。/ˈsændbɒks/:agent 的命令在什么范围内执行(只能动工作区,还是整个系统)
  • 审批agent 执行超权限操作前询问用户的机制,允许只放行这一次。/əˈpruːvl/:超出范围的操作,是询问你,还是直接拒绝

权限模式在哪切

底部输入区有一个访问模式按钮,显示当前模式,比如"访问模式,当前:Workspace Write"。点它弹出权限选择器:

权限模式选择器

常见的档位从低到高:

模式能干什么适合
Read Only只能读,不能改任何东西只问问题、看代码、查资料
Workspace Write能读写工作区内的文件、跑命令日常干活(推荐)
Full access整个系统都能碰需要全局操作的场景,慎用

切换即时生效。注意:权限模式切换只影响之后的操作,已经跑起来的任务保持它开始时的模式。

审批:超出边界的操作会问你

即使模式设好了,agent 也可能遇到"这一步超权限了"的情况。这时候 dsh 会停下来问你,界面上弹出一个审批卡片:

  1. 显示 agent 想执行的操作内容
  2. 你选择允许这一次拒绝

关键点:允许是一次性的。agent 每做一步超权限操作,都要单独问一次,批准只放行当前这一步,不会"一劳永逸"。这正是 dsh 安全性的核心:agent 永远不能绕过你自作主张。

审批时看什么

别只看"允许"两个字就点。先看审批卡片上写的具体操作:它想改哪个文件、跑什么命令、访问什么地址。看清了再决定。

审批策略:ask 还是 never

权限模式背后有两条审批策略:

  • ask:默认。每次超权限操作都问你
  • never:永不询问,直接拒绝。适合无人值守的自动化场景,宁可干不成也不冒险

日常使用保持 ask 就好。never 模式主要是给自动化、CI 这类场景用的,后面进阶篇会展开。

实践建议

  • 日常用 Workspace Write,既能干活又有边界
  • 只查不改时切 Read Only,最安心
  • Full access 只在明确需要时临时切,用完切回来
  • 审批弹窗认真看再点,这是最后一道闸

常见问题

问:agent 老是要审批,烦不烦?

在 Workspace Write 模式下,工作区内的常规读写和命令通常不需要审批。频繁弹审批往往意味着它想动工作区以外的东西,正好借机看看它想干什么。

问:点错拒绝,会不会弄坏什么?

不会。拒绝只是不让这一步执行,任务会按"这步没做成"继续处理,不会损坏文件。

问:审批卡片关掉了,还能找到吗?

agent 会保持等待状态,直到你给出决定。关掉卡片等于暂时不决定,任务会卡在等待上,重新打开会话就能看到待处理的问题。

小结

  • 权限模式 = 沙箱范围 + 审批策略,在底部输入区访问模式按钮切换
  • 常见档位:Read Only、Workspace Write、Full access,日常用 Workspace Write
  • 超权限操作会弹审批,允许是一次性的,每次都要看清楚了再点

边界划好了,下一节让 agent 干活更专注:设定目标。

发现错误?提交反馈 · 欢迎 提 PR 改进本书