Open an executable and its argument array in a visible terminal window through a reusable, shell-free launch plan with dry-run, JSON, capability detection, deta
复制下面这句话,粘贴给 Claude Code、Codex、Cursor 等 AI 编程工具,它会读取安装说明并在你确认后完成安装。
请阅读 https://ai.atlankj.com/install/asset/gh-terminal-opener-842ebfa42b7d ,按照其中的说明把「terminal-opener」安装到你(当前 AI 工具)中。执行前先告诉我将运行的命令和写入的位置,等我确认。
查看 AI 将读取的安装说明正在读取 GitHub 原文…
内容来自 GitHub 原始文件,由原作者维护。在 GitHub 查看
Use scripts/open-terminal.js to preserve an executable and every argument as
separate process entries. Never interpolate a shell command string. Keep every
spawn on shell: false. Default to a non-launching plan. Use --launch only
after the user explicitly requests a real window and the argv has been reviewed.
The launched process inherits the full environment of the calling process,
including secret-bearing variables. The launcher does not filter the
environment. Run it from a shell whose environment is safe to expose to the
target command.
Pass launcher options before --, then pass exactly one executable followed by
its argument array:
node skills/terminal-opener/scripts/open-terminal.js \
--launch \
--cwd /absolute/host/path \
-- ssh -t example.test command-with-arguments
Run normal mode first. Let WezTerm try its mux with a new window, then let the
launcher fall back to a detached wezterm start process if the mux is not
available. When fallback is used, read muxFailure from JSON output (or the
human-readable failure line) to diagnose why the mux path failed.
Add --recover or --standalone when user configuration or mux state may
interfere with the requested command. Start a detached WezTerm process with:
--skip-config start --always-new-process
Expect recovery mode to skip all user terminal configuration intentionally.
Omit --launch (or add --dry-run) and add --json to inspect the exact
executable, argv, working directory, terminal adapter, primary launch, and
fallback without opening a window. Treat the JSON plan as the composition
boundary for callers.
Run --detect --json without a command to probe terminal availability. Follow
the returned action when the adapter is missing or unsupported. Use WezTerm
for the current adapter; treat other requested terminals as unsupported plans,
not as commands to execute.