xichan96/dinotty
xichan96/dinotty has 738 GitHub stars and 74 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-11 15:54 UTC. Last push 2026-11-04.
So werden diese Zahlen gemessen
Multi-device terminal server for AI coding agents. Server-side VTE, session persistence, file browser, web preview, plugin system. Self-hosted.
What you can do
- Server-side virtual terminal — full VTE parser, server knows exact screen state, enables session recovery & screen snapshots
- Session persistence — PTY processes survive disconnection, auto-reconnect with exponential backoff, refresh page to restore
- Split pane & multi-tab — draggable split, multi-tab management with server-led pane lifecycle
- Workspace management — multi-workspace isolation, Mission Control overview, workspace-scoped plugin tabs
Gemessener Sternzuwachs
- in 24h
- 0
- in 7 days
- Verlauf wird gesammelt
- in 15 days
- Verlauf wird gesammelt
- in 1 month
- Verlauf wird gesammelt
Nettoänderungen in überlappenden Zeiträumen, keine Tagessummen. Fehlende Messwerte bleiben leer. Sterne zeigen Interesse, nicht Qualität.
docs/README.de.md
Original
Dinotty
中文 | English | Русский | Português | 한국어 | Español | Deutsch | Français
Ein Terminal für Coding-Agenten.
Claude Code, opencode, Codex oder OpenClaw auf jedem Gerät -- schlicht, erweiterbar, geräteübergreifend, verliert nie eine Session.
Eine Session für Handy · iPad · Desktop
Am Computer angefangen, auf dem Handy weiter, zurück am Desktop — alles ist wie vorher. Die Session überlebt Trennungen und wird beim Neuladen wiederhergestellt.
Alles ist ein Pane — baue dein Terminal wie aus Bauklötzen
Terminal, Plugins, Dateien, SSH und Web-Vorschau sind alles Panes. Ziehe sie und stelle deinen eigenen Arbeitsbereich zusammen.
Screenshots
Desktop-Demo
Der Desktop-Client bietet ein professionelles Erlebnis vergleichbar mit iTerm2:
Split Broadcast - Ziehbare Multi-Pane-Aufteilung, tippe in einem Pane und führe in allen gleichzeitig aus:
Command Bookmarks - Rechtsklick auf Terminaltext zum Bookmarken, Gruppenverwaltung, Ein-Klick-Ausführung:
SSH-Verbindung und Dateibrowser - Eingebauter SSH-Client, Remote-Sessions fühlen sich lokal an, vollständiges SFTP-Dateimanagement:
Workspace-Management und Mission Control - Multi-Workspace-Isolation, Mission Control-Übersicht, schnelles Wechseln:
Plugin-System - Hot-Reload-fähige JS-Plugins, inklusive CC Switch, JSON Formatter und mehr:
Einheitliches Layout-System - Terminal, Plugin, Dateibrowser und Web-Vorschau sind alles Panes; ziehbare Aufteilung, Tab-übergreifendes Verschieben, als neues Tab extrahieren:
Warum Dinotty?
Terminalbasierte Coding-Agenten (Claude Code, opencode, Codex, OpenClaw usw.) sind mächtig, aber in einem einzelnen Terminalfenster eingesperrt. Dinotty ermöglicht dir:
- Agenten von jedem Gerät verwalten - tiefes Arbeiten am Desktop, scanne einen QR-Code auf dem Handy wenn du den Schreibtisch verlässt, um die Arbeit deines Agenten ohne Unterbrechung weiter zu überwachen und zu steuern
- Multi-Gerät-Sync, nahtloser Wechsel - starte auf dem Laptop, fahre auf dem Handy fort; kehre zum Laptop zurück und mach genau da weiter, wo du aufgehört hast
- Agenten-Output direkt verifizieren - Code-Diffs, gerenderte Seiten, generierte Dateien, alles im eingebauten Browser sichtbar
- Verliere nie deine Session - Verbindungsabbruch, Bildschirmsperre, Gerätewechsel - komme zurück und alles ist genau da, wo du es verlassen hast
Leichtgewichtig - kein Remote-Desktop
| Dinotty | Remote-Desktop (VNC/RDP/Parsec) | |
|---|---|---|
| Übertragene Daten | Nur Text (JSON, Bytes) | Vollständige Bildschirmpixel bei 30-60 fps |
| Bandbreite | ~1–10 KB/s typisch | ~1–10 MB/s (100–1000x mehr) |
| Mobildaten-freundlich | ✅ Funktioniert auf 3G/4G ohne Lag | ❌ Ruckelig, hohe Latenz, verbraucht Daten |
| Toleranz bei schwachem Signal | ✅ Auto-Reconnect, kein Frame-Verlust | ❌ Eingefrorener Bildschirm, Input-Lag |
| Akkuverbrauch | Niedrig (Text-Rendering) | Hoch (Video-Decodierung) |
| Auflösungsanpassung | Nativer Text in jeder Größe | Skaliertes Bitmap, unscharf auf dem Handy |
| Interaktion | Natives Touch, custom Tastatur | Simulierte Maus, winzige Desktop-UI |
Hauptfunktionen
- Serverseitiges virtuelles Terminal - vollständiger VTE-Parser, Server kennt exakten Bildschirmzustand, ermöglicht Session-Recovery und Bildschirm-Snapshots
- Session-Persistenz - PTY-Prozesse überleben Verbindungsabbruch, Auto-Reconnect mit exponentiellem Backoff, Seite aktualisieren zum Wiederherstellen
- Pane-Aufteilung und Multi-Tabs - ziehbare Aufteilung, Multi-Tab-Verwaltung mit servergeführtem Pane-Lebenszyklus
- Workspace-Management - Multi-Workspace-Isolation, Mission Control-Übersicht, Workspace-scoped Plugin-Tabs
- Broadcast-Modus - Eingabe in einem Pane, gleichzeitige Ausführung in allen Panes, kostenlos
- Command Bookmarks - Rechtsklick auf Terminaltext zum Bookmarken, Gruppenverwaltung, Ein-Klick-Ausführung
- Remote SSH-Verbindung - eingebauter SSH-Client mit Passwort/Key-Auth, Remote-Sessions fühlen sich lokal an
- Remote-Dateiverwaltung (SFTP) - automatisch aktiviert bei SSH-Verbindungen, vollständiges Datei-Browsen/Editieren/Upload/Download
- Serverliste - mehrere Remote-Server verwalten, schnelles Wechseln der Verbindungen
- Responsives Layout - Hochformat stapelt vertikal, Querformat nebeneinander; touch-optimierte Buttons und Pane-Resizing
- Anpassbare Shortcut-Tastatur - füge Ctrl/Esc/Funktionstasten für Mobile hinzu, unterstützt beliebige Escape-Sequenzen
- Eingebauter Dateibrowser - Code-Highlighting, Markdown-Rendering, Office-Dokument-Vorschau, Audio/Video-Wiedergabe
- Git-Änderungsindikatoren - Gutter-Markierungen für hinzugefügte/geänderte/gelöschte Zeilen, Inline-Diff, Stage/Revert
- Web-Vorschau - eingebauter Reverse-Proxy zum Vorschauen lokaler Dev-Server in iframe
- Benachrichtigungssystem - Terminal-Bell/OSC-Erkennung, WebSocket-Push, konfigurierbare Sound-Alerts
- Systemmonitor - Echtzeit-CPU/Speicher/Netzwerk-Charts
- Plugin-System - JS-Plugins + CLI-Bridge, Hot-Reload; liefert CC Switch, JSON Formatter, Claude Code Conversation Manager usw.
- Open API - HTTP-Endpoint für externe Gerätesteuerung (Stream Deck, Shortcuts, Automatisierungs-Skripte)
- Befehlspalette - Schnellzugriff-Befehls-Launcher
- Desktop-App - optionaler nativer Client auf Tauri-Basis
Hauptunterschiedsmerkmale
- Serverseitiges virtuelles Terminal - keine WebSocket-zu-PTY-Pipe; PTY übersteht Verbindungsabbruch, Seite aktualisieren zum Wiederherstellen der Session
- Multi-Gerät-Sync - browserbasierte Sync, tiefes Arbeiten am Desktop, vom Mobile übernehmen
- Leichtgewichtiger Text-only-Transport - ~1-10 KB/s, flüssig auf 3G/4G, 100-1000x weniger Bandbreite als Remote-Desktop
- Selbst-contained-Umgebung - eingebauter Dateibrowser, Web-Vorschau, Git-Änderungen, SSH/SFTP, Plugin-System
- Kostenlos und Open Source - selbst gehostet, kein Abo, keine Relay-Gebühren
Siehe Vergleich mit anderen Lösungen für Details.
Installation
Lade den Installer oder Binary für deine Plattform von GitHub Releases herunter:
| Plattform | Format | Hinweise |
|---|---|---|
| macOS | .dmg |
Öffnen und in Applications ziehen |
| Linux | .deb |
sudo dpkg -i dinotty_*.deb |
| Windows | .exe / Source-Build |
Starte dinotty-server.exe aus PowerShell, oder baue aus dem Source |
Du kannst auch aus dem Source bauen, siehe "Schnellstart" unten.
macOS-Hinweis: Da die App nicht signiert ist, zeigt macOS möglicherweise "Dinotty" ist beschädigt und kann nicht geöffnet werden. Führe nach der Installation den folgenden Befehl aus, um die Beschränkung zu entfernen:
xattr -cr /Applications/Dinotty.app
Linux Ein-Zeilen-Installation:
VERSION=$(curl -s https://api.github.com/repos/xichan96/dinotty/releases/latest | sed -n 's/.*"tag_name": *"\([^"]*\)".*/\1/p' | sed 's/^v//') && curl -LO "https://github.com/xichan96/dinotty/releases/download/v${VERSION}/dinotty-server_${VERSION}-1_amd64.deb" && sudo dpkg -i "dinotty-server_${VERSION}-1_amd64.deb"
Linux-Start:
# systemd
systemctl start dinotty
systemctl enable dinotty # Auto-Start beim Booten
# Docker-Container
nohup dinotty-server &
Windows-Start:
# PowerShell
.\dinotty-server.exe -p 8999
# Optional: Default-Shell vor der Auto-Detection überschreiben
$env:DINOTTY_SHELL = "pwsh.exe"
.\dinotty-server.exe
Unter Windows wird die Default-Shell in dieser Reihenfolge erkannt: DINOTTY_SHELL -> pwsh.exe -> powershell.exe -> %ComSpec% / cmd.exe.
Default-Port ist 8999. Öffne nach dem Start http://<deine-ip>:8999. Verwende -p für einen benutzerdefinierten Port:
dinotty-server -p 3000
Schnellstart
# Repo klonen (Shallow Clone empfohlen - schneller und kleiner)
git clone --depth 1 --single-branch -b dev [email protected]:xichan96/dinotty.git
cd dinotty
# Frontend bauen
cd frontend && pnpm install && pnpm run build && cd ..
# Server starten
cargo run
Windows PowerShell Äquivalent:
git clone --depth 1 --single-branch -b dev [email protected]:xichan96/dinotty.git
cd dinotty
cd frontend
pnpm install
pnpm run build
cd ..
cargo run
Öffne http://127.0.0.1:8999 in deinem Browser.
# Backend mit Debug-Logging
RUST_LOG=debug cargo run
# Frontend Type-Check
cd frontend && npx vue-tsc --noEmit
# Windows PowerShell Debug-Logging
$env:RUST_LOG = "debug"
cargo run
Tech-Stack
| Schicht | Technologie |
|---|---|
| Backend | Rust, Axum 0.7, Tokio, portable-pty, vte, russh, russh-sftp |
| Frontend | Vue 3, TypeScript, Vite, xterm.js 5 |
| Desktop | Tauri |
In Rust geschrieben · Single Binary · Zero Dependencies - Führt eine vollständige VT-Zustandsmaschine auf dem Server aus, kein Pipe-Forwarding-Proxy, sodass Sessions Verbindungsabbruch überleben.
Weitere Dokumentation
- Vergleich - Unterschiede vs ttyd/gotty/Wetty und andere AI-Coding-Remote-Lösungen
- Deployment-Guide - systemd, Docker, Windows-Native-Run, Cross-Platform-Build, Konfiguration
- Release-Guide - einheitliches Versionsmanagement, Versions-PRs,
dev-zu-main-Promotion, Tags und GitHub Releases - Datei-Editor - Pane-Aufteilung, Multi-Cursor-Editing, Cursor Group Cross-File-Sync
- Benachrichtigungssystem - HTTP API, Claude Code-Integration, Open API
- Plugin-System - Installation, Manifest, API, eingebaute Plugins
- Plugin-Entwicklung - vollständiger Plugin-Entwicklungs-Guide
- Host-Zwischenablage-API - sensibler authentifizierter Endpoint für Mobile-Host-Paste
- MCP Server - eingebauter MCP JSON-RPC-Server für AI-Assistenten zum Operieren von Terminal-Sessions
- Token-Berechtigungssystem - Capability-basierte Multi-Token-Fine-Grained-Access-Control
- Event Bus - globaler Event Bus für modulübergreifenden Event-Dispatch
- Audit Log und Webhook - API-Nutzungs-Tracking und externe Benachrichtigungen
- Contributing - Branch-Strategie, Commit-Konvention, Code-Stil
Mitwirkende
Danke an alle, die zu Dinotty beigetragen haben!
Star History
Lizenz
MIT
Ähnliche Projekte entdecken
codecrafters-io/build-your-own-x
Meistere das Programmieren, indem du deine Lieblingstechnologien von Grund auf neu erschaffst.
561,867 Sternepublic-apis/public-apis
Eine gemeinschaftliche Liste kostenloser APIs
498,223 Sternemorluto/rea
Mit Agenten alles per Reverse Engineering untersuchen, vom Verhalten der Anwendung bis hin zu nativen Binärdateien.
452,577 Sterneopenclaw/openclaw
Die KI, die wirklich Dinge erledigt. Jedes Betriebssystem, jede Plattform. Auf die Hummer-Art. 🦞
394,365 Sterne