Skip to content

Elevated Mode(提权模式)

当代理运行在沙箱中时,它的 exec 命令只能在沙箱环境内执行。Elevated 模式允许代理"越狱",直接在 Gateway 宿主机上运行命令,并提供可配置的审批机制。

注意:Elevated 模式只在代理有沙箱时才有实质意义。对于未沙箱化的代理,exec 本来就运行在宿主机上。

指令

通过斜杠命令按会话控制 elevated 模式:

指令作用
/elevated on在 Gateway 宿主机上运行,保留 exec 审批
/elevated askon(别名)
/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 模式仍然应用已配置的审批规则。

解析顺序

  1. 内联指令(只对当前消息生效)
  2. 会话覆盖(通过发送仅含指令的消息设置)
  3. 全局默认值(配置中的 agents.defaults.elevatedDefault

可用性与 allowlist

  • 全局开关tools.elevated.enabled(必须为 true
  • 发送者 allowlisttools.elevated.allowFrom,按渠道配置列表
  • 单代理开关agents.list[].tools.elevated.enabled(只能进一步收紧权限)
  • 单代理 allowlistagents.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 模式

相关文档