macOS companion app
เว็บแชต (macOS)
แอปแถบเมนู macOS ฝัง UI ของ WebChat เป็นมุมมอง SwiftUI แบบเนทีฟ โดย เชื่อมต่อกับ Gateway และตั้งค่าเริ่มต้นเป็น เซสชันหลัก สำหรับ agent ที่เลือก (พร้อมตัวสลับเซสชันสำหรับเซสชันอื่น)
- โหมดภายในเครื่อง: เชื่อมต่อโดยตรงกับเว็บซ็อกเก็ตของ Gateway ภายในเครื่อง
- โหมดระยะไกล: ส่งต่อพอร์ตควบคุมของ Gateway ผ่าน SSH และใช้ ทันเนลดังกล่าวเป็นระนาบข้อมูล
การเรียกใช้และการดีบัก
-
แบบกำหนดเอง: เมนู Lobster → "เปิดแชต"
-
เปิดอัตโนมัติสำหรับการทดสอบ:
dist/OpenClaw.app/Contents/MacOS/OpenClaw --webchat -
บันทึก:
./scripts/clawlog.sh(subsystemai.openclaw, categoryWebChatSwiftUI)
วิธีการเชื่อมต่อภายใน
- ระนาบข้อมูล: เมธอด WS ของ Gateway ได้แก่
chat.history,chat.send,chat.abort,chat.injectและเหตุการณ์chat,agent,presence,tick,health chat.historyส่งคืนแถวทรานสคริปต์ที่ปรับให้เหมาะกับการแสดงผลแล้ว: แท็ก directive แบบอินไลน์จะถูกตัดออกจากข้อความที่มองเห็นได้, payload XML ของการเรียกเครื่องมือแบบข้อความล้วน (รวมถึง<tool_call>...</tool_call>,<function_call>...</function_call>,<tool_calls>...</tool_calls>,<function_calls>...</function_calls>และบล็อกการเรียกเครื่องมือที่ถูกตัดทอน) และ โทเค็นควบคุมโมเดล ASCII/แบบเต็มความกว้างที่หลุดออกมาจะถูกตัดออก, แถว assistant ที่เป็น silent-token ล้วน เช่นNO_REPLY/no_replyแบบตรงตัว จะถูกละไว้ และแถวที่มีขนาดใหญ่เกินไปสามารถถูกแทนที่ด้วย placeholder ได้- เซสชัน: ตั้งค่าเริ่มต้นเป็นเซสชันหลัก (
mainหรือglobalเมื่อขอบเขตเป็น global) UI สามารถสลับระหว่างเซสชันได้ - การเริ่มต้นใช้งานใช้เซสชันเฉพาะเพื่อแยกการตั้งค่าครั้งแรกออกจากส่วนอื่น
พื้นผิวด้านความปลอดภัย
- โหมดระยะไกลจะส่งต่อเฉพาะพอร์ตควบคุมเว็บซ็อกเก็ตของ Gateway ผ่าน SSH
ข้อจำกัดที่ทราบ
- UI ได้รับการปรับให้เหมาะกับเซสชันแชต (ไม่ใช่แซนด์บ็อกซ์เบราว์เซอร์เต็มรูปแบบ)