終端機開啟器 是做什麼的?
使用 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;將其他請求的終端機視為不受支援的計劃,而不是要執行的命令。