11.10 提权模式

提权模式(Elevated Mode)允许代理在Gateway主机上运行命令,并可选择自动批准exec操作,适用于受信任的场景。

概述

提权模式通过 /elevated 指令控制,允许更高权限的命令执行。只有在代理被沙箱化时才会改变行为,否则exec已经在主机上运行。

指令形式

# 启用提权模式(保留exec批准)
/elevated on
/elevated ask

# 完全提权(自动批准exec)
/elevated full

# 禁用提权模式
/elevated off

# 简写形式
/elev on|off|ask|full

工作机制

提权级别

  • on/ask: 在Gateway主机上运行,但保留exec批准流程
  • full: 在Gateway主机上运行,并设置 security=full 自动批准exec
  • off: 禁用提权模式

影响范围

  • 主机执行: 强制exec在Gateway主机上运行
  • 批准控制: full 跳过exec批准,on/ask 保留批准
  • 未沙箱化代理: 仅影响门控、日志和状态
  • 工具策略优先: 如果工具策略拒绝exec,提权模式无法使用

解析顺序

  1. 内联指令(仅应用于当前消息)
  2. 会话覆盖(通过单独的指令消息设置)
  3. 全局默认(agents.defaults.elevatedDefault)

设置会话默认值

发送仅包含指令的消息(允许空格):

/elevated full

系统会回复确认:

Elevated mode set to full...
# 或
Elevated mode disabled.

查看当前状态

# 查看当前提权级别
/elevated
/elevated:

可用性和访问控制

全局配置

{
  "tools": {
    "elevated": {
      "enabled": true,
      "allowFrom": {
        "discord": ["user-id-1", "user-id-2"],
        "whatsapp": ["+15555551234"]
      }
    }
  }
}

代理级配置

{
  "agents": {
    "list": [
      {
        "id": "restricted",
        "tools": {
          "elevated": {
            "enabled": false
          }
        }
      }
    ]
  }
}

访问控制规则

  • 全局和代理级门控都必须通过
  • 发送者必须在白名单中
  • Discord回退:如果未设置 tools.elevated.allowFrom.discord,使用 channels.discord.dm.allowFrom
  • 代理级白名单不使用回退机制

群组聊天中的行为

  • 仅在代理被@提及时响应提权指令
  • 仅命令的消息(绕过提及要求)被视为已提及

日志和状态

  • 提权exec调用在info级别记录
  • 会话状态包含提权模式(例如: elevated=ask, elevated=full)

安全考虑

安全警告
  • 对不受信任的代理拒绝exec(agents.list[].tools.deny: ["exec"])
  • 避免为路由到受限代理的发送者设置白名单
  • 如果只需要沙箱执行,全局禁用提权(tools.elevated.enabled: false)
  • 针对敏感配置文件禁用代理级提权(agents.list[].tools.elevated.enabled: false)

使用场景

  • 受信任的自动化: 在受控环境中快速执行
  • 管理任务: 系统管理和维护操作
  • CI/CD集成: 自动化部署流程
  • 开发调试: 快速测试而无需批准

配置示例

仅限特定用户

{
  "tools": {
    "elevated": {
      "enabled": true,
      "allowFrom": {
        "discord": ["admin-user-id"]
      }
    }
  }
}

不同代理不同策略

{
  "agents": {
    "list": [
      {
        "id": "admin",
        "tools": {
          "elevated": {
            "enabled": true
          }
        }
      },
      {
        "id": "public",
        "tools": {
          "elevated": {
            "enabled": false
          },
          "deny": ["exec"]
        }
      }
    ]
  }
}
提示
提权模式是一个强大但需要谨慎使用的功能。始终遵循最小权限原则,仅为受信任的用户和场景启用。