Tool 授权与命令安全
Ghast 的安全控制不是一个总开关。输入区的命令授权、Tool 选择、运行中的 Tool 审批,以及操作系统或外部服务权限分别控制不同层级。

两种命令授权
发送任务前,打开输入区 添加(+) 旁的盾牌形 命令授权 控件,选择 询问 或 完全访问,再打开菜单确认当前选中项。检查的是当前对话,不要假定其他对话的选择会自动继承。
| 选项 | 界面说明 | 适合场景 |
|---|---|---|
| 询问 | 执行高风险 Shell 命令前先询问 | 首次使用、陌生项目、敏感任务 |
| 完全访问 | 当前会话内直接放行 Shell 命令、文件读取与文件写入;Shell 不受沙箱限制 | 已确认路径和影响范围、并能持续监督的任务 |
“询问”只针对被判定需要确认的 Shell 命令,并不意味着每一条命令都会弹窗。新对话当前默认使用“完全访问”;从“询问”对话创建的普通 Chat 或 Coding 分支也不会复制该授权,会恢复为“完全访问”。在已有消息后切换工作区时,普通 Chat 使用新会话默认值,而 Coding 新会话会继承当前“询问”或“完全访问”。开始、分支或切换敏感任务时都应主动复核。“完全访问”不会自动授予操作系统的文件夹、麦克风、屏幕录制权限,也不会连接第三方账户或提供 MCP 凭据;但在 Ghast 当前可访问的范围内,它会直接放行 Shell 与文件读写。
处理 Tool 权限请求
Tool 需要额外授权时,对话中会显示 需要工具权限。展开 详情,核对 Tool、目标、工作区与有效时间,然后选择:
完整卡片最多预览两个目标,目标更多时会显示提示。不要把这两项当作整个操作范围。阅读请求详情;仍不能确认完整范围时,拒绝请求并让 Ghast 缩小操作范围。
| 操作 | 结果 |
|---|---|
| 仅本次允许 | 只批准当前请求 |
| 始终允许 | 为界面所示的匹配范围建立持续允许规则;不等于把整个对话改成“完全访问” |
| 拒绝 | 不运行当前请求,模型可以继续处理拒绝结果 |
| 附原因拒绝 | 写明原因后拒绝,帮助 Ghast 调整下一步 |
| 中止本轮 | 结束当前整轮运行,而不只是拒绝一个 Tool |
权限请求有有效期;过期后显示 授权已过期 · 尚未获准。同时存在多个请求时,侧栏和对话会显示待处理数量,应逐项检查。
完整卡片的 附原因拒绝 和 中止本轮 位于 详情 内,不在主要按钮行。紧凑卡片的操作更少,可以展开标题阅读请求后再决定。不同工具的按钮文案可能有所不同。
需要调整任务时,拒绝原因应具体,例如“不要修改这个文件,先展示建议的 diff”。拒绝一个请求后,模型仍可继续,应检查它的下一步;希望结束当前运行时,选择 中止本轮。两种操作都不会撤销已经完成的工具动作。
四个不同边界
1. 提示词
在请求中写清楚允许和禁止的动作,例如:
只读取当前工作区。
不要修改文件,不要运行命令,不要联网。
先报告发现,等我确认后再执行任何变更。
这是任务指令,但不是硬开关。
2. Tool、MCP 与 Plugin 选择
当前输入区没有逐项工具选择器。已连接服务和启用的插件可以提供能力,加载 Skill 也可能补入其所需工具。请求中指定某个 Tool 或 Skill 不等于排他的白名单。应通过受控工作区、操作系统权限和范围尽量小的服务凭据限制访问,并检查命令授权及每次批准请求。这些会话控件都不保证离线处理。
3. 命令模式与 Tool 审批
它们决定具体动作是否需要你的确认,以及拒绝后是否继续本轮。
4. 系统与外部权限
文件夹授权、麦克风、辅助功能、屏幕录制、第三方账户权限和 MCP 凭据仍由各自系统控制。命令授权不会代替这些权限。
审批前检查
- Tool 名称与任务是否一致。
- 目标路径、网址、应用或外部对象是否正确。
- 动作是读取、写入、删除、发送还是执行。
- “始终允许”的范围是否比这一次请求更大。
- 拒绝一个请求后,是继续本轮还是直接中止更合适。
运行后检查
错误、拒绝和停止都不证明之前的动作没有发生。再次运行前先检查文件、进程和外部对象,避免重复执行。
Computer Use、MCP 和 Channel 有各自的权限与数据边界,分别参阅Computer Use、MCP 安全和渠道。