Command Execution
Exec 工具
exec 负责在工作区中运行 shell 命令,并通过 process 支持前台 / 后台模式。理解它的关键不是“怎么运行命令”,而是“命令在哪台主机上、按什么策略运行”。
关键参数
command、workdir、env 控制具体命令与环境。
yieldMs、background、timeout 控制前台 / 后台与超时。
host 决定执行位置:sandbox | gateway | node。
security、ask、elevated 决定审批和安全策略。
典型示例
前台执行
{"tool":"exec","command":"ls -la"} 后台执行 + 轮询
{"tool":"exec","command":"npm run build","yieldMs":1000}
{"tool":"process","action":"poll","sessionId":"<id>"} 会话级默认值
/exec host=gateway security=allowlist ask=on-miss node=mac-1 使用要点
sandbox 不是永远容器
如果沙箱隔离关闭,host=sandbox 实际上可能直接在 Gateway 主机上运行,因此要明确理解你当前的沙箱状态。
主机执行会拒绝 PATH 劫持
host=gateway / host=node 会拒绝危险的 PATH 与加载器覆盖,降低二进制劫持风险。