Stellar Brief
معلومات مفيدة تستحق المعرفة

أدلة

طريقة تثبيت Hermes Agent على Mac باستخدام Docker

طريقة تثبيت Hermes Agent على Mac باستخدام Docker

يوضح هذا الدليل طريقة تشغيل Hermes Agent على جهاز Mac باستخدام Docker Desktop. الفكرة هي أن يعمل البرنامج داخل حاوية Docker، بينما تبقى الإعدادات والجلسات وبيانات المصادقة محفوظة في مجلد ثابت على جهازك.

يدعم Hermes Agent أكثر من طريقة لربط مزودات النماذج، بما في ذلك API key. لكن هذا الدليل يركز على OpenAI Codex باستخدام ChatGPT OAuth. الترتيب الأنسب هو تثبيت Docker Desktop، ثم تشغيل setup، ثم إعداد المزود، ثم تشغيل Hermes Agent، وبعدها التأكد من dashboard على localhost:9119.

ملخص سريع

  • ثبّت Docker Desktop وشغّله على Mac أولاً.
  • استخدم الصورة الرسمية nousresearch/hermes-agent.
  • اربط ~/.hermes مع /opt/data للحفاظ على الإعدادات وOAuth والجلسات وskills والسجلات.
  • شغّل setup أولاً، ثم اختر OpenAI Codex من خلال hermes model.
  • عند تشغيل gateway مع dashboard، يجب أن يفتح http://localhost:9119 في المتصفح.

المتطلبات

المتطلبالسبب
Macيمكن استخدام Apple Silicon أو Intel، مع اختيار نسخة Docker Desktop المناسبة.
Docker Desktopمطلوب لتشغيل حاوية Hermes Agent.
Terminalلتنفيذ أوامر Docker وsetup وOAuth ومراجعة السجلات.
حساب ChatGPTمطلوب عند استخدام OpenAI Codex عبر ChatGPT OAuth.
اتصال بالإنترنتلتنزيل الصورة وإكمال تسجيل الدخول.
رسم يوضح Mac وDocker Desktop وحاوية Hermes Agent ومجلد بيانات دائم
يشغّل Docker حاوية Hermes Agent، بينما يحفظ `~/.hermes` البيانات على جهاز Mac.

ما الذي يفعله Docker هنا؟

Hermes Agent هو runtime لوكلاء الذكاء الاصطناعي من NousResearch. تشرح الوثائق الرسمية أكثر من طريقة للاستخدام، منها local installation وDocker execution وDocker terminal backend. يركز هذا الدليل على تشغيل Hermes Agent نفسه داخل حاوية Docker.

الفائدة هي عزل بيئة التشغيل نسبياً. لا تحتاج إلى تثبيت Python وNode.js وbrowser automation dependencies والأدوات المرتبطة بها مباشرة داخل macOS. في المقابل، يجب أن يكون Docker Desktop قيد التشغيل أولاً، ويجب فهم الوصول إلى الملفات من خلال المجلدات التي تعمل لها mount بوضوح.

يستخدم Hermes Agent المسار /opt/data داخل الحاوية كمكان لبيانات المستخدم. لذلك نربط مجلد ~/.hermes على Mac بهذا المسار.

تثبيت Docker Desktop

نزّل Docker Desktop من صفحة التثبيت الرسمية الخاصة بـ Mac. اختر إصدار Apple Silicon لأجهزة M-series، أو إصدار Intel للأجهزة الأقدم.

الخطوات الأساسية هي:

  1. تنزيل Docker Desktop من صفحة Mac الرسمية.
  2. فتح Docker.dmg ونقل Docker إلى مجلد Applications.
  3. تشغيل Docker Desktop من Applications.
  4. مراجعة طلبات الصلاحيات وشاشة الشروط الأولية.
  5. الانتظار حتى يصبح رمز Docker ثابتاً في شريط القوائم.

بعد ذلك تحقق من Terminal:

docker --version

إذا لم يظهر الأمر، فقد لا يكون Docker Desktop يعمل بعد، أو لم تكتمل تهيئة CLI.

تدفق يوضح تثبيت Docker Desktop ثم التحقق من docker version في Terminal
تحقق من Docker Desktop قبل تشغيل صورة Hermes Agent.

لماذا نستخدم mount لـ ~/.hermes

Volume mount هو ما يمنع ضياع الإعدادات بعد حذف الحاوية. استخدم هذا الخيار في كل أوامر Hermes:

