واجهات الويب
WebChat
الحالة: واجهة المستخدم SwiftUI الخاصة بـ macOS/iOS تتحدث مباشرة إلى منفذ WebSocket الخاص بالبوابة.
ما هو
- واجهة مستخدم محادثة أصلية للبوابة (بدون متصفح مضمن وبدون خادم ثابت محلي).
- تستخدم نفس الجلسات وقواعد التوجيه مثل القنوات الأخرى.
- توجيه حتمي: الردود تعود دائمًا إلى WebChat.
البدء السريع
- ابدأ تشغيل البوابة.
- افتح واجهة مستخدم WebChat (تطبيق macOS/iOS) أو علامة تبويب المحادثة في واجهة التحكم.
- تأكد من تكوين مصادقة البوابة (مطلوبة افتراضيًا، حتى على الاتصال المحلي).
آلية العمل (السلوك)
- تتصل واجهة المستخدم بـ WebSocket الخاص بالبوابة وتستخدم
chat.history، وchat.send، وchat.inject. chat.historyمحدود للاستقرار: قد تقوم البوابة بتقصير حقول النص الطويلة، وحذف البيانات الوصفية الثقيلة، واستبدال الإدخالات كبيرة الحجم بـ[chat.history omitted: message too large].chat.injectيضيف ملاحظة مساعد مباشرةً إلى النص وينشرها إلى واجهة المستخدم (بدون تشغيل وكيل).- يمكن للعمليات الملغاة أن تحتفظ بإخراج المساعد الجزئي مرئيًا في واجهة المستخدم.
- تحتفظ البوابة بنص المساعد الجزئي الملغي في سجل النص عند وجود إخراج مؤقت، وتضع علامة على تلك الإدخالات ببيانات وصفية للإلغاء.
- يتم جلب السجل دائمًا من البوابة (بدون مراقبة للملفات المحلية).
- إذا كانت البوابة غير قابلة للوصول، فإن WebChat يكون للقراءة فقط.
لوحة أدوات الوكلاء في واجهة التحكم
- تجلب لوحة الأدوات
/agentsفي واجهة التحكم كتالوج وقت التشغيل عبرtools.catalogوتصنف كل أداة على أنهاcoreأوplugin:<id>(بالإضافة إلىoptionalلأدوات الإضافات الاختيارية). - إذا كان
tools.catalogغير متاح، تعود اللوحة إلى قائمة ثابتة مدمجة. - تقوم اللوحة بتحرير ملف التعريف وتجاوز التكوين، لكن الوصول الفعلي في وقت التشغيل لا يزال يتبع أولوية السياسة (
allow/deny، وتجاوزات لكل وكيل وموفر/قناة).
الاستخدام عن بُعد
- يقوم الوضع البعيد بنفق WebSocket الخاص بالبوابة عبر SSH/Tailscale.
- لا تحتاج إلى تشغيل خادم WebChat منفصل.
مرجع التكوين (WebChat)
التكوين الكامل: التكوين خيارات القناة:
- لا توجد كتلة مخصصة
webchat.*. يستخدم WebChat نقطة نهاية البوابة + إعدادات المصادقة أدناه.
الخيارات العامة ذات الصلة:
gateway.port,gateway.bind: المضيف/المنفذ لـ WebSocket.gateway.auth.mode,gateway.auth.token,gateway.auth.password: مصادقة WebSocket (رمز/كلمة مرور).gateway.auth.mode: "trusted-proxy": مصادقة الوكيل العكسي لعملاء المتصفح (انظر مصادقة الوكيل الموثوق).gateway.remote.url,gateway.remote.token,gateway.remote.password: هدف البوابة البعيدة.session.*: تخزين الجلسة والإعدادات الافتراضية للمفتاح الرئيسي.
لوحة التحكمواجهة المستخدم النصية