macOS companion app

WebChat (macOS)

macOS मेनू बार ऐप WebChat UI को नेटिव SwiftUI व्यू के रूप में एम्बेड करता है। यह Gateway से कनेक्ट होता है और चयनित एजेंट के लिए प्राथमिक सत्र को डिफ़ॉल्ट बनाता है (main, या जब session.scope, global हो तब global)।

पूरी चैट विंडो एक नेटिव स्प्लिट व्यू है:

  • सत्र साइडबार: खोजने योग्य सत्र सूची, जिसमें पिन किए गए और हालिया अनुभाग, अपठित संकेतक, और पिन/अनपिन करने, सत्र कुंजी कॉपी करने तथा हटाने के लिए संदर्भ मेनू हैं। टूलबार बटन (या Cmd-N) sessions.create के माध्यम से एक वास्तविक नया सत्र बनाता है।
  • विंडो टूलबार: संदर्भ-उपयोग रिंग (टोकन और सत्र लागत, एक कॉम्पैक्ट कार्रवाई के साथ), चिंतन-स्तर चयनकर्ता, मॉडल चयनकर्ता, और सत्र कार्रवाई मेनू (नया सत्र, रीफ़्रेश, सत्र कुंजी कॉपी करें, ट्रांसक्रिप्ट निर्यात करें, कॉम्पैक्ट करें, इतिहास साफ़ करें)।
  • ट्रांसक्रिप्ट और कंपोज़र: सहायक के संदेश अवतार के साथ सादे टेक्स्ट के रूप में और उपयोगकर्ता के संदेश उभार वाले बबल के रूप में रेंडर होते हैं। / टाइप करने पर commands.list द्वारा समर्थित स्लैश-कमांड स्वतः-पूर्णता खुलती है, जिसमें ऐरो/Tab/Return/Escape कीबोर्ड नेविगेशन होता है। किसी संदेश को कॉपी करने के लिए उस पर राइट-क्लिक करें।

मेनू बार का एंकर किया गया क्विक-चैट पैनल इनलाइन चयनकर्ताओं के साथ कॉम्पैक्ट एकल-कॉलम लेआउट बनाए रखता है।

  • लोकल मोड: सीधे लोकल Gateway WebSocket से कनेक्ट होता है।
  • रिमोट मोड: Gateway नियंत्रण पोर्ट को SSH पर फ़ॉरवर्ड करता है और उस टनल को डेटा प्लेन के रूप में उपयोग करता है।

लॉन्च और डीबगिंग

  • मैन्युअल: Lobster मेनू -> "Open Chat"।

  • परीक्षण के लिए स्वतः खोलना:

    bash
    dist/OpenClaw.app/Contents/MacOS/OpenClaw --chat

    (--webchat को विरासती उपनाम के रूप में स्वीकार किया जाता है।)

  • लॉग: ./scripts/clawlog.sh (सबसिस्टम ai.openclaw, श्रेणी WebChatSwiftUI)।

इसकी वायरिंग कैसे की गई है

  • डेटा प्लेन: Gateway WS विधियाँ chat.history, chat.send, chat.abort, chat.inject, और इवेंट chat, agent, presence, tick, health
  • chat.history प्रदर्शन के लिए सामान्यीकृत ट्रांसक्रिप्ट लौटाता है: इनलाइन डायरेक्टिव टैग दृश्यमान टेक्स्ट से हटा दिए जाते हैं, सादे-टेक्स्ट वाले टूल-कॉल XML पेलोड (<tool_call>, <function_call>, <tool_calls>, <function_calls>, जिनमें काटे गए ब्लॉक भी शामिल हैं) और लीक हुए मॉडल नियंत्रण टोकन हटा दिए जाते हैं, केवल मौन-टोकन वाली सहायक पंक्तियाँ, जैसे हूबहू NO_REPLY/no_reply, छोड़ दी जाती हैं, और बहुत बड़ी पंक्तियों को काटे गए प्लेसहोल्डर से बदला जा सकता है।
  • सत्र: ऊपर बताए अनुसार प्राथमिक सत्र को डिफ़ॉल्ट बनाता है; UI सत्रों के बीच स्विच कर सकता है।
  • ऑनबोर्डिंग पहली बार के सेटअप को अलग रखने के लिए समर्पित सत्र का उपयोग करती है।
  • ऑफ़लाइन कैश: ऐप प्रत्येक Gateway (~/Library/Application Support/OpenClaw/chat-cache.sqlite) के लिए हालिया चैट सत्रों और ट्रांसक्रिप्ट का एक छोटा केवल-पढ़ने योग्य कैश रखता है: कोल्ड ओपन पर अंतिम ज्ञात ट्रांसक्रिप्ट तुरंत दिखाई देता है और Gateway से प्रतिक्रिया मिलने पर रीफ़्रेश होता है, तथा डिस्कनेक्ट होने पर भी हालिया चैट ब्राउज़ की जा सकती हैं (कनेक्शन वापस आने तक भेजना अक्षम रहता है)।

सुरक्षा सतह

  • रिमोट मोड SSH पर केवल Gateway WebSocket नियंत्रण पोर्ट को फ़ॉरवर्ड करता है।

ज्ञात सीमाएँ

  • UI को चैट सत्रों के लिए अनुकूलित किया गया है, पूर्ण ब्राउज़र सैंडबॉक्स के लिए नहीं।

संबंधित

Was this useful?
On this page

On this page