nodeterm trasforma il caos delle schede del terminale in una tela infinita
Qualsiasi sviluppatore che prova a eseguire agenti AI autonomi come Claude Code o Codex in parallelo con i servizi regolari si imbatte rapidamente nello stesso problema. Una dozzina di schede in iTerm o Warp diventano un caos. Non è chiaro dove sono falliti i test, quale branch viene modificato in background e quale terminale sta aspettando la conferma di un comando.
Il progetto nodeterm offre un approccio diverso al workspace. Invece di schede lineari o split, utilizza una tela infinita dove ogni terminale vive come un nodo separato e mobile.
Cosa c'è dentro la tela
L'idea fondamentale è semplice: dare un'orientamento spaziale ai tuoi workflow. Puoi raggruppare backend, frontend e agenti in background in un unico cluster e attaccare una nota con promemoria dei task proprio accanto a loro.
Un nodo qui non è solo un terminale. Puoi posizionare sulla tela:
- Sessioni terminale complete basate su xterm e tmux
- Schede agente AI (Claude Code, Copilot, Gemini, Grok)
- Editor di codice Monaco con supporto per il salvataggio rapido
- Visualizzatore diff Git e finestre di anteprima pagine web
- Note adesive di testo che possono essere collegate agli agenti per la condivisione del contesto
Le sessioni non vengono perse quando chiudi la finestra o riavvii il sistema. Sotto il cofano, l'app mantiene una vera sessione tmux. Su macOS, il client include un binario tmux integrato, quindi non devi installarlo separatamente.
Monitorare gli agenti senza parsing dell'output
Quando un agente trascorre molto tempo a scrivere codice o eseguire test, è facile dimenticare di controllare il suo stato. nodeterm traccia lo stato attraverso hook di sistema invece di fare parsing dell'output di testo.
Se un processo ha bisogno di una conferma dell'utente, la scheda si illumina con un badge NEEDS YOU e appare una notifica nativa. Sui MacBook, lo stato degli agenti attivi appare persino nell'area della notch.
Un dettaglio interessante: gli agenti all'interno dell'app possono interagire con la tela attraverso una CLI integrata. Per esempio, un agente può creare un nodo adiacente per eseguire test o controllare gli artifact di build di un altro agente.
Lavagna Kanban da sessioni live
Premendo Cmd+Shift+B si passa alla modalità lavagna Kanban. Ogni scheda sulla lavagna rimane una sessione terminale funzionante.
Trascini una scheda dalla colonna "In Progress" a "Review", la apri in una finestra modale e rispondi direttamente alla domanda dell'agente sul codice. È supportata anche la sincronizzazione bidirezionale con GitHub Issues: le task vengono estratte sulla lavagna e cambiano stato quando vengono spostate.
Accesso dal telefono e modalità server
L'app non è limitata a un client desktop Electron. L'architettura è suddivisa in un core indipendente e transport, ed è per questo che nodeterm funziona in tre formati.
- Applicazione desktop per macOS e Linux.
- Server Edition. La stessa tela gira su un server remoto senza shell grafica e si apre in un normale browser tramite WebSockets.
- Client mobile su iOS. Scansiona un codice QR sullo schermo del monitor e la sessione viene inoltrata al tuo telefono con crittografia end-to-end. Puoi allontanarti per un caffè e rispondere ai prompt degli agenti on the go.
Input vocale direttamente nella shell
nodeterm ha un modello Whisper locale integrato. Se tieni premuto Cmd+Alt (Ctrl+Alt su Linux) e detti un'istruzione lunga, l'audio viene elaborato direttamente sulla tua CPU.
Il testo non viene inviato al terminale automaticamente. Prima vedi il risultato riconosciuto, lo modifichi manualmente se necessario e solo poi premi invia. I dati audio non vanno da nessuna parte sulla rete.
Architettura e stack
Il client è scritto in TypeScript usando Electron e la libreria React Flow come motore della tela.
Gli sviluppatori hanno estratto le operazioni PTY, git e agent in un'interfaccia CorePlatform. Il processo Electron e il processo Node del server implementano la stessa interfaccia. Grazie a questo, la versione web non è una porta ridotta—usa letteralmente la stessa interfaccia renderer.
Il progetto è distribuito sotto la Business Source License 1.1 (BUSL-1.1). Il codice sorgente è aperto per uso personale e di produzione, ma proibisce la creazione di un servizio a pagamento concorrente basato su nodeterm. Quattro anni dopo il rilascio di ogni versione, il codice passa automaticamente a MIT puro.
Come provarlo
Su macOS, il modo più semplice per installare l'app è tramite Homebrew:
brew tap nodeterm/tap
brew trust nodeterm/tap
brew install --cask nodeterm
Per Linux, sono disponibili pacchetti AppImage e .deb precompilati sulla pagina delle release del repository.
Se vuoi eseguire un server headless su una macchina remota, hai solo bisogno di Node.js 22 e tmux:
git clone https://github.com/eneskirca/nodeterm.git
cd nodeterm
npm install
npm run server:dev
Dopo l'avvio, l'interfaccia web ti aspetterà all'indirizzo http://127.0.0.1:8443.
A chi tornerà utile nodeterm
Lo strumento è rivolto principalmente agli sviluppatori che tengono aperte dozzine di task parallele, lavorano con git worktree o delegano attivamente porzioni di codice ad agenti AI da riga di comando. Se ti trovi più a tuo agio con un classico terminale minimalista che occupa metà dello schermo, la tela spaziale potrebbe sembrare eccessiva. Ma se sei stanco di perderti tra schede infinite e finestre tmux, l'approccio visivo di nodeterm potrebbe portare ordine nella tua mente.
Progetti correlati