ターミナルマルチプレクサ

報告を読むより、その場で見たほうがよい run もあります。attended runtake-over は、どちらも ライブの claude セッション — 自分で読んで steer できるもの — を目の前に置きます。ターミナル マルチプレクサの pane に開くことで、それを実現します。loopkeep が動かせるのは 4 つ、 herdrtmuxzellijcmux です。pane の中でも policy のゲートは変わりません。 マルチプレクサはセッションをどこに出すかを決めるだけで、何をしてよいかには関与しません。

マルチプレクサを選ぶ

既定では loopkeep が自動検出し、見つかったものを使います。選択を固定する、または機能を切る には、config.yamlmultiplexer.id を設定します。

multiplexer:
  id: tmux # herdr | tmux | zellij | cmux — 省略で自動検出、"none" で無効

none にすると、attended run は headless に落ち、take-over は pane を開かずに現在の ターミナルを引き継ぎます。

pane が開く場所

attended run の pane は決まった場所に開きます。space(マルチプレクサのセッションまたは workspace)、tab(その中の window)、そして run id で名づけられた pane です。だから run run_000123 を名前で見つけられます。その run の take-over は同じ場所に来ます。

space と tab はどちらも同じ順で解決し、最初に一致したものを採ります。

  1. ワークフローの x-loopkeep.mux.space / .tab
  2. config.yamlmultiplexer.options.space / .tab
  3. 組み込み既定の loopkeepautomation
# config.yaml — すべての attended pane の既定
multiplexer:
  options:
    space: loopkeep
    tab: automation

モードごとに必要なもの

マルチプレクサによって、loopkeep が頼めることが違います。attended run には、pane を 開き、そこへテキストを注入し、まだ生きているかを報告できるもの — フルセット — が要ります。 take-over は pane を開ければ十分です。そこから先は自分の手で運転するからです。解決した マルチプレクサがモードの要件を満たせないときは、そのモードは落ちます。attended は headless に、 take-over は現在のターミナルに落ちます。

関連