>_ DevTrendsnl

Taal

Home

Talen

Secties

Frontend Backend Mobiel DevOps AI / ML GameDev Blockchain Embedded Beveiliging
JavaScript

Zo run je een volwaardige werkterminal met AI-agents rechtstreeks in je browser

Soms moet je snel een gecrashte service repareren vanaf een tablet onderweg of logs controleren op een laptop zonder je gebruikelijke SSH-sleutels. Meestal betekent dit worstelen met mobiele terminals, struikelen over lastige toetsinvoer en opnieuw sessies opzetten die verloren gingen toen de verbinding verbrak.

Onlangs stuitte ik op Tabminal. De ontwikkelaar bouwde een webterminal die twee problemen tegelijk oplost: persistente serversessies behouden terwijl traditionele shell-toegang wordt gecombineerd met het ACP-protocol voor het werken met autonome AI-agents.

Tabminal Banner

Wat Tabminal Kan Doen

In essentie is het een volwaardige werkruimte in je browser. De backend draait op je machine of server, en je verbindt via de webinterface of PWA-app.

Belangrijkste functies:

  • Sessies gaan niet verloren wanneer je het tabblad sluit, de pagina vernieuwt of overschakelt van Wi-Fi naar mobiele data.
  • Ingebouwde bestandseditor gebaseerd op Monaco (VS Code-engine) met syntax highlighting en afbeeldingsvoorbeeld.
  • Native ACP (Agent Client Protocol)-ondersteuning voor het starten van autonome assistenten zoals Claude Code, Gemini CLI of Codex.
  • Beheer een cluster van meerdere servers in één venster met aparte toegangsrechten.

Foto van Tabminal

Screenshot 2026-03-26 at 11 00 10 PM

Werken met AI-agents via ACP

De AI-integratie gaat hier dieper dan een chatsidebar naast de console. Het project ondersteunt de ACP-specificatie, dus de agent werkt in een geïsoleerde context en toont zijn acties rechtstreeks in de interface:

  • Tool-aanroepen en commando-uitvoering worden in realtime weergegeven.
  • Codewijzigingen worden getoond als duidelijke diff-blokken.
  • Er is een "Jump in"-knop waarmee je direct in de draaiende terminal van de agent kunt stappen als je handmatig wilt overnemen.
  • Dialoogstatus, uitvoeringsplannen en transcripties blijven behouden tussen paginaverversingen.

Als CLI-hulpprogramma's van Anthropic, Google of OpenAI op de server zijn geïnstalleerd, detecteert Tabminal ze automatisch in de systeempaden.

Naast complexe agents is er ook een eenvoudige ingebouwde assistent. Als je een commando typt met het #-symbool aan het begin van een regel, stuurt de server een verzoek naar OpenAI of OpenRouter, rekening houdend met recente shell-geschiedenis. Wanneer een commando crasht met een fout, zal het systeem uit zichzelf een oplossing voorstellen.

Screenshot 2026-03-26 at 5 34 05 PM Screenshot 2026-03-26 at 2 40 39 PM Screenshot 2026-03-25 at 10 11 37 PM

Multi-Host en Mobiele Interface

Een interessant architecturaal detail: één draaiende Tabminal-instantie kan fungeren als centrale hub. In de sidebar voeg je andere servers toe die ook de project-backend draaien. De host-registry wordt op de hoofdserver opgeslagen en autorisatie werkt individueel voor elk knooppunt.

Screenshot 2026-03-25 at 5 37 05 AM

De aanpasbaarheid verdient apart vermelding. Meestal worden webterminals op smartphones een nachtmerrie vanwege het on-screen toetsenbord en ontbrekende Ctrl-, Alt- of Esc-toetsen. In Tabminal wordt het virtuele paneel precies boven het toetsenbord geplaatst en kan de interface samenvouwen naar een compacte weergave met respect voor scherm-veilige gebieden (Safe Area op iOS).

Screenshot 2026-03-30 at 1 33 04 PM Screenshot 2026-03-30 at 6 20 25 AM

Tabminal Screenshot

Screenshot 2025-11-24 at 3 03 03 PM Screenshot 2025-11-24 at 3 02 12 PM Screenshot 2025-11-24 at 3 01 46 PM Screenshot 2025-11-24 at 2 57 39 PM Screenshot 2026-03-26 at 5 28 17 PM

Architectuur en Beveiliging

Onder de motorkap gebruikt het project een klassieke stack: Node.js versie 22 of hoger, het Koa-framework, node-pty emulator en WebSockets. De client-side is geschreven in vanilla JavaScript zonder zware frameworks en de xterm.js-bibliotheek verzorgt de console-rendering.

Belangrijk: Tabminal geeft directe toegang tot het bestandssysteem en commando-uitvoering met de rechten van de gebruiker die het proces uitvoert. Stel de poort nooit zonder bescherming bloot aan het openbare internet. Voor externe toegang raadt de auteur rechtstreeks geïsoleerde overlay-netwerken aan zoals Tailscale of tunneling met authenticatie via Cloudflare Access. Bij het starten is de --accept-terms-vlag verplicht, anders zal het proces afsluiten met een fout.

Snelle Start

De eenvoudigste manier om het hulpprogramma te starten is via npx:

npx tabminal --accept-terms

Als je van plan bent de ingebouwde assistent te gebruiken, geef dan je OpenAI- of OpenRouter-sleutel door:

npx tabminal --openai-key "YOUR_API_KEY" --accept-terms

Voor persistente implementatie is er een kant-en-klare Docker-image:

docker run --rm -it -p 9846:9846 \
  leask/tabminal \
  --accept-terms

Bij het starten zonder wachtwoord genereert de server een tijdelijk token en drukt dit af naar de console. Alle instellingen worden lokaal opgeslagen in de ~/.tabminal/-directory.

Voor Wie Dit Project Nuttig Is

Tabminal overbrugt de kloof tussen klassieke SSH via terminal en zware cloud-IDE's. Als je regelmatig een thuisserver beheert, vanaf meerdere verschillende apparaten werkt of AI-agents wilt testen in een geïsoleerde omgeving rechtstreeks via het web, is het project zeker de moeite waard om lokaal te draaien. De repository heeft een open licentie (MIT), dus er is niets dat je tegenhoudt om het aan te passen voor je eigen behoeften.

Gerelateerde projecten