Terminal Opener
使用 scripts/open-terminal.js 来将可执行文件及其每个参数作为独立的进程条目保存。切勿拼接 shell 命令字符串。始终以 shell: false 执行 spawn。默认使用非启动计划。仅在用户明确请求真实窗口且 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;将其他请求的终端视为不受支持的计划,而不是要执行的命令。