Gateway

Gateway คืออะไร?

Gateway คือหัวใจของ Neotask, บริการที่รันระยะยาวตัวเดียวที่จัดการเซสชันเอเจนต์ทั้งหมด ช่องทางการส่งข้อความ การรันเครื่องมือ และการเชื่อมต่ออุปกรณ์ ทุกอย่างไหลผ่าน Gateway

มันคือ WebSocket server ที่รับฟังการเชื่อมต่อจาก client (แอปเดสก์ท็อป แอปมือถือ web dashboard) และจัดการวงจรชีวิตของผู้ช่วย AI ทั้งหมด

สถาปัตยกรรม

ส่วนประกอบ

โหมด Binding

โหมด คำอธิบาย
Loopback ค่าเริ่มต้น เข้าถึงได้เฉพาะจาก localhost (127.0.0.1)
LAN เข้าถึงได้บนเครือข่ายท้องถิ่น ค้นพบได้อัตโนมัติผ่าน Bonjour/mDNS
Tailnet เข้าถึงได้ผ่าน Tailscale VPN พร้อม MagicDNS
Custom Bind กับที่อยู่เฉพาะ

การตรวจสอบสิทธิ์

วิธีการ คำอธิบาย
Token WebSocket bearer token (UUID หรือ string กำหนดเอง)
Password การตรวจสอบสิทธิ์ด้วยรหัสผ่าน (bcrypt hashed)
Trusted Proxy สำหรับ reverse proxy ที่มี pre-auth header
Local Trust การเชื่อมต่อ loopback ได้รับการอนุมัติอัตโนมัติ

การกำหนดค่า

Gateway กำหนดค่าผ่าน neotask.json (รูปแบบ JSON5) ส่วนสำคัญ:

ส่วน ควบคุม
agents รายการเอเจนต์ ค่าเริ่มต้น workspace
gateway พอร์ต bind mode, auth, พฤติกรรมโหลดซ้ำ
channels การกำหนดค่าและข้อมูลประจำตัวต่อช่องทาง
tools สิทธิ์เครื่องมือ profile ความปลอดภัย
plugins การโหลด plugin การเปิดใช้งาน การกำหนดค่าต่อ plugin
models auth ผู้ให้บริการ fallback การตั้งค่าผู้ให้บริการ
skills ไดเรกทอรีทักษะ การกำหนดค่าต่อทักษะ
browser Browser profile, พอร์ต โหมด headless
cron การกำหนดค่า scheduler
session กฎการรีเซ็ต เกณฑ์การบีบอัด
messages การตั้งค่า TTS นโยบายสื่อ
memory การกำหนดค่าการ index หน่วยความจำ
security การ sandbox โหมดยกระดับ การอนุมัติ

Hot Reload

การเปลี่ยนแปลงการกำหนดค่าสามารถใช้งานได้โดยไม่ต้องรีสตาร์ท:

โหมด พฤติกรรม
Hybrid (ค่าเริ่มต้น) ใช้การเปลี่ยนแปลงที่ปลอดภัยแบบ hot-apply รีสตาร์ทสำหรับอื่น ๆ
Hot ใช้เฉพาะการเปลี่ยนแปลงที่ปลอดภัยแบบ hot เพิกเฉยต่ออื่น ๆ
Restart รีสตาร์ทเมื่อมีการเปลี่ยนแปลงที่ต้องโหลดซ้ำ
Off ไม่มีการโหลดซ้ำอัตโนมัติ

การเข้าถึงระยะไกล

Tailscale (แนะนำ)

Tailscale ให้การเข้าถึงระยะไกลที่ปลอดภัยและ zero-config:

SSH Tunnel

ส่งต่อพอร์ต Gateway ผ่าน SSH:

กฎความปลอดภัย

การตรวจสอบสุขภาพ

Health Endpoint

HTTP endpoint /health ส่งคืน:

Probe

การค้นพบ

Bonjour/mDNS

เมื่อ bind กับ LAN, Gateway โฆษณาตัวเองผ่าน multicast DNS:

Wide-Area Discovery

ค้นพบ gateway ข้ามเครือข่ายของคุณพร้อม timeout ที่กำหนดค่าได้ รองรับทั้ง Bonjour ในเครื่องและการค้นพบ DNS ของ Tailscale

Gateway หลายตัว

คุณสามารถรัน Gateway หลาย instance บนเครื่องเดียวกันโดยใช้ profile:

การวินิจฉัย

Doctor

เครื่องมือวินิจฉัยในตัวตรวจสอบ:

มันสามารถแก้ไขปัญหาหลาย ๆ อย่างโดยอัตโนมัติเมื่อได้รับอนุญาต

Logging

Gateway log ถูกเขียนลงในไฟล์ JSONL รายวัน: