提升模式(/elevated 指令)
适用范围
在以下情况使用此页面:
- 调整提升模式的默认值、允许列表或斜杠命令行为
功能说明
/elevated on在网关主机上运行并保留 exec 审批(与/elevated ask相同)。/elevated full在网关主机上运行并自动批准 exec(跳过 exec 审批)。/elevated ask在网关主机上运行但保留 exec 审批(与/elevated on相同)。on/ask不强制exec.security=full;配置的安全/ask 策略仍然适用。- 仅在代理被沙箱化时才改变行为(否则 exec 已在主机上运行)。
- 指令形式:
/elevated on|off|ask|full、/elev on|off|ask|full。 - 仅接受
on|off|ask|full;其他任何内容都会返回提示并且不改变状态。
控制内容(以及不控制的内容)
- 可用性门控:
tools.elevated是全局基线。agents.list[].tools.elevated可以进一步限制每个代理的提升(两者都必须允许)。 - 每个会话状态:
/elevated on|off|ask|full为当前会话密钥设置提升级别。 - 内联指令: 消息内的
/elevated on|ask|full仅适用于该消息。 - 群组: 在群聊中,仅当代理被提及时才会遵守提升指令。绕过提及要求的仅命令消息被视为已提及。
- 主机执行: 提升强制
exec进入网关主机;full还设置security=full。 - 审批:
full跳过 exec 审批;on/ask在允许列表/ask 规则要求时遵守它们。 - 非沙箱化代理: 对位置无操作;仅影响门控、日志记录和状态。
- 工具策略仍然适用: 如果
exec被工具策略拒绝,则无法使用提升。
解析顺序
- 消息上的内联指令(仅适用于该消息)。
- 会话覆盖(通过发送仅指令消息设置)。
- 全局默认值(配置中的
agents.defaults.elevatedDefault)。
设置会话默认值
- 发送一条仅包含指令的消息(允许空格),例如
/elevated full。 - 发送确认回复(
Elevated mode set to full.../Elevated mode disabled.)。 - 如果提升访问被禁用或发件人不在批准的允许列表上,指令会返回可操作的错误并且不会改变会话状态。
- 发送
/elevated(或/elevated:)不带参数以查看当前提升级别。
可用性 + 允许列表
- 功能门控:
tools.elevated.enabled(即使代码支持,默认也可以通过配置关闭)。 - 发件人允许列表:
tools.elevated.allowFrom和每个提供商的允许列表(例如discord、whatsapp)。 - 每个代理门控:
agents.list[].tools.elevated.enabled(可选;只能进一步限制)。 - 每个代理允许列表:
agents.list[].tools.elevated.allowFrom(可选;设置后,发件人必须匹配两个全局 + 每个代理允许列表)。 - Discord 回退: 如果省略
tools.elevated.allowFrom.discord,则使用channels.discord.dm.allowFrom列表作为回退。设置tools.elevated.allowFrom.discord(甚至[])以覆盖。每个代理允许列表不使用回退。 - 所有门控都必须通过;否则提升被视为不可用。
日志记录 + 状态
- 提升的 exec 调用在 info 级别记录。
- 会话状态包括提升模式(例如
elevated=ask、elevated=full)。