Hermes Agent
Hermes Agent Webapp: الإعداد والوصول من الهاتف وتسجيل الدخول
تاريخ التحديث 12 نوفمبر 2026
Webapp هو الميزة الأبرز في Hermes Agent الإصدار v0.23.0 الذي صدر في 5 نوفمبر 2026. يقدّم مساحة عمل Hermes Desktop إلى تبويب متصفح عادي، مباشرة من بوابتك الخاصة، فتتوفر المحادثات والإعدادات نفسها دون تثبيت تطبيق سطح المكتب على كل جهاز.
تم التحقق من هذه الصفحة مقابل وثائق Hermes Agent 0.23.1: دليل Desktop، وصفحات مرجع الإعداد وDocker وCLI، و ملاحظات إصدار v0.23.0، وكلها قُرئت في 12 نوفمبر 2026.
ما هو Webapp
تستطيع البوابة أن تقدّم مساحة عمل Desktop على منفذ استماع خاص بها. بحسب الوثائق، تغطي نسخة المتصفح الجلسات والملفات الشخصية وCapabilities وMessaging وArtifacts والمهام المجدولة وشجرة ملفات المضيف ومراجعة Git والمعاينات وشريط الطرفية. تعمل المحادثات على البوابة، وهي العملية نفسها التي تخدم سطر الأوامر وتطبيق Desktop الأصلي وتطبيقات المراسلة لديك، فترى كل الواجهات محادثة واحدة بطابور واحد.
تصفه ملاحظات الإصدار بأنه لمستخدم واحد: التبويب الذي سجّل الدخول يتصرف باسمك، وجلساته ومحادثات المجموعات فيه هي نفسها التي يعرضها Desktop الأصلي. وهو متوقف افتراضيًا، ولا يُقدَّم شيء لأي متصفح حتى تشغّله.
شغّله وافتحه
فعّله مرة واحدة، ثم أعد تشغيل البوابة، ثم افتحه:
hermes config set webapp.enabled true
hermes gateway restart
hermes webappتقدّم البوابة Webapp افتراضيًا على http://127.0.0.1:9120. تقرأ البوابة الإعداد عند بدء تشغيلها، ولهذا تحتاج إلى إعادة التشغيل. الأمر hermes webapp يبني الحزمة إن كانت قديمة، ويشغّل البوابة إن لم تكن تعمل، ويفتح في متصفحك رابط تسجيل دخول للاستخدام مرة واحدة.
--no-openيطبع الرابط بدل فتح المتصفح. تقترحه الوثائق على macOS عندما قد يُفتح المتصفح في مكان لا تراه، مثل الاتصال عبر SSH.--statusيبيّن هل تقدّم البوابة العاملة Webapp، وعلى أي عنوان.--sign-outيسجّل خروج كل المتصفحات دفعة واحدة.--build-onlyو--force-buildو--skip-buildتتحكم في بناء الحزمة.
لملف شخصي مسمّى، يفتح hermes -p work webapp Webapp على ذلك الملف الشخصي. والملفات الشخصية التي تخدمها البوابة الافتراضية تشارك Webapp الخاص بها.
كيف يعمل تسجيل الدخول
على الجهاز نفسه، الرابط الذي يفتحه hermes webapp صالح 60 ثانية ويعمل مرة واحدة. يستبدل المتصفح به تسجيل دخول يُحفظ في ذلك التبويب، فإعادة تحميل الصفحة تُبقيك مسجّلًا، وكذلك إعادة تشغيل البوابة. أما التبويب الجديد أو العنوان المجرد فيعرض تعليمات بدل الوصول: شغّل hermes webapp مرة أخرى للحصول على رابط جديد. وما دام الرابط لم يُستخدم فإنه يسجّل أي متصفح دخولًا باسمك، فأبقِه سرًّا.
الوصول إلى Webapp من جهاز آخر مختلف. فبمجرد أن يكون webapp.host هو 0.0.0.0 أو ::، أو أن يكون webapp.public_url مضبوطًا، تفرض البوابة بوابة تسجيل دخول لوحة التحكم، ولا تنطبق روابط الاستخدام الواحد. تسجّل الدخول بحساب لوحة التحكم: اسم مستخدم وكلمة مرور لشبكة محلية أو VPN موثوقة، أو OAuth/OIDC لأي شيء مواجه للإنترنت. أما Settings → Web Access في التطبيق الأصلي فيسجّل الدخول بحساب Nous الخاص بك.
منفذ استماع البوابة للعملاء الأصليين (سطر الأوامر وواجهة الطرفية وتطبيق Desktop) لا يطلب تسجيل دخول أبدًا، مهما كان الإعداد.
افتحه من هاتف أو حاسوب آخر
أسهل طريق في تطبيق Desktop الأصلي: Settings → Web Access يشغّل Webapp للأجهزة الأخرى، خلف تسجيل الدخول بحساب Nous الخاص بك. يظهر فقط في التطبيق الأصلي على اتصاله المحلي، ولا يغيّره إلا ذلك التطبيق. الضغط على Start يبني Webapp عند الحاجة (قد يستغرق البناء الأول بضع دقائق)، ويحفظ الإعدادات، ويعيد تشغيل البوابة. وإذا كانت محادثة قيد التشغيل ترفض البوابة إعادة التشغيل وتعرض اللوحة «Restart needed».
يتيح Web Access طريقتين للوصول:
- This network. الأجهزة على شبكة Wi-Fi نفسها تفتح
http://<this computer’s address>:<port>، حيث المنفذ هوwebapp.port(القيمة 9120 ما لم تغيّرها، أو اختار Start منفذًا آخر لملف شخصي مستقل). هذا HTTP عادي، فهو غير مشفّر؛ فاستخدمه على شبكة تثق بها فقط. - My own URL. عنوان HTTPS تشغّله أصلًا، مثل Tailscale Serve أو نفق أو وكيل عكسي، يوجّه إلى
http://127.0.0.1:<port>. يُحفظ باسمwebapp.public_url. وتقول الوثائق ألا تمرّر ذلك المنفذ من الراوتر مباشرة أبدًا.
بدون التطبيق الأصلي يمكنك ضبط المفاتيح نفسها يدويًا: webapp.host على 0.0.0.0 للأجهزة الأخرى، أو أبقِ المضيف على عنوان الحلقة المحلية واضبط webapp.public_url لوكيل أو نفق على الجهاز نفسه. كلاهما يحتاج إلى مزوّد تسجيل دخول للوحة التحكم؛ وبدونه تخدم البوابة العملاء الأصليين فقط ويبيّن hermes webapp --status السبب. أعد تشغيل البوابة بعد تغيير أي من هذه المفاتيح.
لطريق خاص يتجنب فتح المنافذ، راجع صفحتنا Hermes Agent مع Tailscale. وللهاتف عمومًا، بما في ذلك ما يستطيع Termux وiPhone فعله وما لا يستطيعانه، راجع Hermes Agent على هاتفك.
HTTPS، وما لا يعمل في المتصفح
يوصى بشدة باستخدام HTTPS للاستخدام عن بُعد. تعطّل المتصفحات الميزات التي تحتاج سياقًا آمنًا على عنوان HTTP عادي غير الحلقة المحلية (http://localhost و http://127.0.0.1 تُعدّ آمنة). وعلى عنوان شبكة محلية عبر HTTP عادي تفقد:
- عارض شاشة البوت؛
- الميكروفون، وهذا يشمل الإملاء والصوت المباشر وكلمة التنبيه عن بُعد؛
- قراءة الحافظة، وهذا يؤثر في اللصق في الطرفية ولصق الصور؛
- إشعارات النظام.
الأمران hermes webapp و hermes webapp --status يطبعان ملاحظة عندما يكون العنوان الذي يفتحه المتصفح HTTP عاديًا على مضيف آخر. وللإبقاء على هذه الميزات استخدم HTTPS عبر webapp.public_url أو نفق SSH إلى 127.0.0.1.
بعض الأشياء تبقى في التطبيق الأصلي: الاختصارات العامة، والطبقات التي تبقى فوق النوافذ، وفحص نوافذ نظام التشغيل، وتشغيل طرفية خارجية، والمحدّث. وحدود أخرى تسردها الوثائق:
- الملفات التي تختارها أو تلصقها محدودة ب- 16 MiB لكل ملف.
- تُفتح روابط المواقع في تبويب منفصل. أما معاينات العناوين الصريحة فتستخدم إطارًا معزولًا، فالمواقع التي ترفض التضمين تحتاج إلى Open in browser.
- المحادثات المكتوبة قبل أن تملك البوابة الجلسات تحتاج إلى تبنٍّ قبل أن تتابعها في المتصفح. شغّل
hermes sessions adoptمرة واحدة على المضيف، أو افتحها مرة في Desktop الأصلي أو TUI أو CLI. ولملف شخصي آخر استخدمhermes -p <profile> sessions adopt. أما الصفوف التي كتبتها عملية WebUI منفصلة بوكيل خاص بها، وتشغيلات cron أو الوكلاء الفرعيين القديمة، فتبقى للقراءة فقط. - شريط الطرفية يفتح صدفة المضيف. التحديث أو انقطاع الاتصال يفصلها دون إنهاء الصدفة؛ وتُحفظ الصدفات المفصولة 15 دقيقة ما دامت البوابة تعمل، بحد 16 طرفية للمضيف بما فيها المفصولة، وإعادة تشغيل البوابة أو تحديثها تنهيها.
الأمان: تعامل معه كأنه وصول إلى المضيف
تحذير الوثائق واضح: مستخدم Webapp المسجّل يستطيع تشغيل أوامر عشوائية بحساب نظام التشغيل الذي يشغّل Hermes، وتشغيل أدوات الوكيل، واستخدام ملفات المضيف وGit، والوصول إلى بيئة ذلك الحساب وبيانات اعتماده. لا تعرّضه بدون مزوّد تسجيل دخول، وفضّل نفق SSH أو Tailscale أو VPN موثوقة أخرى.
تفصيلان آخران يستحقان المعرفة. كل من يستطيع تسجيل الدخول إلى Webapp يستطيع استخدام كل بوابة محفوظة على ذلك الجهاز ضمن Settings → Gateways، بصفة صاحب بيانات الاعتماد المحفوظة، فاحفظ فقط البوابات التي تقبل أن يصلوا إليها. والأمر hermes webapp --sign-out ينهي تسجيل دخول كل تبويب؛ وخلف بوابة تسجيل الدخول يُخرج أيضًا كل متصفح استخدم حساب لوحة التحكم. أما التطبيق الأصلي الذي سجّل دخوله بنفسه فيبقى مسجّلًا.
Webapp وWeb Dashboard وhermes-webui
هذه ثلاثة أشياء مختلفة يسهل الخلط بينها:
| الاسم | ما هو | أين تقرأ المزيد |
|---|---|---|
| Webapp | مساحة عمل Desktop في المتصفح، تقدّمها البوابة؛ hermes webapp، والمنفذ 9120 افتراضيًا. | هذه الصفحة |
| Web Dashboard | لوحة التحكم المنفصلة التي تبدأ بالأمر hermes dashboard. تضعها وثائق Docker على المنفذ 9119. | لوحة تحكم Hermes Agent |
| hermes-webui | مشروع مجتمعي منفصل، وليس جزءًا من Webapp. | Workspace مقابل hermes-webui |
يمكن تشغيل Webapp ولوحة التحكم معًا، لكل منهما منفذه وعنوانه العام. ويتشاركان مزوّدي تسجيل الدخول، فيعمل اسم المستخدم وكلمة المرور في كليهما. وعندما يستخدمان عميل تسجيل دخول Nous نفسه، لا يعمل تسجيل الدخول عبر Nous إلا على اسم المضيف المسجّل لذلك العميل؛ فاستخدم اسم مستخدم وكلمة مرور على الآخر. يستطيع Settings → Web Access في Desktop الأصلي تسجيل عميل Webapp منفصل ويترك عميل لوحة التحكم دون تغيير، لكن وثائق Docker تقول إن الحاوية بلا واجهة لا تملك أمرًا لذلك حتى الآن.
استكشاف الأخطاء بالأمر hermes webapp --status
ابدأ ب- hermes webapp --status. عندما لا تستطيع البوابة تقديم Webapp فإنها تخدم العملاء الأصليين، ويبيّن الأمر السبب. الأسباب الموثقة:
- المنفذ مشغول (غيّر
webapp.portأو حرّره)؛ - تسجيل الدخول مطلوب (المضيف
0.0.0.0أو::، أو ضُبطpublic_url) ولم يُضبط أي مزوّد تسجيل دخول؛ - ملف تسجيل دخول المتصفح
webapp/session-tokenفي مجلد Hermes الرئيسي لا يمكن قراءته أو كتابته.
بعد معالجة السبب، شغّل hermes gateway restart، لأن الإعدادات تُقرأ عند البدء. وإذا كان المنفذ مشغولًا فإن البوابة تستبدل أيضًا تسجيل دخول Webapp، فتحتاج التبويبات المفتوحة إلى hermes webapp من جديد. وإذا لم تُبنَ الحزمة بعد يقول الأمر ذلك ويبنيها hermes webapp؛ وتقدّمها البوابة العاملة دون إعادة تشغيل. أما فشل البناء بعد hermes update فيُظهر Webapp غير متاح حتى يعيد hermes webapp بناءه.
في Docker أبقِ webapp.host على 0.0.0.0: فعنوان الحلقة المحلية الافتراضي يخص الحاوية نفسها ولا يستطيع منفذ منشور الوصول إليه. وداخل الحاوية يستمر --status في الإبلاغ عن التقديم على http://127.0.0.1:9120، وهذا متوقع. تأتي الصورة بWebapp مبنيًا مسبقًا. راجع صفحة Docker لأساسيات الحاوية.
Webapp وReadyHermes
تشغّل مساعدات ReadyHermes اليوم إصدارًا من Hermes Agent أقدم من 0.23 (تم التحقق في 12 نوفمبر 2026)، لذلك لا يمكن تشغيل Webapp في مساعد ReadyHermes بعد. ولا نعطي موعدًا.
ما زال بإمكانك الوصول إلى مساعدك من متصفح. مساحة عمل ReadyHermes موقع يعمل في متصفح الحاسوب أو الهاتف وفيه لوحة دردشة، ومساعدك يعمل دائمًا ومتصل بتطبيقات المراسلة التي تختارها، مثل Telegram وWhatsApp وDiscord وWeChat وLark. وإن كنت تفضّل تطبيق Hermes Desktop، فافتح القنوات ثم Hermes Desktop في مساحة العمل وانسخ عنوان URL البعيد وبيانات الدخول إلى إعدادات Remote gateway في التطبيق؛ والخطوات في صفحتنا Hermes Desktop. تبدأ الخطط من US$3.99 شهريًا مع US$1 من الذكاء الاصطناعي مشمولًا كل شهر على Lite (وUS$3 على Pro)، وتوجد تجربة مجانية لمدة ساعة.
أسئلة
كيف أشغّل Hermes Agent Webapp؟
هو متوقف افتراضيًا. شغّل hermes config set webapp.enabled true، ثم hermes gateway restart، ثم hermes webapp. تقدّمه البوابة افتراضيًا على http://127.0.0.1:9120 ويفتح الأمر رابط تسجيل دخول للاستخدام مرة واحدة.
أي منفذ يستخدمه Hermes Webapp؟
9120 افتراضيًا، ويحدده webapp.port. أما Web Dashboard فشيء منفصل؛ وتضعه وثائق Docker على المنفذ 9119. وإذا كان منفذ Webapp مشغولًا فإن البوابة تخدم العملاء الأصليين فقط ويشرح hermes webapp --status السبب.
كيف أفتح Hermes Webapp على هاتفي؟
في تطبيق Desktop الأصلي، يشغّله Settings → Web Access للأجهزة الأخرى خلف تسجيل الدخول بحساب Nous الخاص بك. يمكن للأجهزة على شبكة Wi-Fi نفسها استخدام عنوان الحاسوب ومنفذه، وهو HTTP عادي، أو تقدّمه على عنوان HTTPS خاص بك وتحفظه باسم webapp.public_url. استخدم شبكة موثوقة أو VPN مثل Tailscale، ولا تمرّر المنفذ من الراوتر مباشرة أبدًا.
هل Hermes Webapp هو نفسه Web Dashboard أو hermes-webui؟
لا. Webapp هو مساحة عمل Desktop التي تقدّمها البوابة وتُفتح بالأمر hermes webapp. أما Web Dashboard فيبدأ بالأمر hermes dashboard، وhermes-webui مشروع مجتمعي منفصل.
هل أستطيع استخدام Hermes Webapp على ReadyHermes؟
ليس بعد. تشغّل مساعدات ReadyHermes اليوم إصدارًا من Hermes Agent أقدم من 0.23، لذا لا يمكن تشغيل Webapp هناك. يمكنك استخدام موقع مساحة عمل ReadyHermes في المتصفح، بما في ذلك على الهاتف، أو تطبيقات المراسلة، أو تطبيق Hermes Desktop عبر القنوات ← Hermes Desktop.