用途
Meridian 代理默认在受限权限下运行:沙箱化文件系统、受限工具、特定运行环境(harness)限制。当一次 spawn 因这些约束无法完成任务时,可以针对该次 spawn 单独提升权限,而不必修改代理配置(agent profile)。
升级纪律
应优先采用能解除阻塞的最小权限升级。先尝试定向修复(--approval auto),再考虑范围更广的覆盖(--approval yolo、--sandbox danger-full-access)。宽泛覆盖会完全关闭安全检查:如果需要用到 yolo 或 danger-full-access,应先向用户说明情况,由用户批准升级。自主代理悄悄给自己授予最高权限,会使分级机制失去意义。
沙箱层级(仅 Codex)
--sandbox 标志控制 Codex 的进程沙箱:文件系统、网络和进程隔离。其他运行环境有不同的升级路径:Claude 支持审批升级(--approval),但不支持切换沙箱层级;OpenCode 的权限因配置而异。
层级由严到宽:
| 层级 | 允许内容 |
|---|---|
| read-only | 仅读取文件,不可写入,不可执行进程 |
| workspace-write | 可在工作区内读写,无网络监听,不可访问项目外部 |
| danger-full-access | 完整文件系统与进程访问,安全检查减少 |
按单次 spawn 覆盖:
meridian spawn -a subagent --sandbox danger-full-access --prompt-file task.md --bg
代理配置会设置默认层级(如 sandbox: workspace-write)。--sandbox 标志仅对该次 spawn 覆盖默认值,层级会直接透传给 Codex 的 --sandbox 标志。
审批模式
--approval 标志控制运行环境如何处理工具调用审批:
| 模式 | 行为 |
|---|---|
| default | 由运行环境决定(各运行环境有自己的默认策略) |
| confirm | 每次工具调用都由用户批准 |
| auto | 自动批准安全操作,危险操作时提示 |
| yolo | 批准一切,无提示 |
按单次 spawn 覆盖:
meridian spawn -a subagent --approval auto --prompt-file task.md --bg
meridian spawn -a subagent --approval yolo --prompt-file task.md --bg # 谨慎使用 yolo
模型/运行环境切换
不同模型路由到不同运行环境,各运行环境的权限配置不同。切换模型可绕过运行环境层面的限制:
# 从 `meridian mars models list` 中选择别名;需要确认所需运行环境
# 在本机可运行时使用 `--live`。
# 部分运行环境的沙箱会限制网络绑定;
# 切换到无沙箱限制的运行环境可绕过该问题。
meridian spawn -a subagent -m MODEL_ALIAS --prompt-file task.md --bg
运行 meridian mars models list 查看目录别名与静态路由提示;在专门为绕过本地运行环境限制而切换模型之前,运行 meridian mars models list --live。
常见升级场景
- “无法绑定端口/启动服务器”:Codex 上沙箱限制网络监听 →
--sandbox danger-full-access;Claude 上不受沙箱限制 → 检查工具是否在 allowedTools 列表中,或使用--approval auto。 - “无法在工作区外写文件”:Codex 上沙箱限制文件系统范围 → 对该次 spawn 使用
--sandbox danger-full-access;Claude 上应向用户升级,由用户为该次 spawn 批准--approval yolo。 - “无法访问网络/抓取 URL”:Codex 上为沙箱或工具限制 → 确保 WebFetch/WebSearch 在代理工具列表中,或升级沙箱;Claude 上确保代理配置包含 WebFetch/WebSearch 工具。
- “工具调用被拒绝,权限不足”:审批模式在阻塞 → 先
--approval auto;若仍不够,在使用--approval yolo前向用户说明。 - “上下文对任务太小”:模型限制 → 通过
-m切换到上下文窗口更大的模型。