ターミナルオープナー は何をしますか?
scripts/open-terminal.js を使用して、実行可能ファイルとすべての引数を個別のプロセスエントリとして保持します。シェルコマンド文字列を補間しないでください。すべての spawn は shell: false にしてください。デフォルトでは起動しない計画としてください。--launch は、ユーザーが明示的に実際のウィンドウを要求し、argv がレビューされた後にのみ使用してください。起動されたプロセスは、呼び出し元のプロセスの環境全体(秘密情報を含む変数を含む)を継承します。ランチャーは環境をフィルタリングしません。ターゲットコマンドに公開しても安全な環境のシェルから実行してください。
コマンドを起動する
ランチャーオプションを -- の前に渡し、その後ろに1つの実行可能ファイルとその引数配列を渡します:
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を使用します。他の要求されたターミナルは、実行するコマンドとしてではなく、サポートされていない計画として扱います。