---
read_when:
    - تصحيح أخطاء الوصول إلى WebChat أو إعداده
summary: مضيف WebChat الثابت على loopback واستخدام Gateway WS لواجهة الدردشة
title: WebChat
x-i18n:
    generated_at: "2026-04-05T13:01:06Z"
    model: gpt-5.4
    provider: openai
    source_hash: 2588be04e9ae38149bdf284bf4d75b6784d63899026d2351c4e0e7efdf05ff39
    source_path: web/webchat.md
    workflow: 15
---

# WebChat ‏(واجهة Gateway WebSocket)

الحالة: تتحدث واجهة الدردشة SwiftUI على macOS/iOS مباشرةً مع Gateway WebSocket.

## ما هو

- واجهة دردشة أصلية للـ gateway ‏(من دون متصفح مضمن ومن دون خادم ثابت محلي).
- تستخدم الجلسات نفسها وقواعد التوجيه نفسها مثل القنوات الأخرى.
- توجيه حتمي: تعود الردود دائمًا إلى WebChat.

## بداية سريعة

1. ابدأ تشغيل gateway.
2. افتح واجهة WebChat ‏(تطبيق macOS/iOS) أو تبويب الدردشة في Control UI.
3. تأكد من إعداد مسار مصادقة صالح لـ gateway ‏(سرّ مشترك افتراضيًا،
   حتى على loopback).

## كيف يعمل (السلوك)

- تتصل الواجهة بـ Gateway WebSocket وتستخدم `chat.history` و`chat.send` و`chat.inject`.
- يكون `chat.history` محدودًا من أجل الاستقرار: قد يقتطع Gateway حقول النص الطويلة، ويحذف البيانات الوصفية الثقيلة، ويستبدل الإدخالات كبيرة الحجم بـ `[chat.history omitted: message too large]`.
- كما أن `chat.history` مُطبَّع للعرض: إذ تتم إزالة وسوم توجيه التسليم المضمنة
  مثل `[[reply_to_*]]` و`[[audio_as_voice]]`، وحمولات XML النصية البسيطة الخاصة
  باستدعاءات الأدوات (بما في ذلك `<tool_call>...</tool_call>`،
  و`<function_call>...</function_call>`، و`<tool_calls>...</tool_calls>`،
  و`<function_calls>...</function_calls>`، وكتل استدعاءات الأدوات المبتورة)،
  وتسريبات رموز التحكم الخاصة بالنموذج بصيغة ASCII/العرض الكامل من النص المرئي،
  كما يتم حذف إدخالات المساعد التي يكون نصها المرئي بالكامل هو الرمز
  الصامت المطابق تمامًا `NO_REPLY` / `no_reply`.
- يضيف `chat.inject` ملاحظة مساعد مباشرة إلى النص التفريغي ويبثها إلى الواجهة (من دون تشغيل وكيل).
- يمكن أن تُبقي التشغيلات المُجهَضة مخرجات مساعد جزئية مرئية في الواجهة.
- يحفظ Gateway نص المساعد الجزئي المُجهَض في محفوظات النص التفريغي عند وجود مخرجات مخزنة مؤقتًا، ويضع علامات بيانات وصفية للإجهاض على تلك الإدخالات.
- يتم دائمًا جلب المحفوظات من gateway ‏(من دون مراقبة ملفات محلية).
- إذا كان gateway غير قابل للوصول، يصبح WebChat للقراءة فقط.

## لوحة أدوات الوكلاء في Control UI

- تحتوي لوحة الأدوات في `/agents` ضمن Control UI على عرضين منفصلين:
  - **متاح الآن** يستخدم `tools.effective(sessionKey=...)` ويعرض ما يمكن
    للجلسة الحالية استخدامه فعليًا في وقت التشغيل، بما في ذلك الأدوات الأساسية وأدوات plugin
    والأدوات المملوكة للقناة.
  - **إعدادات الأداة** تستخدم `tools.catalog` وتظل مركزة على ملفات التعريف والتجاوزات
    ودلالات الفهرس.
- يعتمد التوفر في وقت التشغيل على نطاق الجلسة. ويمكن أن يؤدي تبديل الجلسات على الوكيل نفسه إلى تغيير قائمة
  **متاح الآن**.
- لا يعني محرر الإعدادات توفرًا في وقت التشغيل؛ إذ يظل الوصول الفعلي خاضعًا
  لأولوية السياسة (`allow`/`deny`، والتجاوزات لكل وكيل ولكل مزود/قناة).

## الاستخدام عن بُعد

- يقوم الوضع البعيد بتمرير Gateway WebSocket عبر SSH/Tailscale.
- لا تحتاج إلى تشغيل خادم WebChat منفصل.

## مرجع الإعدادات (WebChat)

الإعدادات الكاملة: [الإعدادات](/ar/gateway/configuration)

خيارات WebChat:

- `gateway.webchat.chatHistoryMaxChars`: الحد الأقصى لعدد الأحرف في حقول النص ضمن استجابات `chat.history`. وعندما يتجاوز إدخال في النص التفريغي هذا الحد، يقتطع Gateway حقول النص الطويلة وقد يستبدل الرسائل كبيرة الحجم بعنصر نائب. ويمكن للعميل أيضًا إرسال `maxChars` لكل طلب لتجاوز هذا الإعداد الافتراضي في استدعاء واحد لـ `chat.history`.

الخيارات العامة ذات الصلة:

- `gateway.port` و`gateway.bind`: مضيف/منفذ WebSocket.
- `gateway.auth.mode` و`gateway.auth.token` و`gateway.auth.password`:
  مصادقة WebSocket بالسرّ المشترك.
- `gateway.auth.allowTailscale`: يمكن لتبويب الدردشة في Control UI ضمن المتصفح استخدام
  ترويسات هوية Tailscale Serve عند تفعيلها.
- `gateway.auth.mode: "trusted-proxy"`: مصادقة الوكيل العكسي لعملاء المتصفح خلف مصدر وكيل **غير loopback** ومدرك للهوية (راجع [مصادقة الوكيل الموثوق](/ar/gateway/trusted-proxy-auth)).
- `gateway.remote.url` و`gateway.remote.token` و`gateway.remote.password`: هدف gateway البعيد.
- `session.*`: تخزين الجلسة وإعدادات المفتاح الرئيسي الافتراضية.
