OpenClawSkills
GitHub
工具 & 技能 • 5 分钟阅读

提升模式

提升 exec 模式和 /elevated 指令

Tutorial.step

功能说明

- ''/elevated on'' 在网关主机上运行并保留 exec 审批(与 ''/elevated ask'' 相同)。

- ''/elevated full'' 在网关主机上运行''并且''自动批准 exec(跳过 exec 审批)。

- ''/elevated ask'' 在网关主机上运行但保留 exec 审批(与 ''/elevated on'' 相同)。

- ''on''/''ask'' ''不会''强制 ''exec.security=full'';配置的安全/询问策略仍然适用。

- 仅当代理被沙箱化时才会改变行为(否则 exec 已在主机上运行)。

- 指令格式:''/elevated on|off|ask|full''、''/elev on|off|ask|full''。

- 只接受 ''on|off|ask|full'';其他任何内容都会返回提示且不改变状态。

Tutorial.step

控制范围(和不控制的范围)

- ''可用性门控'':''tools.elevated'' 是全局基线。''agents.list[].tools.elevated'' 可以进一步限制每个代理的提升权限(两者都必须允许)。

- ''按会话状态'':''/elevated on|off|ask|full'' 为当前会话密钥设置提升级别。

- ''内联指令'':消息内的 ''/elevated on|ask|full'' 仅适用于该消息。

- 群组:在群聊中,仅当代理被提及时才会执行提升指令。绕过提及要求的纯命令消息被视为已提及。

- ''主机执行'':提升强制 ''exec'' 在网关主机上运行;''full'' 还会设置 ''security=full''。

- ''审批'':''full'' 跳过 exec 审批;''on''/''ask'' 在允许列表/询问规则要求时遵守它们。

- 非沙箱代理:对位置无操作;仅影响门控、日志和状态。

- ''工具策略仍然适用'':如果 ''exec'' 被工具策略拒绝,则无法使用提升。

- ''与 ''/exec'' 分离'':''/exec'' 为授权发送者调整按会话默认值,不需要提升。

Tutorial.step

解析顺序

1. 消息上的内联指令(仅适用于该消息)。

2. 会话覆盖(通过发送仅指令的消息设置)。

3. 全局默认值(配置中的 ''agents.defaults.elevatedDefault'')。

Tutorial.step

设置会话默认值

- 发送一条''仅包含''指令的消息(允许空格),例如 ''/elevated full''。

- 发送确认回复(''Elevated mode set to full...'' / ''Elevated mode disabled.'')。

- 如果提升访问被禁用或发送者不在批准的允许列表中,指令会回复可操作的错误且不改变会话状态。

- 发送不带参数的 ''/elevated''(或 ''/elevated:'')查看当前提升级别。

Tutorial.step

可用性 + 允许列表

- 功能门控:''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''(即使是 ''[]'')以覆盖。按代理允许列表''不''使用回退。

- 所有门控必须通过;否则提升被视为不可用。

Tutorial.step

日志 + 状态

- 提升 exec 调用在信息级别记录。

- 会话状态包括提升模式(例如 ''elevated=ask''、''elevated=full'')。