内置工具
提升权限模式
当智能体在沙箱内运行时,它的 exec 命令会被限制在沙箱环境中。提升模式允许智能体改为跳出沙箱,在沙箱外运行命令,并带有可配置的审批门禁。
指令
使用斜杠命令按会话控制提升模式:
| 指令 | 作用 |
|---|---|
/elevated on |
在配置的主机路径上于沙箱外运行,保留审批 |
/elevated ask |
与 on 相同(别名) |
/elevated full |
在配置的主机路径上于沙箱外运行,并跳过审批 |
/elevated off |
返回到受沙箱限制的执行 |
也可以使用 /elev on|off|ask|full。
发送不带参数的 /elevated 可查看当前级别。
工作原理
检查可用性
必须在配置中启用提升模式,并且发送者必须在允许列表中:
{
tools: {
elevated: {
enabled: true,
allowFrom: {
discord: ["user-id-123"],
whatsapp: ["+15555550123"],
},
},
},
}
设置级别
发送仅包含指令的消息来设置会话默认值:
/elevated full
或者内联使用它(仅应用于该消息):
/elevated on run the deployment script
命令在沙箱外运行
启用提升模式后,exec 调用会离开沙箱。有效主机默认为 gateway,或者当配置的/会话的 exec 目标为 node 时为 node。在 full 模式下,会跳过 exec 审批。在 on/ask 模式下,配置的审批规则仍然适用。
解析顺序
- 消息上的内联指令(仅应用于该消息)
- 会话覆盖(通过发送仅包含指令的消息设置)
- 全局默认值(配置中的
agents.defaults.elevatedDefault)
可用性和允许列表
- 全局门禁:
tools.elevated.enabled(必须为true) - 发送者允许列表:
tools.elevated.allowFrom,按渠道列出 - 每智能体门禁:
agents.list[].tools.elevated.enabled(只能进一步限制) - 每智能体允许列表:
agents.list[].tools.elevated.allowFrom(发送者必须同时匹配全局 + 每智能体) - Discord 回退:如果省略
tools.elevated.allowFrom.discord,则使用channels.discord.allowFrom作为回退 - 所有门禁都必须通过;否则提升模式会被视为不可用
允许列表条目格式:
| 前缀 | 匹配项 |
|---|---|
| (无) | 发送者 ID、E.164 或 From 字段 |
name: |
发送者显示名称 |
username: |
发送者用户名 |
tag: |
发送者标签 |
id:, from:, e164: |
显式身份定位 |
提升模式不控制什么
- 工具策略:如果工具策略拒绝
exec,提升模式无法覆盖它。 - 主机选择策略:提升模式不会把
auto变成不受限制的跨主机覆盖。它使用配置的/会话的 exec 目标规则,只有当目标已经是node时才选择node。 - 独立于
/exec:/exec指令会为授权发送者调整每会话 exec 默认值,并且不需要提升模式。