终端开启器 是做什么的?
使用 scripts/open-terminal.js 将可执行文件及其每个参数作为独立的进程条目保存。绝不插入 Shell 命令字符串。将所有 spawn 调用设置为 shell: false。默认生成非启动计划。只有在用户明确请求真实窗口且参数(argv)经过审查后,才使用 --launch。启动的进程继承调用进程的完整环境,包括包含密钥的变量。启动器不会过滤环境。请从环境对目标命令安全的 Shell 中运行它。
启动命令
在 -- 之前传递启动器选项,之后传递一个可执行文件及其参数数组:
node skills/terminal-opener/scripts/open-terminal.js \
--launch \
--cwd /absolute/host/path \
-- ssh -t example.test command-with-arguments
首先运行普通模式。让 WezTerm 尝试其 mux 并在新窗口中打开,如果 mux 不可用,则让启动器回退到分离的 wezterm start 进程。使用回退时,从 JSON 输出(或可读的失败行)中读取 muxFailure 以诊断 mux 路径失败的原因。
从终端配置恢复
当用户配置或 mux 状态可能干扰请求的命令时,添加 --recover 或 --standalone。启动一个分离的 WezTerm 进程,使用:
--skip-config start --always-new-process
预计恢复模式会故意跳过所有用户终端配置。
启动前检查
省略 --launch(或添加 --dry-run)并添加 --json 来检查确切的执行文件、参数(argv)、工作目录、终端适配器、主启动和回退,而不打开窗口。将 JSON 计划视为调用者的组合边界。
运行 --detect --json 而不带命令,以探测终端可用性。当适配器缺失或不受支持时,遵循返回的 action。对当前适配器使用 WezTerm;将其他请求的终端视为不受支持的计划,而不是要执行的命令。