Hermes Agent: الإضافات
آخر تحديث: 2026-08-31
الإضافات هي واجهة التوسع في Hermes Agent — الميزات المدمجة لا تكفي؟ ثبّت إضافة. تريد الاتصال بـ Jira أو Notion أو Figma؟ جميعها لديها إضافات جاهزة.
💡 نصيحة: الإضافات طريقة توسع أعلى مستوى من الأدوات المخصصة. إضافة واحدة يمكن أن تحتوي عدة أدوات ومهارات وحتى أنظمة فرعية كاملة. سوق إضافات Hermes غني بالإضافات المجتمعية.
📋 المتطلبات المسبقة: الدرس 8 — الأدوات ومجموعات الأدوات
1. ما ستتعلمه
| # | المحتوى |
|---|---|
| ❶ | بنية نظام الإضافات |
| ❷ | تثبيت وإدارة الإضافات |
| ❸ | إضافات شائعة |
| ❹ | تطوير إضافات مخصصة |
| ❺ | أمان وصلاحيات الإضافات |
2. القصة
(1) المشكلة: الأدوات المدمجة لا تكفي
Bob يحتاج الاتصال بـ Jira للتذاكر، استخدام Notion للملاحظات، رؤية التصاميم في Figma. الأدوات المدمجة لا تملك هذه التكاملات.
(2) الحل: ثبّت إضافات، وسّع بنقرة واحدة
BASH
hermes plugin install hermes-plugin-jira
hermes plugin install hermes-plugin-notion
me: تحقق من حالة PROJ-123
Agent: [Jira Plugin] PROJ-123: قيد التنفيذ، أولوية عالية
3. بنية نظام الإضافات
(1) بنية الإضافة
hermes-plugin-jira/
├── manifest.yaml
├── tools/
│ ├── jira_search.py
│ ├── jira_create.py
│ └── jira_update.py
├── skills/
│ └── sprint-review.yaml
├── templates/
└── config.yaml
(2) بيان الإضافة
YAML
name: "hermes-plugin-jira"
version: "1.2.0"
description: "Jira integration for Hermes Agent"
author: "community"
license: "MIT"
dependencies:
hermes_version: ">=1.0.0"
tools:
- name: "jira_search"
description: "Search Jira issues"
- name: "jira_create"
description: "Create Jira issue"
- name: "jira_update"
description: "Update Jira issue"
skills:
- name: "sprint-review"
permissions:
- network: ["*.atlassian.net"]
- filesystem: []
- env_vars: ["JIRA_URL", "JIRA_TOKEN"]
4. تثبيت وإدارة الإضافات
BASH
hermes plugin install hermes-plugin-jira
hermes plugin install git+https://github.com/user/hermes-plugin-jira
hermes plugin install ./my-plugin
hermes plugin install hermes-plugin-jira@1.2.0
hermes plugin list
hermes plugin update jira
hermes plugin pause figma
hermes plugin resume figma
hermes plugin uninstall figma
5. إضافات شائعة
| الإضافة | الوظيفة | الأدوات |
|---|---|---|
| jira | إدارة تذاكر Jira | 3 |
| notion | صفحات/قواعد بيانات Notion | 4 |
| github | عمليات PR/Issue/Repo في GitHub | 6 |
| aws | خدمات AWS | 8 |
| docker | إدارة حاويات Docker | 4 |
| kubernetes | عمليات كتلة K8s | 6 |
| google-calendar | تقويم Google | 3 |
| pandas | تحليل بيانات محسّن | 4 |
6. تطوير إضافات مخصصة
(1) إضافة بسيطة
PYTHON
from hermes import Tool, ToolResult
class HelloTool(Tool):
name = "hello"
description = "Say hello to someone"
category = "custom"
parameters = {
"name": {"type": "str", "required": True}
}
def execute(self, name: str) -> ToolResult:
return ToolResult(
success=True,
data={"message": f"Hello, {name}!"},
summary=f"Greeted {name}"
)
(2) إضافة كاملة
PYTHON
from hermes import Tool, ToolResult
import httpx
class StockQueryTool(Tool):
name = "stock_query"
description = "Query stock price and metrics"
category = "finance"
parameters = {
"symbol": {"type": "str", "required": True},
"metric": {"type": "str", "required": False, "default": "price"}
}
def execute(self, symbol: str, metric: str = "price") -> ToolResult:
api_key = self.get_env("STOCK_API_KEY")
response = httpx.get(
f"https://api.stock.com/quote",
params={"symbol": symbol, "apikey": api_key}
)
data = response.json()
return ToolResult(
success=True,
data=data,
summary=f"{symbol} {metric}: {data.get(metric, 'N/A')}"
)
7. أمان وصلاحيات الإضافات
| الصلاحية | الوصف | مثال |
|---|---|---|
network |
النطاقات المسموحة | ["*.atlassian.net"] |
filesystem |
المسارات المسموحة | ["~/projects"] |
env_vars |
متغيرات البيئة المطلوبة | ["JIRA_TOKEN"] |
tools |
الأدوات المدمجة القابلة للاستدعاء | ["fs_read"] |
subprocess |
هل يمكن تنفيذ أوامر | false |
BASH
hermes plugin audit hermes-plugin-xxx
# ⚠️ مراجعة الصلاحيات:
# - network: *.example.com ✅
# - filesystem: /tmp ⚠️
# - subprocess: true ❌
❓ أسئلة شائعة
س كم إضافة في السوق؟
ج أكثر من 50 إضافة مجتمعية تغطي إدارة المشاريع والخدمات السحابية وقواعد البيانات وأدوات التصميم.
س هل الإضافات تؤثر على الأداء؟
ج الإضافات المثبتة غير المستخدمة لا تأثير لها. الموارد تُستهلك فقط عند الاستدعاء.
س الفرق بين الإضافة والأداة المخصصة؟
ج الإضافة حزمة توسع كاملة (أدوات + مهارات + إعداد + قوالب)؛ الأداة المخصصة أداة واحدة. الإضافات أكمل وأكثر قابلية للمشاركة.
س كيف أنشر في السوق؟
ج اتبع معايير التطوير، أرسل PR لمستودع hermes-plugins، بعد الموافقة يُدرج.
📖 ملخص
- الإضافة = أدوات + مهارات + إعداد + قوالب في حزمة توسع
- التثبيت: السوق، Git، مسار محلي
- 50+ إضافة مجتمعية تغطي Jira/Notion/GitHub/AWS إلخ
- إضافات مخصصة: فئة Python Tool + بيان YAML
- نموذج صلاحيات يتحكم في الشبكة والملفات ومتغيرات البيئة والعمليات الفرعية
📝 تمارين
- أساسي (⭐): ثبّت إضافة مجتمعية (مثل GitHub)، أكمل عملية أساسية، تحقق من العمل.
- متوسط (⭐⭐): طوّر إضافة بسيطة (1-2 أداة)، ثبّتها في Hermes واختبرها.
- متقدم (⭐⭐⭐): طوّر إضافة كاملة (أدوات + مهارات + إعداد)، انشرها للفريق، الآخرون يثبتونها ويستخدمونها مباشرة.