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، بعد الموافقة يُدرج.

📖 ملخص


📝 تمارين

  1. أساسي (⭐): ثبّت إضافة مجتمعية (مثل GitHub)، أكمل عملية أساسية، تحقق من العمل.
  2. متوسط (⭐⭐): طوّر إضافة بسيطة (1-2 أداة)، ثبّتها في Hermes واختبرها.
  3. متقدم (⭐⭐⭐): طوّر إضافة كاملة (أدوات + مهارات + إعداد)، انشرها للفريق، الآخرون يثبتونها ويستخدمونها مباشرة.
Web-Tutorial.com

فريق Web-Tutorial التقني

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

100%