Gateway
Vad är Gateway?
Gateway är hjärtat av Neotask, en enda långlivad tjänst som hanterar alla agentsessioner, meddelandekanaler, verktygsexekvering och enhetsanslutningar. Allt flödar genom Gateway.
Det är en WebSocket-server som lyssnar efter anslutningar från klienter (skrivbordsapp, mobilappar, webbinstrumentpanel) och hanterar hela AI-assistentens livscykel.
Arkitektur
Komponenter
- WebSocket-server, Tar emot klientanslutningar (standardport 18789)
- HTTP-server, Serverar Control UI, canvas-värd och hälsoslutpunkter
- Kanaladaptrar, Upprätthåller anslutningar till meddelandeplattformar (WhatsApp, Telegram, Discord, osv.)
- Sessionshanterare, Bevarar och hanterar agentkonversationstillstånd
- Cron-schemaläggare, Kör schemalagda jobb och hjärtslagsvakningar
- Plugin-körningsmiljö, Laddar och hanterar plug-ins livscykel
- Webbläsartjänst, Styr Chromium-instanser för webbautomatisering
Bindningslägen
| Läge | Beskrivning |
|---|---|
| Loopback | Standard. Endast tillgänglig från localhost (127.0.0.1) |
| LAN | Tillgänglig på ditt lokala nätverk. Automatiskt synlig via Bonjour/mDNS |
| Tailnet | Tillgänglig via Tailscale VPN med MagicDNS |
| Anpassad | Bind till en specifik adress |
Autentisering
| Metod | Beskrivning |
|---|---|
| Token | WebSocket bearer-token (UUID eller anpassad sträng) |
| Lösenord | Lösenordsbaserad autentisering (bcrypt-hashat) |
| Betrodd proxy | För omvända proxyer med förautentiserade headers |
| Lokal tillit | Loopback-anslutningar godkänns automatiskt |
Konfiguration
Gateway konfigureras via neotask.json (JSON5-format). Viktiga avsnitt:
| Avsnitt | Kontrollerar |
|---|---|
agents |
Agentlista, standardvärden, arbetsytor |
gateway |
Port, bindningsläge, autentisering, omladdningsbeteende |
channels |
Per-kanal-konfiguration och inloggningsuppgifter |
tools |
Verktygsbehörigheter, profiler, säkerhet |
plugins |
Plug-inladdning, aktivering, per-plug-in-konfiguration |
models |
Leverantörsautentisering, fallback, leverantörsinställningar |
skills |
Färdighetskataloger, per-färdighet-konfiguration |
browser |
Webbläsarprofiler, portar, headless-läge |
cron |
Schemaläggarekonfiguration |
session |
Återställningsregler, kompakteringströskel |
messages |
TTS-inställningar, mediepolicyer |
memory |
Minnesindexeringskonfiguration |
security |
Sandlåda, förhöjt läge, godkännanden |
Varm omladdning
Konfigurationsändringar kan tillämpas utan omstart:
| Läge | Beteende |
|---|---|
| Hybrid (standard) | Tillämpa säkra ändringar direkt, starta om för andra |
| Varm | Tillämpa bara varma-säkra ändringar, ignorera andra |
| Omstart | Starta om vid alla omladdningskrävande ändringar |
| Av | Ingen automatisk omladdning |
Fjärråtkomst
Tailscale (Rekommenderas)
Tailscale tillhandahåller säker, nollkonfigurationsfjärråtkomst:
- Bind Gateway till ditt Tailnet
- Åtkomst från vilken enhet som helst i samma Tailscale-nätverk
- Automatisk DNS via MagicDNS
- Tailscale Serve kan exponera instrumentpanelen med HTTPS
SSH-tunnel
Vidarebefordra Gateway-porten via SSH:
- Enkelt, säkert, inga konfigurationsändringar behövs
- Fungerar med vilken SSH-kapabel maskin som helst
- Stöder det fullständiga WebSocket-protokollet och Control UI
Säkerhetsregler
- Loopback + SSH/Tailscale är den säkraste kombinationen
- Icke-loopback-bindning kräver konfiguration av autentiseringstoken
- TLS-fingeravtryckspin tillgängligt för extra säkerhet
- Webbläsarkontroll är inaktiverad för fjärranslutningar som standard
Hälsoövervakning
Hälsoslutpunkt
HTTP-slutpunkten /health returnerar:
- Gateway-status
- RPC-livskraft
- Per-kanal-hälsa (ansluten, autentiseringsstatus, kontoanatal)
- Webbläsarberedskap
- Aktiva agenter och anslutna noder
- Drifttid
Sonder
- RPC-livskraft, WebSocket-anslutning + ekotest
- Kanalhälsa, Autentiseringskontroll + API-ping per kanal
- Webbläsarberedskap, Portkontroll, processkontroll
- Nodanslutning, Senaste hjärtslags-tidsstämpel
Identifiering
Bonjour/mDNS
När bunden till LAN annonserar Gateway sig via multicast-DNS:
- Tjänstetyp:
_neotask-gw._tcp - Inkluderar port, transport, TLS-status och Tailscale DNS-info
- Följappar identifierar Gateway automatiskt
Bred identifiering
Identifiera gatewayer över ditt nätverk med konfigurerbara tidsgränser. Stöder både lokal Bonjour och Tailscale DNS-identifiering.
Flera gatewayer
Du kan köra flera Gateway-instanser på samma maskin med hjälp av profiler:
- Varje profil har separat konfiguration, arbetsyta, sessioner och tillstånd
- Olika portar för varje Gateway
- Användbart för isolering (personlig vs arbete) eller testning
Diagnostik
Doktor
Det inbyggda diagnostikverktyget kontrollerar:
- Konfigurationsgiltighet
- Filbehörigheter
- Kanalanslutning
- Modellautentiseringsstatus
- Node.js-versionskompatibilitet
- Vanliga felkonfigurationer
Det kan automatiskt åtgärda många problem när det ges tillstånd.
Loggning
Gateway-loggar skrivs till dagliga JSONL-filer:
- Per-slutförande tokenanvändningsspårning
- Kanalhändelseloggar
- Felloggning med strukturerad kontext
- Konfigurerbara loggnivåer