| النوع | الاسم العربي | المضمون | مثال |
|---|---|---|---|
| Episodic | ذاكرة قصصية | إيه اللي حصل، إمتى، فين | الأحد اللي صلّحت bug في الـ billing |
| Semantic | ذاكرة دلالية | حقائق ومعرفة عامة | Postgres 16 بيدعم logical replication |
| Procedural | ذاكرة إجرائية | إزاي أعمل الحاجة | خطوات الـ deploy على Kubernetes |
| Working | ذاكرة عمل | اللي في الـ context دلوقتي | آخر 20 رسالة |
| Episodic — القصصية | Procedural — الإجرائية | |
|---|---|---|
| جوهرها | أحداث ماضية | طرق عمل |
| صيغتها | «في X عملنا Y» | «عشان تعمل X: 1) … 2) …» |
| مكانها في Hermes | ~/.hermes/state.db (سجلات الجلسات) |
~/.hermes/skills/<name>/SKILL.md |
| مكانها في OpenClaw | memory/YYYY-MM-DD.md |
<workspace>/skills/<name>/SKILL.md |
| إزاي بتتعلّم | «اتعلّمت إني عملت كذا» | «اتعلّمت إزاي أعمل كذا» |
| بتتقفل مع الوقت؟ | لأ — بتتراكم | لأ — بتتحدّث |
| الاستهلاك | بحث: «إيه اللي اتفق آخر مرة» | تحميل: «إزاي أعمل الحاجة» |
| مثال واقعي | «المستخدم طلب إن أكلمه بالعامية مصرى» | «لما أعمل PR: branch، عدّل CHANGELOG، اطلب review» |
| الملف | النوع | المحتوى | بيتحمّل إمتى |
|---|---|---|---|
USER.md |
اختياري | تفضيلات ثابتة، أسلوب التواصل، سياق المشاريع — كـ directives | بداية كل جلسة، بميزانية منفصلة |
MEMORY.md |
ذاكرة طويلة المدى | حقائق دائمة غير مرتبطة بالبروفايل وقرارات | بداية كل جلسة |
memory/YYYY-MM-DD.md |
طبقة العمل | ملاحظات يومية، ملخصات جلسات، سياق خام | مفهرس لـ memory_search — مش بيتحقن في كل turn |
DREAMS.md |
اختياري | ملخصات الـ Dream Diary للمراجعة البشرية | مراجعة يدوية |
# OpenClaw memory CLI
openclaw memory status # حالة الفهرس والـ provider
openclaw memory search "query" # بحث من سطر الأوامر
openclaw memory index --force # أعد بناء الفهرس
# Dreaming sweep
openclaw memory rem-backfill --path ./memory --stage-short-term
openclaw memory rem-backfill --rollback
# شوف raw vs injected وحالة الـ truncation
openclaw doctor
| الملف | الغرض | حد الأحرف | ≈ توكنز |
|---|---|---|---|
MEMORY.md |
ملاحظات الوكيل — حقائق البيئة، الأعراف، دروس اتعلّمها | 2,200 | ~800 |
USER.md |
بروفايل المستخدم — تفضيلاتك وأسلوب تواصلك | 1,375 | ~500 |
# تأكيد إن الكتابة حصلت فعلاً
cat ~/.hermes/memories/MEMORY.md
cat ~/.hermes/memories/USER.md
# أنهي profile بتقرأ — الذاكرة per-profile
hermes profile list
# الذاكرة فيها: "User prefers dark mode in all editors"
memory(action="replace", target="memory",
old_text="dark mode",
content="User prefers light mode in VS Code, dark mode in terminal")
# ~/.hermes/config.yaml
memory:
memory_enabled: true
user_profile_enabled: true
memory_char_limit: 2200 # ~800 tokens
user_char_limit: 1375 # ~500 tokens
write_approval: false # true = require approval before any memory write
old_text بيحدد مكان الـ entry بس — مش بيقصه ويبدله.| الميزة | Persistent Memory | Session Search |
|---|---|---|
| السعة | ~1,300 توكن إجمالاً | غير محدودة (كل الجلسات) |
| السرعة | فوري (في الـ system prompt) | ~20ms للاستعلام |
| التكلفة | توكنز في كل prompt | مجاني — من غير أي نداءات LLM |
| حالة الاستخدام | حقائق أساسية متاحة دايماً | استرجاع محادثات سابقة محددة |
| الإدارة | curated يدوياً من الوكيل | تلقائي — كل الجلسات متخزّنة |
# تصفح الجلسات السابقة
hermes sessions list
hermes sessions list --workspace my-project
hermes sessions prune # حذف جلسات قديمة من التخزين
hermes sessions optimize # دمج FTS5 segments + VACUUM
# استئناف جلسة
hermes -c # آخر جلسة CLI (terminal-aware)
hermes --resume 20250305_091523_a1b2c3d4
optimize و prune بيرفضوا لو عملية Hermes تانية ماسكة state.db.# إدارة مزود الذاكرة الخارجي
hermes memory setup # picker تفاعلي + إعداد
hermes memory status # شوف إيه النشط
hermes memory off # عطّل الـ external provider
# أو يدوياً في ~/.hermes/config.yaml
# memory:
# provider: openviking # or honcho, mem0, holographic, retaindb,
# # byterover, supermemory, or hindsight
| Provider | الأحسن لإيه | يتطلب | التكلفة |
|---|---|---|---|
| Honcho | multi-agent بسياق عبر الجلسات ومحاذاة user-agent | API key أو instance self-hosted | Honcho pricing / مجاني لو self-hosted |
| OpenViking | معرفة self-hosted بـ hierarchy منظّم | OpenViking مُهيّأ وشغّال | مجاني (AGPL-3.0) |
| Mem0 | إدارة ذاكرة بدون مجهود — استخراج أوتوماتيك | API key أو سيرفر Mem0 أو LLM + vector store | Mem0 pricing / مجاني |
| Hindsight | recall بـ knowledge graph وعلاقات الكيانات | hermes plugins install hindsight | Hindsight pricing / مجاني محلياً |
| Holographic | ذاكرة محلية بالكامل مع retrieval متقدم | ولا حاجة — SQLite دايماً متاح | مجاني |
| ByteRover | ذاكرة portable local-first مع CLI | ByteRover CLI | مجاني محلياً |
# البنية
mkdir -p ~/.hermes/skills/devops/deploy-production/references
# Minimal valid frontmatter
# name: lowercase, hyphens, <=64 chars
# description: <=60 chars, one sentence, ends with a period
# body: non-empty markdown after the closing ---
# ~/.hermes/skills/devops/deploy-production/SKILL.md
---
name: deploy-production
description: Ship a service to production and verify the rollout.
version: 0.1.0
author: Your Name (yourhandle), Hermes Agent
license: MIT
platforms: [linux, macos]
metadata:
hermes:
tags: [devops, deploy, production]
related_skills: [systematic-debugging]
---
# Deploy to Production
## When to Use
- The user asks to deploy or ship a service
## Procedure
1. Confirm the working tree is clean: `git status --porcelain`.
2. `kubectl apply -k deploy/` from the repo root.
3. Watch: `kubectl rollout status deploy/<name> --timeout=120s`.
## Pitfalls
- `rollout status` exits 0 when a rollout is *paused*.
| Action | الاستخدام | المعاملات الأساسية |
|---|---|---|
| create | مهارة جديدة من الصفر | name, content (الـ SKILL.md الكامل) |
| patch | إصلاحات مستهدفة — المفضّل | name, old_string, new_string |
| patch + content | إعادة كتابة هيكلية كبيرة | name, content |
| write_file | ضيف/حدّث ملفات الدعم | name, file_path, file_content |
| delete | إزالة مهارة بالكامل | name |
# ~/.hermes/config.yaml — شغّل الـ review على موديل أرخص
auxiliary:
background_review:
provider: openrouter
model: google/gemini-3-flash-preview # auto (default) = main chat model
# بوابة الموافقة على الكتابة
skills:
write_approval: true
/skills pending # قائمة بالكتابات المسجّلة + سطر gist لكل واحدة
/skills diff <id> # الـ unified diff الكامل
/skills approve <id> # طبّقها (أو 'all')
/skills reject <id> # اسقطها (أو 'all')
/skills approval on # شغّل البوابة واثبّتها
# أو في الشات: /learn
/learn docs/runbook.md and https://example.com/guide; focus on recovery
# ~/.hermes/config.yaml
curator:
enabled: true
interval_hours: 168 # 7 أيام
min_idle_hours: 2
stale_after_days: 14
archive_after_days: 30
consolidate: false # LLM umbrella-building pass — opt-in
prune_builtins: false # archiving للـ bundled skills غير المستخدمة
hermes curator status # حالة الـ curator + إحصائيات المهارات
hermes curator usage # تيلemetrie استخدام لكل المهارات مع الـ provenance
hermes curator run # ادّعي مرور مراجعة دلوقتي
hermes curator pause && hermes curator resume
hermes curator pin deploy-production # الـ skill ده مش هياخد انتقالات تلقائية
hermes curator list-archived
hermes curator restore <name> # استرجع مهارة محرشفة
.bundled_manifest ومش في .hub/lock.json.| الملف | الغرض | النطاق |
|---|---|---|
SOUL.md |
هوية الوكيل الأساسية — slot #1 في الـ system prompt | ~/.hermes/SOUL.md |
.hermes.md / HERMES.md |
تعليمات خاصة بالمشروع — أعلى أولوية | لحد جذر الـ git |
AGENTS.md |
تعليمات المشروع وأعراف الكود | recursive directory walk |
CLAUDE.md |
ملفات سياق Claude Code | مجلد العمل بس |
.cursorrules / .cursor/rules/*.mdc |
قواعد Cursor | مجلد العمل بس |
# ~/.hermes/config.yaml
context_file_max_chars: null # default — سقف ديناميكي متناسب مع نافذة سياق الموديل
# أو حط رقم صحيح موجب لتثبيت سقف ثابت
# context_file_max_chars: 25000
context_file_read_timeout: 5.0
terminal:
cwd: /home/myuser/projects
.hermes.md ← AGENTS.md ← CLAUDE.md ← .cursorrules.# Hermes ← OpenClaw
hermes claw migrate # migration تفاعلي كامل
hermes claw migrate --dry-run # معاينة اللي هيتنقل
hermes claw migrate --preset user-data # ينقل من غير secrets
hermes claw migrate --overwrite # استبدل التعارضات الموجودة
hermes claw migrate --migrate-secrets # ضمّن الـ API keys
# OpenClaw ← Hermes : من Control UI
# Settings -> Import Memory -> اختار الوكيل -> راجع -> أكّد
# (Codex / Claude Code / Hermes — Markdown بس)
# تنظيف بعد الـ migration
hermes claw cleanup
# من Hermes إلى OpenClaw
cp ~/.hermes/memories/MEMORY.md ~/.openclaw/workspace/MEMORY.md
cp ~/.hermes/memories/USER.md ~/.openclaw/workspace/USER.md
cp -r ~/.hermes/skills/ ~/.openclaw/workspace/skills/
# OpenClaw workspace كـ private git backup (موصى به في التوثيق)
cd ~/.openclaw/workspace
git init
git add AGENTS.md SOUL.md IDENTITY.md USER.md memory/
git commit -m "Add agent workspace"
| العنصر | OpenClaw | Hermes Agent |
|---|---|---|
| نموذج الذاكرة | ملفات Markdown في الـ workspace | MEMORY.md + USER.md مُدارة بالأداة |
| حد الـ MEMORY | bootstrap budget | 2,200 حرف صارم |
| طبقة العمل | memory/YYYY-MM-DD.md |
~/.hermes/state.db (SQLite + FTS5) |
| محرك البحث | Hybrid: vector + keyword | FTS5 كلمي — مش محتاج embedding |
| فحص أمني للذاكرة | ✘ مفيش | ✔ scan أنماط الحقن والاستخراج |
| عدد الـ providers | 3 engines + memory-wiki | 7 providers + catalog |
| عدد جذور المهارات | 7 مستويات أولوية | 4 مستويات: project ← local ← external ← bundled |
| حد الـ description | <160 حرف | ≤60 حرف (validator صارم) |
| الإنشاء الذاتي | Skill Workshop — proposal ← apply | skill_manage كتابة مباشرة |
| الـ lifecycle | pending ← applied / stale | active ← stale ← archived |
| Curator | 30 / 90 يوم | 14 / 30 يوم |
| النقاط القوية | Dreaming، DREAMS.md، حوكمة صارمة | providers، FTS5، bundles، stacking |
| المرحلة | الهدف | المخرجات |
|---|---|---|
| 1 — foundation | ظبّط الذاكرة وتأكد إن الكتابة بتتم فعلاً | MEMORY.md + USER.md |
| 2 — skill #1 | اكتب deploy-production يدوياً بالـ frontmatter الصحيح | مهارة واحدة + references/ |
| 3 — skills #2–#5 | خلّي الوكيل يبني الباقي بـ /learn و skill_manage | 4 مهارات agent-created |
| 4 — the curator | فعّل الـ Curator، اعمل override مؤقت، و pin للحرج | curator نضيف ومتوقّع |
# Phase 1 — foundation
hermes config get memory
hermes memory status
hermes profile list
cat ~/.hermes/memories/MEMORY.md # أكّد الكتابة حصلت
# Phase 2 — أول مهارة
mkdir -p ~/.hermes/skills/devops/deploy-production/references
hermes skills list | grep deploy-production
# Phase 3 — خلّي الوكيل يبني الباقي
hermes skills list | tail -5
# Phase 4 — Curator
hermes curator status
hermes config set curator.stale_after_days 0 # اختبار فوري
hermes curator run
hermes config set curator.stale_after_days 14 # رجّع
hermes curator pin deploy-production
/new واسأل «إيه نظام التشغيل اللي بنشتغل عليه؟».