Hermes Agent: أوضاع النشر
آخر تحديث: 2026-08-31
وضع النشر يحدد أين يعمل Hermes Agent — حاسوب محمول محلي، حاوية Docker، خادم سحابي، أو كتلة. اختر الوضع الصحيح للاستقرار والاقتصاد.
💡 نصيحة: Hermes يدعم أربعة أوضاع نشر: محلي مستقل، Docker، خادم سحابي، كتلة. الأفراد يوصى بالوضع المحلي؛ الفرق يوصى بـ Docker أو السحابة.
📋 المتطلبات المسبقة: الدرس 2 — التثبيت، الدرس 3 — ملفات الإعداد
1. ما ستتعلمه
| # | المحتوى |
|---|---|
| ❶ | مقارنة أوضاع النشر الأربعة |
| ❷ | إعداد الوضع المحلي |
| ❸ | نشر Docker |
| ❹ | نشر الخادم السحابي |
| ❺ | وضع الكتلة والقابلية للتوسع |
2. القصة
(1) المشكلة: اختيار وضع نشر خاطئ
Bob يشغّل Hermes محليًا، لكن عند إيقاف الحاسوب يصبح الوكيل غير متصل. الفريق يحتاج وكيل 24/7.
(2) الحل: اختر النشر حسب السيناريو
BASH
# اختيار Alice:
# تطوير/تصحيح → محلي (اقتصادي وعملي)
# استخدام الفريق → Docker على خادم (24/7)
# تزامن عالٍ → وضع كتلة (توسع أفقي)
3. مقارنة الأوضاع الأربعة
| البعد | محلي | Docker | سحابة | كتلة |
|---|---|---|---|---|
| الاستخدام | شخصي | فريق/SME | شركة متوسطة | نطاق واسع |
| وقت التشغيل | عند التشغيل | 24/7 | 24/7 | 24/7 |
| القابلية للتوسع | ❌ | ✅ عمودي | ✅ عمودي | ✅ أفقي |
| أمان البيانات | ✅ محلي | ✅ محلي | ⚠️ سحابة | ⚠️ موزع |
| التكلفة | مجاني | تكلفة خادم | تكلفة سحابة | عالية |
| صعوبة التشغيل | ⭐ | ⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐ |
4. الوضع المحلي
BASH
pip install hermes-agent[all]
hermes serve --host 0.0.0.0 --port 8080
# systemd (Linux)
systemctl enable hermes
systemctl start hermes
YAML
deployment:
mode: "local"
host: "0.0.0.0"
port: 8080
local_model:
enabled: true
provider: "ollama"
fallback_to_cloud: true
5. نشر Docker
(1) حاوية واحدة
BASH
docker run -d \
--name hermes \
-p 8080:8080 \
-v ~/.hermes:/root/.hermes \
-e OPENAI_API_KEY="${OPENAI_API_KEY}" \
--restart unless-stopped \
nousresearch/hermes-agent:latest
(2) Docker Compose (موصى به)
YAML
version: "3.8"
services:
hermes:
image: nousresearch/hermes-agent:latest
restart: unless-stopped
ports:
- "8080:8080"
volumes:
- ./data:/root/.hermes
environment:
- OPENAI_API_KEY=${OPENAI_API_KEY}
ollama:
image: ollama/ollama:latest
restart: unless-stopped
ports:
- "11434:11434"
volumes:
- ./ollama-data:/root/.ollama
web-ui:
image: nousresearch/hermes-web:latest
restart: unless-stopped
ports:
- "3000:3000"
environment:
- HERMES_API_URL=http://hermes:8080
6. نشر الخادم السحابي
BASH
ssh ec2-user@your-instance
sudo yum install -y docker
sudo systemctl start docker
docker run -d \
-p 8080:8080 \
-v /data/hermes:/root/.hermes \
-e OPENAI_API_KEY="sk-..." \
--restart unless-stopped \
nousresearch/hermes-agent:latest
إعداد الأمان
YAML
security:
api:
auth_enabled: true
auth_type: "jwt"
jwt_secret: "${JWT_SECRET}"
rate_limit: 100
tls:
enabled: true
cert: "/etc/ssl/hermes.crt"
key: "/etc/ssl/hermes.key"
network:
allowed_origins:
- "https://your-domain.com"
7. وضع الكتلة
(1) البنية
graph TB
LB[موازن الحمل] --> W1[Worker 1]
LB --> W2[Worker 2]
LB --> W3[Worker 3]
W1 --> Redis[(Redis<br/>ذاكرة مشتركة)]
W2 --> Redis
W3 --> Redis
W1 --> DB[(PostgreSQL<br/>تخزين دائم)]
W2 --> DB
W3 --> DB
(2) إعداد الكتلة
YAML
version: "3.8"
services:
hermes-master:
image: nousresearch/hermes-agent:latest
environment:
- HERMES_ROLE=master
- REDIS_URL=redis://redis:6379
- DATABASE_URL=postgresql://hermes:pass@postgres:5432/hermes
hermes-worker:
image: nousresearch/hermes-agent:latest
environment:
- HERMES_ROLE=worker
- REDIS_URL=redis://redis:6379
deploy:
replicas: 3
redis:
image: redis:7-alpine
postgres:
image: postgres:16-alpine
environment:
- POSTGRES_DB=hermes
- POSTGRES_USER=hermes
- POSTGRES_PASSWORD=pass
❓ أسئلة شائعة
س أي وضع للاستخدام الشخصي؟
ج المحلي. بسيط، مجاني، أفضل خصوصية. فكّر في Docker عند الحاجة لـ 24/7.
س Docker أم التثبيت المباشر؟
ج Docker أفضل عزلًا وأسهل في الترحيل/الترقية. التثبيت المباشر أخف وأقل زمن استجابة. اختر حسب الحاجة.
س متى أحتاج كتلة؟
ج مستخدمين متزامنين >50، طلبات/دقيقة >100، حاجة للتوفر العالي. الفرق الصغيرة لا تحتاج.
س كيف أرقّي بسلاسة؟
ج Docker الأبسط — اسحب صورة جديدة وأعد التشغيل. محلي:
pip install --upgrade. كتلة: ترقية متدرجة.📖 ملخص
- أربعة أوضاع: محلي (شخصي) → Docker (فريق) → سحابة (شركة) → كتلة (نطاق واسع)
- الوضع المحلي: تكلفة صفر، أفضل خصوصية
- Docker Compose: نشر بأمر واحد، يشمل Ollama وWeb UI
- السحابة تتطلب تعزيز أمان: مصادقة، TLS، عزل شبكة
- الكتلة تستخدم Redis + PostgreSQL للذاكرة المشتركة والتوفر العالي
📝 تمارين
- أساسي (⭐): شغّل Hermes محليًا، اتصل بـ Telegram، تحقق من الاستقرار 24 ساعة.
- متوسط (⭐⭐): استخدم Docker Compose لنشر Hermes + Ollama، حقق استنتاجًا محليًا بدون اتصال.
- متقدم (⭐⭐⭐): انشر Hermes على خادم سحابي، أعد TLS وJWT، حقق وصولاً آمنًا عن بُعد.