-v ~/.hermes:/opt/data
رسم يوضح ربط مجلد ~/.hermes في Mac مع /opt/data داخل حاوية Docker
الخيار `~/.hermes:/opt/data` يحافظ على الإعدادات والجلسات وOAuth وskills والسجلات.

التشغيل الأول: setup wizard

أنشئ مجلد البيانات وشغّل setup:

mkdir -p ~/.hermes
docker run -it --rm \
  -v ~/.hermes:/opt/data \
  nousresearch/hermes-agent setup

الخيار --rm يحذف الحاوية المؤقتة بعد انتهاء الأمر، لكن الملفات التي تُنشأ في /opt/data تبقى داخل ~/.hermes.

قد ينشئ setup wizard ملفات ومجلدات مثل:

المسارالغرض
~/.hermes/.envحفظ secrets لمزودات API key عند استخدامها.
~/.hermes/config.yamlإعدادات النموذج وbackend وgateway والأدوات.
~/.hermes/SOUL.mdتوجيهات السلوك الأساسية للوكيل.
~/.hermes/sessions/سجل الجلسات.
~/.hermes/memories/بيانات الذاكرة طويلة الأمد عند تفعيلها.
~/.hermes/skills/skills المثبتة.
~/.hermes/logs/سجلات التشغيل.

قد تختلف أسئلة setup حسب إصدار Hermes Agent، لكن القاعدة العملية للمبتدئين هي:

سؤال setupالاختيار العملي
Model providerاختر OpenAI Codex أو خيار Codex. إذا لم يظهر، أكمل setup ثم شغّل hermes model لاحقاً.
Authentication methodمزودات API key تحفظ القيم في .env. أما ChatGPT OAuth فيحفظ tokens في auth store مثل auth.json.
Chat system أو gateway integrationيمكن إعداد Telegram أو Discord أو Slack لاحقاً إذا لم تكن تحتاجها فوراً. إذا كنت ستشغل gateway بشكل دائم، فقد يكون إعدادها هنا مناسباً.
Defaults غير واضحةاقبل defaults أولاً، ثم عدّل config.yaml بعد التأكد من أن التثبيت يعمل.

بمعنى آخر، دع setup ينشئ الملفات الأساسية أولاً. إذا كان اختيار المزود غير واضح، افتحه لاحقاً عبر hermes model.

بعد ذلك تحقق من المجلد:

ls -la ~/.hermes

تحقق أيضاً من وجود config.yaml. لا تنشر الملف كاملاً؛ يكفي فحص بدايته محلياً.

sed -n '1,80p' ~/.hermes/config.yaml

لا تطبع ملف .env ولا تشاركه لأنه قد يحتوي على secrets. للتحقق من وجوده فقط:

ls -la ~/.hermes/.env

إذا انتهى setup لكن ~/.hermes/config.yaml غير موجود أو كان المجلد فارغاً، فتحقق أولاً من volume mount. يجب أن يحتوي الأمر على -v ~/.hermes:/opt/data.

إعداد ChatGPT OAuth

إذا لم يتم اختيار المزود أثناء setup، افتح قائمة النماذج:

docker run -it --rm \
  -v ~/.hermes:/opt/data \
  nousresearch/hermes-agent model

اختر OpenAI Codex أو الخيار الأقرب إلى Codex. إذا ظهر رابط أو device code، افتحه في متصفح Mac وسجّل الدخول بحساب ChatGPT.

بعض الإصدارات تدعم أيضاً:

docker run -it --rm \
  -v ~/.hermes:/opt/data \
  nousresearch/hermes-agent auth add openai-codex --type oauth

لا ينبغي أن يبقى OAuth token داخل حاوية مؤقتة فقط. يتم حفظه داخل مجلد ~/.hermes الذي عملت له mount، مثلاً في auth store مثل auth.json. بهذا يمكنك إعادة إنشاء الحاوية من دون فقدان إعداد المزود.

رسم يوضح تسجيل دخول ChatGPT OAuth عبر المتصفح وربطه بحاوية Hermes Agent
يسمح ChatGPT OAuth بربط OpenAI Codex من دون وضع OpenAI API key داخل الأمر.

تشغيل Hermes Agent

بعد setup وإعداد المزود، شغّل Hermes Agent تفاعلياً:

docker run -it --rm \
  -v ~/.hermes:/opt/data \
  nousresearch/hermes-agent

إذا فتحت الجلسة التفاعلية بشكل طبيعي، فهذا يعني أن الإعداد الأساسي يعمل. استمر في استخدام نفس volume mount مع كل أمر.

