Agents auf dem Server,
beantwortet von deinem Mac.
Deine Agents laufen auf einem Server, du sitzt am Mac. Verbinde den Server einmal, und seine Sitzungen kriegen Zeilen in der Notch neben deinen lokalen, mit ihren Anfragen, ihren Kosten und einem Klick, der den richtigen Tab findet. Diese Anleitung zeigt die Einrichtung, erklärt, was Gnista auf dem Server ablegt, und sagt, was nicht geht.
Aktualisiert am
Die kurze Antwort
Klick in Gnistas Einstellungen ▸ Entfernt auf „Verbinden“ und wähl einen Host aus deiner ssh-Config. Gnista kopiert seinen Helper dorthin, verbindet jeden Agent, den es findet, und hält über dein eigenes ssh eine Verbindung offen. Ihre Sitzungen erscheinen in der Notch mit dem Namen des Rechners.
Bevor du loslegst
- Gnista auf deinem Mac, macOS 15 oder neuer.
- Ein Linux-Server, x86_64 oder arm64, oder ein Mac mit eingeschalteter Entfernter Anmeldung.
- Deine Agents dort installiert, für den Nutzer, mit dem du dich anmeldest: Claude Code, Codex, Gemini CLI, OpenCode, Copilot CLI oder jeder andere Agent, den Gnista auf deinem Mac verbindet.
- Der Rechner in deiner
~/.ssh/config. Am einfachsten ist ein Schlüssel, der nichts von dir braucht; verlangt die Anmeldung ein Passwort, einen Code oder eine Schlüsselfreigabe, fragt Gnista dich einmal, im Terminal.
Deine ssh-Config
Ein Eintrag wie dieser reicht. Gnista übernimmt alles, was in deiner Config steht, also funktionieren Ports, Nutzer, Schlüssel, ProxyJump und die Hosts, die Coder, Codespaces oder DevPod dort eintragen, genau wie im Terminal.
Host devbox
HostName devbox.example.com
User dev
IdentityFile ~/.ssh/id_ed25519Verbindung prüfen
ssh devbox uname -smDie Ausgabe sollte Linux x86_64, Linux aarch64 oder Darwin arm64 sein. Fragt ssh, ob du dem Host-Schlüssel vertraust, beantworte die Frage dort einmal.
Server verbinden
- Öffne Gnistas Einstellungen ▸ Entfernt. Klick auf „Verbinden“ und wähl den Host, hier
devbox. Einer, der nicht in deiner Config steht: „Anderer Host …“, dann eintippen. - Gnista prüft das System mit
uname, kopiert seinen Helper für dieses System nach~/.gnistadort und prüft, ob er unverändert angekommen ist. Dann trägt es seine Hooks bei jedem Agent ein, den es findet. - Die Zeile des Rechners sagt, wie viele verbunden sind, etwa „Verbunden, 2 Agents“. Fahr mit der Maus darüber, um ihre Namen zu sehen.
- Steht in der Zeile „Braucht deine Anmeldung.“, klick auf „Anmelden“. Das Terminal öffnet sich, du meldest dich einmal an, und Gnistas Verbindung läuft über diese Anmeldung.
- Starte eine Sitzung auf dem Server. Ihre Zeile erscheint in der Notch, mit dem Namen des Servers neben dem Projekt.
Was du bekommst
- Eine Zeile pro Sitzung, mit dem Namen des Rechners dort, wo eine lokale Zeile ihre App zeigt. Fahr mit der Maus darüber: „Auf devbox, über SSH“.
- Ihre Anfragen in der Notch. Fragt der Agent etwas, öffnet sich die Notch mit der Anfrage, wie bei einer lokalen Sitzung. Ist Einstellungen ▸ Allgemein ▸ Rückfragen in Gnista beantworten an, gibst du sie dort frei; Gnista hält diese Einstellung auf dem Server synchron.
- Details. Titel, letzte Nachricht sowie Tokens und Kosten, auf dem Server gelesen, für die Agents, die sie festhalten.
- Der richtige Tab. Ein Klick holt den Terminal-Tab auf deinem Mac hervor, über dessen ssh, mosh oder Eternal Terminal der Agent kam, samt seinem tmux-Pane. Bei einem Remote-Fenster von VS Code, Cursor, Windsurf oder Zed dieses Fenster; bei einer Sitzung, die Claude Desktop per SSH gestartet hat, ihren Chat.
- Eine Anmeldung. Einrichtung, Verbindung und Klicks teilen sich eine ssh-Verbindung, also kommt ein Duo-Push oder eine Schlüsselfreigabe einmal, nicht jedes Mal.
- Eine Verbindung, die wiederkommt. Nach einem Abbruch, dem Ruhezustand oder einem Netzwechsel verbindet Gnista sich von selbst neu. Bis dahin bleiben die Zeilen, und beim Rechner steht „Gerade nicht erreichbar.“
Wenn deine Sicherheitstools Tunnel melden
Im ⋯-Menü jedes Rechners gibt es die Einstellung „Verbindung“. „Automatisch“ passt für die meisten Server. „Ohne Weiterleitung“ schickt die Nachrichten der Hooks über einen gewöhnlichen ssh-Befehl statt über eine Weiterleitung. „Über mein eigenes ssh“ lässt Gnista ohne eigene Verbindung: „Einrichten“ installiert den Helper einmal und gibt dir eine RemoteForward-Zeile für deine ssh-Config, sodass deine eigenen ssh-Sitzungen die Events der Agents mitnehmen. Für dein IT-Team: Sicherheit und Datenschutz.
Mehr als ein Mac
Verbinde denselben Server von jedem deiner Macs aus. Jeder bekommt dort einen eigenen Socket, alle zeigen seine Sitzungen, und die erste Antwort auf eine Anfrage entscheidet. „Trennen“ auf einem Mac lässt Gnista für die anderen auf dem Server.
Was Gnista auf dem Server ablegt
| Auf dem Server | Was es ist |
|---|---|
~/.gnista/bin/gnista | Gnistas Helper, den die Hooks ausführen. Eine einzelne Datei ohne Abhängigkeiten; seine Agent- und Modelldateien liegen in ~/.gnista/Resources. |
~/.gnista/settings.json | Ob auf eine Antwort aus der Notch gewartet wird: die Einstellung „Rückfragen in Gnista beantworten“ auf deinem Mac. |
~/.gnista/sockets/ | Das Ende der Verbindung auf dem Server, einer pro Mac, nur für dich lesbar. |
Each agent’s settings | Seine Hooks, wie auf deinem Mac: ~/.claude/settings.json für Claude Code, ~/.codex/hooks.json für Codex und so weiter. |
Jedes Mal, wenn die Verbindung startet, bringt Gnista das auf den neuesten Stand: einen neuen Helper nach einem Update von Gnista und Hooks für einen Agent, der seitdem dazugekommen ist. Die Einstellungen deiner Agents werden gesichert, bevor Gnista seine Hooks einträgt, und deine eigenen Hooks bleiben.
So funktioniert’s
Für jeden Rechner öffnet Gnista einen Socket auf deinem Mac und startet dein ssh mit einer Reverse-Weiterleitung dorthin. Die Hooks dort sprechen also über diese Verbindung mit Gnista auf deinem Mac. Kurz gesagt:
ssh -N -o ControlMaster=yes -R /home/dev/.gnista/sockets/<this Mac>.sock:<a socket on your Mac> -- devboxLeitet der Server keine Sockets weiter, leitet Gnista stattdessen einen Port auf seinem Loopback weiter, und jede Verbindung muss mit einem Passwort beginnen, das nur dein Konto dort lesen kann. Leitet er gar nichts weiter, trägt der Helper die Nachrichten der Hooks über einen gewöhnlichen ssh-Befehl.
Welcher Server in einer Zeile steht, ergibt sich aus der Verbindung, über die ein Event kam, nicht aus dem, was der Server behauptet. Ein Server kann sich also nicht als ein anderer ausgeben. Ist die Verbindung unterbrochen, finden die Hooks kein Gnista, kehren sofort zurück, und der Agent fragt wie gewohnt in seinem Terminal.
Der Helper für Linux kommt aus Gnistas öffentlichen Downloads auf GitHub, einmal pro Version von Gnista und Prozessor, und Gnista nutzt ihn nur, wenn er mit Gnistas Schlüssel für diese Version signiert ist. Ein Mac bekommt den Helper von deinem Gnista, signiert und notarisiert.
Fehlerbehebung
- „ssh meldet: …“ Die letzten Worte von ssh selbst. Führ die Prüfung oben mit demselben Host aus und klick dann erneut auf „Verbinden“.
- „Braucht deine Anmeldung.“ Klick auf „Anmelden“ und melde dich im Terminal an. Mit 1Password wartet dessen Abfrage vielleicht hinter anderen Fenstern; fahr mit der Maus über die Zeile, um zu sehen, was ssh gesagt hat.
- „Gerade nicht erreichbar.“ Fahr mit der Maus über die Zeile, um die Worte von ssh zu sehen. Gnista versucht es weiter und wartet jedes Mal länger.
- „Gnista verbindet Linux-Rechner und Macs; dieser ist „…“.“ Auf dem Host läuft ein anderes System, das Gnista nicht verbinden kann.
- „Gnista konnte seinen Helfer für Linux nicht laden. Prüfe, ob der Mac online ist, und versuch es noch einmal.“ Dein Mac muss github.com erreichen, wenn ein Server zum ersten Mal den Helper für diese Version braucht.
- „Der Helfer kam verändert an, daher hat Gnista ihn nicht verwendet.“ Klick erneut auf „Verbinden“.
- „Verbunden, aber keiner seiner Agenten ist einer, den Gnista verbindet.“ Installier einen Agent auf dem Server, für denselben Nutzer. Gnista verbindet ihn, sobald die Verbindung das nächste Mal startet, oder sofort, wenn du auf „Trennen“ und dann auf „Verbinden“ klickst.
- „Es ist dasselbe Konto wie …, das schon verbunden ist.“ Zwei Namen in deiner ssh-Config führen zum selben Konto. Behalte einen.
- Eine Sitzung taucht nicht auf. Prüf, ob in der Zeile des Rechners „Verbunden“ steht, und starte dann eine neue Sitzung; eine, die schon lief, hat Gnistas Hooks womöglich nicht.
- „Von deiner Organisation deaktiviert.“ Dein Mac wird verwaltet, und
RemoteMachinesAllowedist aus. Frag dein IT-Team.
Ohne Gnista
- Terminal-Benachrichtigungen: Claude Codes eigene Benachrichtigungen sind Escape-Codes im Terminal, sie kommen also per ssh bei iTerm2 und anderen Terminals an, die sie anzeigen. Sie sagen dir, dass etwas passiert ist, nicht auf welchem Server oder in welcher Sitzung, und antworten musst du im Tab.
- Eine tmux-Glocke, mit
monitor-bellund einem Terminal, das Glocken in Mitteilungen verwandelt. Gratis, mit denselben Grenzen. - Ein Hook, der an einen Push-Dienst fürs Handy schickt, etwa ntfy. Er erreicht dich überall, aber du schreibst ihn und hältst ihn am Laufen, und zum Antworten musst du trotzdem ins Terminal.
Grenzen
- Wer auf dem Server root ist, kann deine Freigaben beantworten, denn er kommt an den Socket. Verbinde nur Server, denen du vertraust.
- Antworten aus der Notch und Abolimits gibt es nur für Sitzungen auf deinem Mac; die Zeilen eines Servers haben sie nicht.
- „Trennen“ entfernt Gnistas Hooks und
~/.gnistavom Server, außer ein anderer Mac nutzt sie noch. Ist der Server in dem Moment nicht erreichbar, bleiben die Hooks; ohne Gnista tun sie nichts. - Agents in Containern oder Kubernetes-Pods: Agents in Containern.
- Organisationen können entfernte Rechner auf ihren Macs abschalten: verwaltete Einstellungen. Was Gnista wohin sendet: Datenschutz.
- Sieben Tage gratis, dann einmalig 19 €. Mehr zu Claude Code, Codex, Gemini CLI und OpenCode.
Mehr Anleitungen.
Claude-Code-Benachrichtigungen
auf deinem Mac.Wisse, wann Claude Code fertig ist oder auf dich wartet, egal wo du am Mac gerade bist.
Codex-Benachrichtigungen
auf deinem Mac.Wisse, wann Codex fertig ist oder einen Befehl ausführen will, ohne sein Terminal anzustarren.
Claude-Code-Anfragen freigeben,
ohne Fensterwechsel.Erlaub oder lehn einen Befehl oder eine Änderung aus der Notch ab, und mach weiter, womit du gerade warst.
Limits von Claude Code und Codex,
auf einen Blick.Deine 5-Stunden- und Wochenlimits für Claude Code und Codex, unter deinen Sitzungen.
Agents in Xcode,
in deiner Notch.Wisse, wann Claude, Codex oder Antigravity in Xcode dich brauchen, ohne Xcode im Vordergrund zu halten.
Agents in Containern,
in Reichweite.Claude Code oder Codex in einem Devcontainer oder einem Kubernetes-Pod: Ihre Anfragen erreichen trotzdem deine Notch.