4.4 权限与审批
本节目标
理解权限模式是什么、怎么切换,以及 agent 想做"出格"操作时,审批弹窗该怎么处理。
权限模式:给 agent 划边界
agent 在你电脑上干活,总要有个"能干什么、不能干什么"的边界。dsh 用权限模式来管这件事。
权限模式决定了两件事:
- 沙箱限制命令文件系统效果的隔离机制,可设为只读、工作区写或完全访问。:agent 的命令在什么范围内执行(只能动工作区,还是整个系统)
- 审批agent 执行超权限操作前询问用户的机制,允许只放行这一次。:超出范围的操作,是询问你,还是直接拒绝
权限模式在哪切
底部输入区有一个访问模式按钮,显示当前模式,比如"访问模式,当前:Workspace Write"。点它弹出权限选择器:

常见的档位从低到高:
| 模式 | 能干什么 | 适合 |
|---|---|---|
| Read Only | 只能读,不能改任何东西 | 只问问题、看代码、查资料 |
| Workspace Write | 能读写工作区内的文件、跑命令 | 日常干活(推荐) |
| Full access | 整个系统都能碰 | 需要全局操作的场景,慎用 |
切换即时生效。注意:权限模式切换只影响之后的操作,已经跑起来的任务保持它开始时的模式。
审批:超出边界的操作会问你
即使模式设好了,agent 也可能遇到"这一步超权限了"的情况。这时候 dsh 会停下来问你,界面上弹出一个审批卡片:
- 显示 agent 想执行的操作内容
- 你选择允许这一次或拒绝
关键点:允许是一次性的。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 干活更专注:设定目标。