内置工具
提升权限模式
当智能体在沙箱内运行时,其 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 模式/主机审批策略
已经完全宽松(security 为 full、ask 为 off),则会跳过 exec
审批;否则仍会应用常规审批策略。在 on/ask 模式下,始终应用
已配置的审批规则。
解析顺序
- 消息中的内联指令(仅适用于该消息)
- 会话覆盖设置(通过发送仅包含指令的消息进行设置)
- 全局默认值(配置中的
agents.defaults.elevatedDefault)
可用性和允许列表
- 全局关卡:
tools.elevated.enabled(必须为true) - 发送者允许列表:
tools.elevated.allowFrom,包含各渠道的列表 - 按智能体配置的关卡:
agents.list[].tools.elevated.enabled(只能进一步限制;全局关卡和按智能体配置的关卡都必须为true) - 按智能体配置的允许列表:
agents.list[].tools.elevated.allowFrom(发送者必须同时匹配全局和按智能体配置的允许列表) - 渠道提供的后备允许列表:当未配置
tools.elevated.allowFrom.<provider>时,渠道插件可以选择通过 SDK 适配器钩子提供后备允许列表。目前没有内置渠道实现此钩子,因此实际上当前每个提供商都需要显式设置tools.elevated.allowFrom.<provider>条目。 - 所有关卡都必须通过;否则提升权限模式将被视为不可用
允许列表条目格式:
| 前缀 | 匹配对象 |
|---|---|
| (无) | 发送者 ID、E.164 或 From 字段 |
name: |
发送者显示名称 |
username: |
发送者用户名 |
tag: |
发送者标签 |
id:、from:、e164: |
显式指定身份 |
提升权限模式不控制的内容
- 工具策略:如果工具策略禁止
exec,提升权限模式无法覆盖该限制。 - 主机选择策略:提升权限模式不会将
auto变成可随意跨主机覆盖的选项。它使用配置的或会话的 exec 目标规则,仅当目标已经是node时才选择node。 - 与
/exec相互独立:/exec指令为已授权的发送者调整按会话配置的 exec 默认值(主机、安全性、询问方式、节点),且不要求启用提升权限模式。
相关内容
Was this useful?