Appearance
Elevated Mode(提权模式)
当代理运行在沙箱中时,它的 exec 命令只能在沙箱环境内执行。Elevated 模式允许代理"越狱",直接在 Gateway 宿主机上运行命令,并提供可配置的审批机制。
注意:Elevated 模式只在代理有沙箱时才有实质意义。对于未沙箱化的代理,exec 本来就运行在宿主机上。
指令
通过斜杠命令按会话控制 elevated 模式:
| 指令 | 作用 |
|---|---|
/elevated on | 在 Gateway 宿主机上运行,保留 exec 审批 |
/elevated ask | 同 on(别名) |
/elevated full | 在 Gateway 宿主机上运行,并跳过 exec 审批 |
/elevated off | 恢复沙箱内执行 |
也可以用简写 /elev on|off|ask|full。
发送不带参数的 /elevated 可查看当前级别。
工作原理
第一步:检查可用性
Elevated 需要在配置中启用,并且发送者必须在 allowlist 中:
json5
{
tools: {
elevated: {
enabled: true,
allowFrom: {
discord: ["user-id-123"],
whatsapp: ["+15555550123"],
},
},
},
}第二步:设置级别
发送仅含指令的消息来设置会话默认值:
/elevated full或内联使用(只对该条消息生效):
/elevated on run the deployment script第三步:命令在宿主机上运行
elevated 激活后,exec 调用会路由到 Gateway 宿主机,而非沙箱。full 模式跳过 exec 审批;on/ask 模式仍然应用已配置的审批规则。
解析顺序
- 内联指令(只对当前消息生效)
- 会话覆盖(通过发送仅含指令的消息设置)
- 全局默认值(配置中的
agents.defaults.elevatedDefault)
可用性与 allowlist
- 全局开关:
tools.elevated.enabled(必须为true) - 发送者 allowlist:
tools.elevated.allowFrom,按渠道配置列表 - 单代理开关:
agents.list[].tools.elevated.enabled(只能进一步收紧权限) - 单代理 allowlist:
agents.list[].tools.elevated.allowFrom(发送者必须同时满足全局和单代理两个 allowlist) - Discord 回退:如果省略
tools.elevated.allowFrom.discord,会使用channels.discord.allowFrom作为回退 - 所有开关必须全部通过,否则 elevated 视为不可用
Allowlist 条目格式:
| 前缀 | 匹配内容 |
|---|---|
| (无) | 发送者 ID、E.164 或 From 字段 |
name: | 发送者显示名 |
username: | 发送者用户名 |
tag: | 发送者标签 |
id:, from:, e164: | 明确的身份定向 |
Elevated 不控制的内容
- 工具策略:如果
exec已被工具策略拒绝,elevated 无法覆盖 - 与
/exec无关:/exec指令为授权发送者调整每会话的 exec 默认值,不需要 elevated 模式