معنى الخيارات الأساسية:

Optionالمعنى
docker runيبدأ حاوية جديدة.
-itيفتح جلسة Terminal تفاعلية.
--rmيحذف الحاوية المؤقتة بعد الخروج.
-v ~/.hermes:/opt/dataيربط مجلد ~/.hermes على Mac بالمسار /opt/data داخل الحاوية.
nousresearch/hermes-agentيستخدم صورة Docker الرسمية لـ Hermes Agent.

التحقق من dashboard على localhost:9119

بعد نجاح setup وإعداد المزود والتشغيل التفاعلي، تحقق من الصورة والإصدار:

docker pull nousresearch/hermes-agent:latest
docker run -it --rm nousresearch/hermes-agent:latest version

وللتحقق من حالة OAuth استخدم نفس مجلد البيانات:

docker run -it --rm \
  -v ~/.hermes:/opt/data \
  nousresearch/hermes-agent auth list

لتشغيل gateway وdashboard في الخلفية:

docker run -d \
  --name hermes \
  --restart unless-stopped \
  -v ~/.hermes:/opt/data \
  -p 8642:8642 \
  -p 9119:9119 \
  -e HERMES_DASHBOARD=1 \
  nousresearch/hermes-agent gateway run

افتح http://localhost:9119 أو http://127.0.0.1:9119 في المتصفح. dashboard واجهة محلية لمراجعة الإعدادات والجلسات والسجلات وskills.

إذا لم تفتح الصفحة:

curl -I http://127.0.0.1:9119

وتعرض السجلات تفاصيل التشغيل:

docker logs --tail 50 hermes

قد تبدأ سجلات dashboard بالوسم [dashboard].

لإيقاف الحاوية الخلفية وحذفها:

docker stop hermes
docker rm hermes

مشكلات شائعة

المشكلةما الذي يجب فحصه
Cannot connect to the Docker daemonDocker Desktop غير مشغّل.
docker: command not foundDocker CLI غير متاح في Terminal.
رابط OAuth لا يفتحانسخ الرابط أو device code إلى متصفح Mac.
OpenAI Codex provider لا يظهراسحب أحدث صورة Hermes Agent ثم افحص قائمة hermes model مرة أخرى.
الإعدادات تختفيخيار -v ~/.hermes:/opt/data مفقود أو مختلف.
Permission errorتحقق من أن مستخدم macOS الحالي يستطيع الكتابة داخل ~/.hermes.
dashboard لا يفتحافحص -p 9119:9119 و-e HERMES_DASHBOARD=1 وسجلات [dashboard].
تعارض منفذقد يستخدم برنامج آخر المنفذ 8642 أو 9119.

على أجهزة Apple Silicon، يتعامل Docker Desktop غالباً مع اختلافات architecture ما لم تفرض صورة Intel-only. ابدأ بالصورة الرسمية latest وبإصدار حديث من Docker Desktop.

تدفق يوضح فحص Docker وOAuth وvolume mount والسجلات وdashboard
ابدأ بفحص Docker، ثم OAuth، ثم volume mount، ثم السجلات، ثم منفذ dashboard.

التحديث أو الحذف

للتحديث، اسحب أحدث صورة وأعد إنشاء الحاوية مع الحفاظ على ~/.hermes:

docker pull nousresearch/hermes-agent:latest
docker rm -f hermes
docker run -d \
  --name hermes \
  --restart unless-stopped \
  -v ~/.hermes:/opt/data \
  -p 8642:8642 \
  -p 9119:9119 \
  -e HERMES_DASHBOARD=1 \
  nousresearch/hermes-agent gateway run

لحذف الحاوية والصورة:

docker rm -f hermes
docker rmi nousresearch/hermes-agent:latest

احذف ~/.hermes فقط إذا أردت حذف الإعدادات وOAuth والجلسات وskills والسجلات أيضاً.

rm -rf ~/.hermes

الخلاصة

التسلسل العملي هو: Docker Desktop، ثم setup، ثم OpenAI Codex عبر ChatGPT OAuth، ثم mount لـ ~/.hermes:/opt/data، ثم فحص http://localhost:9119 عند تشغيل gateway.

المصادر

تم اكتشاف مانع إعلانات

يعتمد هذا الموقع على الإعلانات. يرجى التفكير في تعطيل مانع الإعلانات لمساعدتنا على مواصلة إنشاء المحتوى.