权限与安全
按任务选择权限模式,审阅需要确认的操作,并了解会话检查点与分层权限规则能够保留什么。
为任务选择合适权限
会话输入区提供权限选择。先按任务需要确定范围,再开始执行;通用设置中的默认值用于未来的新会话。
权限决定的是 Agent 在没有你确认的情况下可以做到哪一步。范围越大,效率越高,但需要你事先判断任务和它的影响。
- 先想清楚这次任务会不会写文件、装依赖或影响外部系统。
- 在会话顶部的模式选择器里切换到对应档位。
- 把本次任务的要求、边界和完成标准写进第一条消息。
- 探索(Explore):只读探索,适合阅读、分析和执行前的检查。
- 编辑前确认(Ask to Edit):改动前先问一句,适合日常受控的项目工作。
- 受保护(Guarded):自动执行,被判定为高风险的操作先问。
- 执行(Execute):完全自主执行,不再逐项询问。
权限模式一览
工作台提供四档权限模式。在会话顶部的模式选择器里切换,当前档位始终可见。
档位按严格程度排列:探索最严,执行最宽松。受保护一档需要语义判断层已接入并启用,否则不会出现。
| 模式 | 说明 | 适用场景 |
|---|---|---|
| 探索 Explore | 只读探索,不做任何改动 | 调研、排查、执行前检查 |
| 编辑前确认 Ask to Edit | 改动前逐次确认,默认档位 | 日常受控的项目工作 |
| 受保护 Guarded | 自动执行,高风险操作先确认 | 需要放权,又想保留一道检查 |
| 执行 Execute | 自主执行,不再逐项询问 | 可重复、可预期的可信流程 |
探索模式允许与阻止什么
探索是专门用于调研和排查的安全档位:Agent 可以收集和理解信息,但不会产生任何改动。
- 先在探索模式下让 Agent 说明现状、定位相关文件。
- 确认理解无误后,再切换到编辑前确认执行改动。
- 需要恢复上下文时,重开会话并保留结论摘要。
| 类别 | 允许的操作 | 会被阻止的操作 |
|---|---|---|
| 文件 | 读取文件内容、按文件名查找、搜索文件内容 | 创建、覆盖或修改任何文件 |
| 命令 | 列目录、查看文件、搜索,以及只读的状态与历史查询 | 会产生改动的命令,例如删除、移动、创建目录或写入 |
| 来源与接口 | 列表、查询、搜索这类只读工具,以及只读请求 | 创建、修改、删除类操作与写入型请求 |
| 网络 | 检索并抓取公开内容 | 向外部服务写入数据 |
| 规划 | 产出实施方案,交给你确认后再执行 | 未经确认就开始实施 |
编辑前确认模式
编辑前确认是默认档位,采用三层处理:明显安全的命令自动放行,普通命令弹一次确认,危险命令必须逐次确认。
确认时可以选择本次会话内始终允许。记住的是这条命令的精确形态,而不是一个大致的类别。
- 自动放行:与探索模式相同的只读命令。
- 需要确认:会改动文件或环境的普通命令,可以选择本次会话内始终允许。
- 必须逐次确认:删除文件、提升权限、修改权限、磁盘操作、结束进程、系统重启与关机、下载内容、远程传输、推送到远端仓库、重置或改写历史、丢弃本地改动。
执行模式
执行档让 Agent 自主完成整段工作,操作直接执行、不再逐项询问,适合流程固定、结果可预期的任务。
选择这一档之前,请确认任务范围、涉及的环境和可能产生的外部影响都在你的预期之内。
- 先用一句话说明边界,例如“只处理 src 目录,不要改动依赖清单”。
- 切换到执行档后,先跑一个范围很小的步骤验证行为。
- 在结果里核对实际改动,再决定是否继续下一步。
受保护模式
受保护模式需要你先启用可选的语义判断层,它才会出现在模式选择器里。启用后,它的行为接近执行档,但有风险的操作仍会先转成一次普通确认。
语义判断层会判断这次调用是否难以撤销、是否越出项目范围、是否影响到其他人或外部服务。
- 它只增加确认,不会减少确认;只读调用不会被送去判断。
- 被标记为有风险的调用会弹出普通确认,并且不提供“始终允许”。
- 这是尽力而为的检查,不是保证:判断层漏判时,调用会按执行档的方式执行。
- 判断层没有及时给出结论时,调用会先询问,而不是默认放行。
- 语义判断层未启用时,受保护档会话的行为与编辑前确认一致,不会静默变成执行档。
按来源与工作区分层规则
除了模式本身,还可以按层级配置更细的权限规则。规则按“工作区 → 来源 → Agent”叠加:更具体的层级只能放宽,不能收紧上层的限制。
- 来源层写下的模式会被自动限定在该来源上,不会误伤其他来源的同名工具。
- 只读动词(如列出、查询、搜索)默认放行;工具名里出现写入动词时不会被当成只读。
- 写入路径规则可让指定目录内的写入不再弹出确认,便于让自动任务在受控范围内运行。
- 命令行提供了对应的增删与校验命令,便于逐步调整而不是手改整份文件。
| 层级 | 配置文件位置 | 作用范围 |
|---|---|---|
| 应用默认 | ~/.zero-works/permissions/default.json | 所有工作区共享的默认只读规则 |
| 工作区 | ~/.zero-works/workspaces/{slug}/permissions.json | 该工作区内的全部会话 |
| 来源 | ~/.zero-works/workspaces/{slug}/sources/{slug}/permissions.json | 只作用于该来源自己的工具 |
{ "allowedMcpPatterns": [ { "pattern": "list", "comment": "允许列出条目" } ], "allowedBashPatterns": [ { "pattern": "^npm run build\\b", "comment": "允许执行构建" } ], "allowedWritePaths": ["tmp/**"] }看清操作再批准
需要确认的操作会带着目标和影响范围出现。批准之前先确认它属于本次任务,并且你能解释它会带来什么结果。
- 出现确认请求时,阅读操作目标、影响范围和需要的权限。
- 只批准与你的任务一致、且能够理解的操作。
- 有疑问时拒绝本次请求,让 Agent 解释或缩小范围后再提交。
请先列出将修改的文件和操作目的。涉及删除、安装或向外部服务写入时,先说明影响,等我确认。
理解会话检查点
工作台在关键执行节点保存会话进度,帮助后续读取已有请求、工具调用和结果。
检查点记录会话进度,不是项目文件的版本快照。需要恢复代码或文件时,请使用版本管理或已有备份。
- 重要修改前,先为项目文件建立可恢复的版本或备份。
- 中断后重新打开会话,查看已记录的执行结果与当前文件状态。
- 确认哪些操作已经发生,再决定继续或重试,避免重复提交外部操作。
管理账号与访问凭据
- 工作台在本机运行,进入后先确认自己连接的是哪个运行环境。
- 把模型或连接器凭据填入专用配置表单,不放进聊天正文或技能文件。
- 分享截图与错误信息前,检查是否包含密钥、私人内容或不必要的账号信息。
- 凭据失效或权限发生变化后,更新对应配置并重新检查连接状态。
安全最佳实践
- 先读后写:研究陌生代码时从探索模式开始,理解清楚再动手。
- 日常默认用编辑前确认:它在效率和控制之间保持平衡。
- 执行档只留给熟悉、可重复的任务,并在提示里写清边界。
- 把常用构建、测试命令登记进权限规则,让它们在只读模式下也能顺畅执行。
- 批准之前先读一遍要改什么,尤其是第一次遇到的操作。
- 给子代理设上限:子会话不会被允许比它的父会话更宽松。
- 重要结论写进项目文档:上下文会被压缩,文档不会。