Bundled plugin guides
ويكي الذاكرة
memory-wiki هو Plugin مضمّن يحوّل الذاكرة الدائمة إلى خزنة معرفة مُجمّعة.
هو لا يستبدل Plugin الذاكرة النشطة. لا يزال Plugin الذاكرة النشطة
يمتلك الاستدعاء، والترقية، والفهرسة، وDreaming. يعمل memory-wiki إلى جانبه
ويجمع المعرفة الدائمة في ويكي قابل للتنقل مع صفحات حتمية،
ومطالبات منظمة، ومصدرية، ولوحات معلومات، وموجزات قابلة للقراءة آلياً.
استخدمه عندما تريد أن تتصرف الذاكرة كطبقة معرفة مُدارة أكثر، وأقل ككومة من ملفات Markdown.
ما الذي يضيفه
- خزنة ويكي مخصصة بتخطيط صفحات حتمي
- بيانات وصفية منظمة للمطالبات والأدلة، وليس مجرد نثر
- مصدرية وثقة وتناقضات وأسئلة مفتوحة على مستوى الصفحة
- موجزات مُجمّعة لمستهلكي الوكيل/وقت التشغيل
- أدوات بحث/جلب/تطبيق/تدقيق أصلية للويكي
- استيراد Open Knowledge Format إلى مفاهيم ويكي مُجمّعة
- وضع جسر اختياري يستورد القطع العامة من Plugin الذاكرة النشطة
- وضع عرض اختياري ملائم لـ Obsidian وتكامل CLI
كيف يتكامل مع الذاكرة
فكّر في التقسيم هكذا:
| الطبقة | تملك |
|---|---|
Plugin الذاكرة النشطة (memory-core، QMD، Honcho، إلخ) |
الاستدعاء، والبحث الدلالي، والترقية، وDreaming، ووقت تشغيل الذاكرة |
memory-wiki |
صفحات ويكي مُجمّعة، وتوليفات غنية بالمصدرية، ولوحات معلومات، وبحث/جلب/تطبيق خاص بالويكي |
إذا كشف Plugin الذاكرة النشطة قطع استدعاء مشتركة، يمكن لـ OpenClaw البحث
في الطبقتين معاً في تمريرة واحدة باستخدام memory_search corpus=all.
عندما تحتاج إلى ترتيب خاص بالويكي، أو مصدرية، أو وصول مباشر إلى الصفحة، استخدم الأدوات الأصلية للويكي بدلاً من ذلك.
النمط الهجين الموصى به
الإعداد الافتراضي القوي للإعدادات المحلية أولاً هو:
- QMD كخلفية الذاكرة النشطة للاستدعاء والبحث الدلالي الواسع
memory-wikiفي وضعbridgeلصفحات المعرفة الدائمة المُركّبة
ينجح هذا التقسيم جيداً لأن كل طبقة تبقى مركزة:
- يحافظ QMD على قابلية البحث في الملاحظات الخام، وتصديرات الجلسات، والمجموعات الإضافية
- يجمع
memory-wikiالكيانات المستقرة، والمطالبات، ولوحات المعلومات، وصفحات المصادر
قاعدة عملية:
- استخدم
memory_searchعندما تريد تمريرة استدعاء واسعة واحدة عبر الذاكرة - استخدم
wiki_searchوwiki_getعندما تريد نتائج ويكي واعية بالمصدرية - استخدم
memory_search corpus=allعندما تريد أن يمتد البحث المشترك عبر الطبقتين
إذا أبلغ وضع الجسر عن صفر من القطع المصدّرة، فهذا يعني أن Plugin الذاكرة النشطة
لا يكشف حالياً مدخلات جسر عامة بعد. شغّل openclaw wiki doctor أولاً،
ثم تأكد من أن Plugin الذاكرة النشطة يدعم القطع العامة.
عندما يكون وضع الجسر نشطاً ويتم تمكين bridge.readMemoryArtifacts،
تقرأ openclaw wiki status وopenclaw wiki doctor وopenclaw wiki bridge import عبر Gateway العامل. هذا يحافظ على اتساق فحوصات جسر CLI
مع سياق Plugin ذاكرة وقت التشغيل. إذا كان الجسر معطلاً أو كانت قراءات القطع
متوقفة، تحافظ تلك الأوامر على سلوكها المحلي/غير المتصل.
أوضاع الخزنة
يدعم memory-wiki ثلاثة أوضاع للخزنة:
isolated
خزنة خاصة، ومصادر خاصة، ولا اعتماد على memory-core.
استخدم هذا عندما تريد أن تكون الويكي مخزن معرفة منسقاً بحد ذاته.
bridge
يقرأ قطع الذاكرة العامة وأحداث الذاكرة من Plugin الذاكرة النشطة عبر seams العامة لـ plugin SDK.
استخدم هذا عندما تريد من الويكي تجميع وتنظيم القطع المصدّرة من Plugin الذاكرة دون الوصول إلى داخليات Plugin الخاصة.
يمكن لوضع الجسر فهرسة:
- قطع الذاكرة المصدّرة
- تقارير الأحلام
- الملاحظات اليومية
- ملفات جذر الذاكرة
- سجلات أحداث الذاكرة
unsafe-local
مخرج صريح على الجهاز نفسه للمسارات المحلية الخاصة.
هذا الوضع تجريبي وغير قابل للنقل عمداً. استخدمه فقط عندما تفهم حد الثقة وتحتاج تحديداً إلى وصول إلى نظام الملفات المحلي لا يستطيع وضع الجسر توفيره.
تخطيط الخزنة
يهيئ Plugin خزنة كهذه:
<vault>/ AGENTS.md WIKI.md index.md inbox.md entities/ concepts/ syntheses/ sources/ reports/ _attachments/ _views/ .openclaw-wiki/يبقى المحتوى المُدار داخل الكتل المولّدة. يتم الحفاظ على كتل الملاحظات البشرية.
مجموعات الصفحات الرئيسية هي:
sources/للمواد الخام المستوردة والصفحات المدعومة بالجسرentities/للأشياء الدائمة، والأشخاص، والأنظمة، والمشاريع، والكائناتconcepts/للأفكار، والتجريدات، والأنماط، والسياساتsyntheses/للملخصات المُجمّعة والتجميعات المُدارةreports/للوحات المعلومات المولّدة
استيرادات Open Knowledge Format
يمكن لـ memory-wiki استيراد حزم Open Knowledge Format غير المضغوطة باستخدام:
openclaw wiki okf import ./bundles/ga4هذا هو أنظف ملاءمة عندما ينتج كتالوج بيانات، أو زاحف توثيق، أو وكيل إثراء
OKF بالفعل: أبقِ OKF كقطعة تبادل قابلة للنقل، ثم دع memory-wiki
يحوّله إلى صفحات مفاهيم أصلية لـ OpenClaw وموجزات مُجمّعة.
يتبع المستورد شكل OKF v0.1:
- ملفات
.mdغير المحجوزة هي مستندات مفاهيم - يحتاج كل مفهوم مستورد إلى حقل frontmatter غير فارغ باسم
type - يتم قبول قيم OKF
typeغير المعروفة - لا يتم استيراد ملفات
index.mdوlog.mdالمحجوزة كمفاهيم - يتم الحفاظ على روابط markdown المعطلة أو الخارجية
يتم تسطيح صفحات المفاهيم المستوردة تحت concepts/ بحيث تراها مسارات التجميع،
والبحث، والجلب، ولوحات المعلومات، وموجزات المطالبات الموجودة دون إضافة شجرة
ويكي ثانية. تحتفظ كل صفحة بمعرّف مفهوم OKF الأصلي، ومسار المصدر، وtype،
وresource، وtags، والطابع الزمني، وfrontmatter المنتج الكامل. تتم إعادة
كتابة روابط OKF الداخلية إلى صفحات مفاهيم الويكي المولّدة وتُصدر أيضاً كإدخالات
relationships منظمة مع kind: okf-link.
المطالبات والأدلة المنظمة
يمكن للصفحات حمل frontmatter منظمة باسم claims، وليس مجرد نص حر.
يمكن أن تتضمن كل مطالبة:
idtextstatusconfidenceevidence[]updatedAt
يمكن أن تتضمن إدخالات الأدلة:
kindsourceIdpathlinesweightconfidenceprivacyTiernoteupdatedAt
هذا ما يجعل الويكي تتصرف كطبقة اعتقاد أكثر من كونها تفريغ ملاحظات سلبياً. يمكن تتبع المطالبات، وتقييمها، ومنازعتها، وحلها بالرجوع إلى المصادر.
بيانات وصفية للكيانات موجهة للوكلاء
يمكن لصفحات الكيانات أيضاً حمل بيانات وصفية للتوجيه لاستخدام الوكيل. هذه frontmatter عامة، لذا تعمل للأشخاص، والفرق، والأنظمة، والمشاريع، أو أي نوع كيان آخر.
تشمل الحقول الشائعة:
entityType: مثلاًpersonأوteamأوsystemأوprojectcanonicalId: مفتاح هوية مستقر يُستخدم عبر الأسماء البديلة والاستيراداتaliases: أسماء أو معرّفات أو تسميات يجب أن تُحل إلى الصفحة نفسهاprivacyTier:publicأوlocal-privateأوsensitiveأوconfirm-before-usebestUsedFor/notEnoughFor: تلميحات توجيه مضغوطةlastRefreshedAt: طابع زمني لتحديث المصدر منفصل عن وقت تحرير الصفحةpersonCard: بطاقة توجيه اختيارية خاصة بالشخص تتضمن المعرّفات، والحسابات الاجتماعية، والبريد الإلكتروني، والمنطقة الزمنية، والمسار، وما يجب طلبه، وما يجب تجنب طلبه، والثقة، والخصوصيةrelationships: حواف مصنفة إلى صفحات ذات صلة مع الهدف، والنوع، والوزن، والثقة، ونوع الدليل، وطبقة الخصوصية، والملاحظة
في ويكي الأشخاص، يجب أن يبدأ الوكيل عادةً بـ
reports/person-agent-directory.md، ثم يفتح صفحة الشخص باستخدام wiki_get
قبل استخدام تفاصيل الاتصال أو الحقائق المستنتجة.
مثال:
pageType: entityentityType: personid: entity.brad-grouxcanonicalId: maintainer.brad-grouxaliases: - Brad - bgrouxprivacyTier: local-privatebestUsedFor: - Microsoft Teams and Azure routingnotEnoughFor: - legal approvallastRefreshedAt: "2026-04-29T00:00:00.000Z"personCard: handles: - "@bgroux" socials: - "https://x.example/bgroux" emails: - brad@example.com timezone: America/Chicago lane: Microsoft ecosystem askFor: - Teams rollout questions avoidAskingFor: - unrelated billing decisions confidence: 0.8 privacyTier: confirm-before-userelationships: - targetId: entity.alice targetTitle: Alice kind: collaborates-with confidence: 0.7 evidenceKind: discrawl-statclaims: - id: claim.brad.teams text: Brad is useful for Microsoft Teams routing. status: supported confidence: 0.9 evidence: - kind: maintainer-whois sourceId: source.maintainers privacyTier: local-privateمسار التجميع
تقرأ خطوة التجميع صفحات الويكي، وتطبّع الملخصات، وتصدر قطعاً مستقرة موجهة للآلة تحت:
.openclaw-wiki/cache/agent-digest.json.openclaw-wiki/cache/claims.jsonl
توجد هذه الموجزات حتى لا تضطر الوكلاء وشيفرة وقت التشغيل إلى استخراج البيانات من صفحات Markdown.
كما يشغّل الناتج المُجمّع:
- فهرسة الويكي في التمريرة الأولى لمسارات البحث/الجلب
- البحث عن معرّف المطالبة رجوعاً إلى الصفحات المالكة
- مكملات مطالبات مضغوطة
- توليد التقارير/لوحات المعلومات
لوحات المعلومات وتقارير الصحة
عند تمكين render.createDashboards، يحافظ التجميع على لوحات معلومات تحت
reports/.
تشمل التقارير المدمجة:
reports/open-questions.mdreports/contradictions.mdreports/low-confidence.mdreports/claim-health.mdreports/stale-pages.mdreports/person-agent-directory.mdreports/relationship-graph.mdreports/provenance-coverage.mdreports/privacy-review.md
تتعقب هذه التقارير أشياء مثل:
- عناقيد ملاحظات التناقض
- عناقيد المطالبات المتنافسة
- المطالبات التي تفتقد أدلة منظمة
- الصفحات والمطالبات منخفضة الثقة
- الحداثة القديمة أو غير المعروفة
- الصفحات ذات الأسئلة غير المحلولة
- بطاقات توجيه الأشخاص/الكيانات
- حواف العلاقات المنظمة
- تغطية فئات الأدلة
- طبقات الخصوصية غير العامة التي تحتاج إلى مراجعة قبل الاستخدام
البحث والاسترجاع
يدعم memory-wiki خلفيتي بحث:
shared: استخدام تدفق بحث الذاكرة المشترك عند توفرهlocal: البحث في الويكي محلياً
كما يدعم ثلاث مجموعات:
wikimemoryall
سلوك مهم:
- يستخدم
wiki_searchوwiki_getالموجزات المُجمّعة كتمريرة أولى عندما يكون ذلك ممكناً - يمكن لمعرّفات المطالبات أن تُحل رجوعاً إلى الصفحة المالكة
- تؤثر المطالبات المتنازع عليها/القديمة/الحديثة في الترتيب
- يمكن أن تبقى تسميات المصدرية في النتائج
- يمكن لوضع البحث أن يميل بالترتيب للبحث عن الأشخاص، أو توجيه الأسئلة، أو أدلة المصدر، أو المطالبات الخام
قاعدة عملية:
- استخدم
memory_search corpus=allلتمريرة استدعاء واسعة واحدة - استخدم
wiki_search+wiki_getعندما تهتم بالترتيب الخاص بالويكي، أو المصدرية، أو بنية الاعتقاد على مستوى الصفحة
أوضاع البحث:
auto: الإعداد الافتراضي المتوازنfind-person: يعزز الكيانات الشبيهة بالأشخاص، والأسماء البديلة، والمعرّفات، والحسابات الاجتماعية، و المعرّفات canonical IDsroute-question: يعزز بطاقات الوكلاء، وتلميحات ما يجب طلبه، وتلميحات أفضل استخدام، و سياق العلاقاتsource-evidence: يعزز صفحات المصادر وبيانات الأدلة المنظمةraw-claim: يعزز المطالبات المنظمة المطابقة ويعيد بيانات المطالبة/الدليل الوصفية في النتائج
عندما تطابق نتيجة مطالبة منظمة، يمكن لـ wiki_search إرجاع
matchedClaimId وmatchedClaimStatus وmatchedClaimConfidence و
evidenceKinds وevidenceSourceIds في حمولة تفاصيلها. يتضمن إخراج النص
أيضاً أسطر Claim: وEvidence: مضغوطة عند توفرها.
أدوات الوكيل
يسجل Plugin هذه الأدوات:
wiki_statuswiki_searchwiki_getwiki_applywiki_lint
ما تفعله:
wiki_status: وضع الخزنة الحالي، والصحة، وتوفر Obsidian CLIwiki_search: يبحث في صفحات الويكي، وعند تهيئته، في مجموعات الذاكرة المشتركة؛ يقبلmodeللبحث عن الأشخاص، أو توجيه الأسئلة، أو أدلة المصدر، أو التعمق في المطالبة الخامwiki_get: يقرأ صفحة ويكي حسب المعرّف/المسار أو يعود إلى مجموعة الذاكرة المشتركةwiki_apply: طفرات تركيب/بيانات وصفية ضيقة دون جراحة صفحات حرةwiki_lint: فحوصات بنيوية، وفجوات مصدرية، وتناقضات، وأسئلة مفتوحة
يسجّل الـ Plugin أيضًا ملحقًا غير حصري لمجموعة ذاكرة، بحيث يمكن لـ
memory_search وmemory_get المشتركتين الوصول إلى الويكي عندما يدعم Plugin الذاكرة النشطة
اختيار المجموعة.
سلوك الموجّه والسياق
عند تمكين context.includeCompiledDigestPrompt، تُلحق أقسام موجّه الذاكرة
لقطة مجمّعة مدمجة من agent-digest.json.
هذه اللقطة صغيرة وعالية القيمة عمدًا:
- الصفحات الأهم فقط
- الادعاءات الأهم فقط
- عدد التناقضات
- عدد الأسئلة
- مؤهلات الثقة/الحداثة
هذا اختياري لأنه يغيّر شكل الموجّه، وهو مفيد أساسًا لمحركات السياق أو تجميع الموجّهات القديم الذي يستهلك ملحقات الذاكرة صراحةً.
الإعدادات
ضع الإعدادات تحت plugins.entries.memory-wiki.config:
{ plugins: { entries: { "memory-wiki": { enabled: true, config: { vaultMode: "isolated", vault: { path: "~/.openclaw/wiki/main", renderMode: "obsidian", }, obsidian: { enabled: true, useOfficialCli: true, vaultName: "OpenClaw Wiki", openAfterWrites: false, }, bridge: { enabled: false, readMemoryArtifacts: true, indexDreamReports: true, indexDailyNotes: true, indexMemoryRoot: true, followMemoryEvents: true, }, ingest: { autoCompile: true, maxConcurrentJobs: 1, allowUrlIngest: true, }, search: { backend: "shared", corpus: "wiki", }, context: { includeCompiledDigestPrompt: false, }, render: { preserveHumanBlocks: true, createBacklinks: true, createDashboards: true, }, }, }, }, },}المفاتيح الأساسية:
vaultMode:isolatedأوbridgeأوunsafe-localvault.renderMode:nativeأوobsidianbridge.readMemoryArtifacts: استيراد العناصر العامة من Plugin الذاكرة النشطةbridge.followMemoryEvents: تضمين سجلات الأحداث في وضع الجسرsearch.backend:sharedأوlocalsearch.corpus:wikiأوmemoryأوallcontext.includeCompiledDigestPrompt: إلحاق لقطة ملخّص مدمجة بأقسام موجّه الذاكرةrender.createBacklinks: إنشاء كتل ذات صلة حتميةrender.createDashboards: إنشاء صفحات لوحات المعلومات
مثال: QMD + وضع الجسر
استخدم هذا عندما تريد QMD للاسترجاع وmemory-wiki لطبقة معرفة
مُدارة:
{ memory: { backend: "qmd", }, plugins: { entries: { "memory-wiki": { enabled: true, config: { vaultMode: "bridge", bridge: { enabled: true, readMemoryArtifacts: true, indexDreamReports: true, indexDailyNotes: true, indexMemoryRoot: true, followMemoryEvents: true, }, search: { backend: "shared", corpus: "all", }, context: { includeCompiledDigestPrompt: false, }, }, }, }, },}يحافظ هذا على:
- تولّي QMD مسؤولية استرجاع الذاكرة النشطة
- تركيز
memory-wikiعلى الصفحات المجمّعة ولوحات المعلومات - بقاء شكل الموجّه دون تغيير إلى أن تمكّن موجّهات الملخّص المجمّع عمدًا
CLI
يعرض memory-wiki أيضًا سطح CLI من المستوى الأعلى:
openclaw wiki statusopenclaw wiki doctoropenclaw wiki initopenclaw wiki ingest ./notes/alpha.mdopenclaw wiki compileopenclaw wiki lintopenclaw wiki search "alpha"openclaw wiki get entity.alphaopenclaw wiki apply synthesis "Alpha Summary" --body "..." --source-id source.alphaopenclaw wiki bridge importopenclaw wiki obsidian statusراجع CLI: الويكي للاطلاع على مرجع الأوامر الكامل.
دعم Obsidian
عندما تكون vault.renderMode هي obsidian، يكتب الـ Plugin ملفات Markdown
متوافقة مع Obsidian ويمكنه اختياريًا استخدام CLI الرسمي obsidian.
تشمل مسارات العمل المدعومة:
- فحص الحالة
- البحث في الخزنة
- فتح صفحة
- استدعاء أمر Obsidian
- الانتقال إلى الملاحظة اليومية
هذا اختياري. يظل الويكي يعمل في الوضع الأصلي دون Obsidian.
سير العمل الموصى به
- أبقِ Plugin الذاكرة النشطة لديك للاسترجاع/الترقية/الـ Dreaming.
- مكّن
memory-wiki. - ابدأ بوضع
isolatedما لم تكن تريد وضع الجسر صراحةً. - استخدم
wiki_search/wiki_getعندما تكون جهة المصدر مهمة. - استخدم
wiki_applyللتوليفات المحدودة أو تحديثات البيانات الوصفية. - شغّل
wiki_lintبعد التغييرات المهمة. - فعّل لوحات المعلومات إذا أردت رؤية العناصر القديمة/التناقضات.