YAML Metadata Warning:empty or missing yaml metadata in repo card

Check out the documentation for more information.

FzF — gemeinsame tmux-Sessions über Tailscale

Ein Einstieg für Mensch und Agent, ohne Daemon oder zusätzliche Python-Pakete.

cd /home/smlflg/Projekte/FzF
python3 mesh.py

Der Picker zeigt Sessions aller erreichbaren Linux-/macOS-/FreeBSD-Geräte aus Tailscale. Enter öffnet eine Session. Ctrl+b d trennt die Ansicht und bringt dich zurück zum gemeinsamen Picker; die Arbeit läuft weiter. Escape beendet ihn. + New session legt auf dem gewählten Gerät eine Session an.

Der Picker läuft außerhalb von tmux und öffnet jeweils genau einen Client. Wird er aus einem lokalen tmux-Pane gestartet, ersetzt detach-client -E den zugehörigen Client durch den Picker. Andere Zuschauer werden nicht getrennt. Es werden keine globalen Shortcuts oder Konfigurationen geändert.

Agenten

python3 mesh.py list --json
python3 mesh.py new samuel-mbp meine-aufgabe
python3 mesh.py capture 'SESSION_ID_AUS_JSON'
python3 mesh.py exec 'SESSION_ID_AUS_JSON' 'pwd; hostname; sleep 10'

capture liest die letzten bis zu 200 History-Zeilen plus sichtbaren Inhalt des aktiven Panes. exec startet den Shell-Befehl in einem neuen Fenster der gewählten Session und liefert dessen tmux-Fenster-ID. Bestehende Programme erhalten keine Tastatureingaben. Kurzlebige Fenster verschwinden nach Ende des Befehls entsprechend dem normalen tmux-Verhalten.

IDs bestehen aus Tailscale-Geräte-ID, tmux-Session-ID und Erstellzeit. Mehrere Einträge derselben Session werden zusammengeführt; gleichnamige Sessions auf verschiedenen Rechnern bleiben eigenständig. Es gibt keinen veralteten Cache: der Picker fragt parallel ab und validiert die Auswahl vor dem Öffnen erneut.

Voraussetzungen und Grenzen

  • Lokal: Python 3, Tailscale CLI, tmux, fzf, SSH. Remote: SSH, Python 3, tmux.
  • Vorhandene SSH-Aliase liefern Benutzer und Schlüssel. Die Zieladresse wird auf die Tailscale-IP festgelegt. Unbekannte Hostkeys werden nicht akzeptiert.
  • Homebrew-Binärdateien auf dem Mac werden auch bei reduziertem SSH-PATH gefunden.
  • Aktuell werden Standard-tmux-Sockets des jeweiligen SSH-Benutzers erfasst. Separate tmux -L/-S-Server gehören noch nicht zum Index.
  • Der Einstieg ist in diesem Checkout auf Pop!_OS verfügbar. Eine Installation auf weiteren Geräten und deren SSH-Rückwege sind noch nicht eingerichtet.
  • Android-Geräte werden als nicht unterstützt angezeigt; Tailscale allein stellt dort weder SSH noch tmux bereit. Offline-Geräte und SSH-Fehler stehen ausdrücklich in diagnostics.
  • Prozesse und Dateien bleiben auf dem jeweiligen Gerät. tmux transportiert die Bedienung, nicht die Dateien oder laufende Prozesse.
  • Voraussetzung für Client-Ersetzung aus einem Pane: Der Picker-Pfad und Python existieren auf dem Rechner des tmux-Clients. Bei fremden Containern oder manuell verschachtelten SSH-Verbindungen zuerst regulär detach verwenden.

Prüfung

python3 -m unittest discover -s tests -p 'test_*.py' -v
python3 tests/smoke_live.py

Der Live-Test verwendet ausdrücklich Pop!_OS und samuel-mbp, erzeugt temporäre Sessions und bedient den echten fzf-Picker in einem Testterminal. Die Sessions enden innerhalb von 90 Sekunden selbst. Er prüft Remote-/Local-Attach, Rückkehr zum Picker, Agenten-Lesen und Ausführung in einem neuen Remote-Fenster.

Grundlage für Client-Ersetzung und Attach-Verhalten: offizielles tmux-Handbuch.

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support