WebChat (Gateway WebSocket UI)

สถานะ: UI แชท SwiftUI macOS/iOS พูดคุยโดยตรงกับ Gateway WebSocket

มันคืออะไร

  • UI แชทเนทีฟสำหรับ gateway (ไม่มีเบราว์เซอร์ที่ฝังและไม่มีเซิร์ฟเวอร์แบบคงที่ในโลคัล)
  • ใช้เซสชันและกฎการกำหนดเส้นทางเดียวกับช่องทางอื่น
  • การกำหนดเส้นทางแบบกำหนดได้: การตอบกลับกลับไปที่ WebChat เสมอ

เริ่มต้นอย่างรวดเร็ว

  1. เริ่ม gateway
  2. เปิด WebChat UI (แอป macOS/iOS) หรือแท็บแชท Control UI
  3. ตรวจสอบให้แน่ใจว่ากำหนดค่า gateway auth แล้ว (ต้องการตามค่าเริ่มต้น แม้บน loopback)

วิธีการทำงาน (พฤติกรรม)

  • UI เชื่อมต่อกับ Gateway WebSocket และใช้ chat.history, chat.send และ chat.inject
  • chat.history มีขอบเขตเพื่อความเสถียร: Gateway อาจตัดฟิลด์ข้อความยาว ละเว้นเมทาดาต้าหนัก และแทนที่รายการขนาดใหญ่เกินไปด้วย [chat.history omitted: message too large]
  • chat.inject แนบโน้ต assistant โดยตรงกับ transcript และออกอากาศไปยัง UI (ไม่มีการรัน agent)
  • การรันที่ถูกยกเลิกสามารถเก็บเอาต์พุต assistant บางส่วนที่มองเห็นได้ใน UI
  • Gateway เก็บข้อความบางส่วนของ assistant ที่ถูกยกเลิกลงในประวัติ transcript เมื่อมีเอาต์พุตที่บัฟเฟอร์อยู่ และทำเครื่องหมายรายการเหล่านั้นด้วยเมทาดาต้าการยกเลิก
  • ประวัติถูกดึงจาก gateway เสมอ (ไม่มีการดูไฟล์ในโลคัล)
  • หาก gateway ไม่สามารถเข้าถึงได้ WebChat เป็นแบบอ่านอย่างเดียว

การใช้งานระยะไกล

  • โหมดระยะไกลอุโมงค์ gateway WebSocket ผ่าน SSH/Tailscale
  • คุณไม่ต้องการรันเซิร์ฟเวอร์ WebChat แยก

การอ้างอิงการตั้งค่า (WebChat)

การตั้งค่าเต็ม: Configuration

ตัวเลือกช่องทาง:

  • ไม่มีบล็อก webchat.* เฉพาะ WebChat ใช้ endpoint gateway + การตั้งค่า auth ด้านล่าง

ตัวเลือกส่วนกลางที่เกี่ยวข้อง:

  • gateway.port, gateway.bind: WebSocket host/port
  • gateway.auth.mode, gateway.auth.token, gateway.auth.password: WebSocket auth (โทเค็น/รหัสผ่าน)
  • gateway.auth.mode: "trusted-proxy": การพิสูจน์ตัวตน reverse-proxy สำหรับไคลเอนต์เบราว์เซอร์
  • gateway.remote.url, gateway.remote.token, gateway.remote.password: เป้าหมาย gateway ระยะไกล
  • session.*: ที่เก็บเซสชันและค่าเริ่มต้น key หลัก