CLI commands
حافظه
openclaw memory
نمایهسازی حافظهٔ معنایی، جستوجو و ارتقا به MEMORY.md را مدیریت کنید.
این قابلیت توسط Plugin همراه memory-core ارائه میشود و هنگامی در دسترس است که
plugins.slots.memory، memory-core (گزینهٔ پیشفرض) را انتخاب کند. سایر Pluginهای
حافظه، فضای نام CLI مختص خود را ارائه میکنند.
مطالب مرتبط: مفهوم حافظه، Dreaming، مرجع پیکربندی حافظه، ویکی حافظه، ویکی، Pluginها.
memory status
openclaw memory status [--agent <id>] [--deep] [--index] [--fix] [--json] [--verbose]بدون --agent، برای همهٔ عاملهای موجود در agents.list اجرا میشود؛ اگر فهرست
عاملها پیکربندی نشده باشد، از عامل پیشفرض استفاده میکند.
| پرچم | اثر |
|---|---|
--deep |
آمادگی مخزن برداری، ارائهدهندهٔ تعبیهسازی و جستوجوی معنایی را بررسی میکند (مستلزم فراخوانیهای اضافی ارائهدهنده است). اجرای سادهٔ memory status سریع باقی میماند و از این بررسی صرفنظر میکند؛ ناشناخته بودن وضعیت برداری/معنایی یعنی بررسی نشده است. حالت واژگانی QMD با searchMode: "search" حتی همراه با --deep همیشه از بررسیهای برداری معنایی صرفنظر میکند. |
--index |
اگر مخزن تغییرات نمایهنشده داشته باشد، آن را دوباره نمایهسازی میکند. مستلزم --deep است. |
--fix |
قفلهای منقضیشدهٔ بازیابی را ترمیم و فرادادهٔ ارتقا را عادیسازی میکند. |
--json |
JSON را چاپ میکند. |
--verbose |
گزارشهای تفصیلی هر مرحله را نمایش میدهد. |
اگر خط Dreaming حتی با dreaming.enabled: true همچنان off باقی میماند، یا
به نظر میرسد پیمایشهای زمانبندیشده هرگز اجرا نمیشوند، Cron مدیریتشدهٔ Dreaming
برای فعالکردن تطبیق به اجرای Heartbeat عامل پیشفرض وابسته است. برای جزئیات
زمانبندی، Dreaming را ببینید.
وضعیت همچنین همهٔ مسیرهای جستوجوی اضافی موجود در agents.defaults.memorySearch.extraPaths را فهرست میکند.
memory index
openclaw memory index [--agent <id>] [--force] [--verbose]دامنهبندی برای هر عامل همانند status است. --force بهجای نمایهسازی مجدد
افزایشی، نمایهسازی مجدد کامل را اجرا میکند. --verbose پیش از نمایش پیشرفت
نمایهسازی، جزئیات ارائهدهنده، مدل، منابع و مسیرهای اضافی هر عامل را چاپ میکند.
memory search
openclaw memory search [query] [--query <text>] [--agent <id>] [--max-results <n>] [--min-score <n>] [--json]- پرسوجو: آرگومان مکانی
[query]یا--query <text>. اگر هر دو تنظیم شده باشند،--queryاولویت دارد. اگر هیچکدام تنظیم نشده باشند، فرمان خطا میدهد. --agent <id>: بهطور پیشفرض از عامل پیشفرض استفاده میکند (نه فهرست کامل عاملها).--max-results <n>: تعداد نتایج را محدود میکند (عدد صحیح مثبت).--min-score <n>: تطبیقهایی با امتیاز کمتر از این مقدار را حذف میکند.
memory promote
نامزدهای کوتاهمدت را از memory/YYYY-MM-DD.md رتبهبندی میکند و در صورت درخواست،
موارد برتر را به MEMORY.md میافزاید.
openclaw memory promote [--agent <id>] [--limit <n>] [--min-score <n>] \ [--min-recall-count <n>] [--min-unique-queries <n>] [--apply] [--include-promoted] [--json]| پرچم | پیشفرض | اثر |
|---|---|---|
--limit <n> |
حداکثر تعداد نامزدهایی که بازگردانده یا اعمال میشوند. | |
--min-score <n> |
0.75 |
حداقل امتیاز وزنی ارتقا. |
--min-recall-count <n> |
3 |
حداقل تعداد بازیابی موردنیاز. |
--min-unique-queries <n> |
2 |
حداقل تعداد پرسوجوهای متمایز موردنیاز. |
--apply |
فقط پیشنمایش | نامزدهای انتخابشده را به MEMORY.md میافزاید و آنها را ارتقایافته علامتگذاری میکند. |
--include-promoted |
نامزدهایی را که در چرخههای قبلی ارتقا یافتهاند نیز شامل میشود. | |
--json |
JSON را چاپ میکند. |
این مقادیر پیشفرض CLI با آستانههای مرحلهٔ عمیق پیمایش زمانبندیشدهٔ Dreaming تفاوت دارند (بخش Dreaming در ادامه را ببینید)؛ برای تطبیق رفتار پیمایش در یک اجرای دستی موردی، پرچمها را صریحاً مشخص کنید.
سیگنالهای رتبهبندی عبارتاند از: بسامد بازیابی، ارتباط نتیجهٔ بازیابی، تنوع پرسوجو، تازگی زمانی، ادغام میانروزی و غنای مفهومی استنتاجشده؛ این سیگنالها هم از بازیابیهای حافظه و هم از گذرهای ورود دادهٔ روزانه به دست میآیند و با تقویتی اندک از مرحلهٔ سبک/REM برای مرورهای تکراری Dreaming همراه میشوند. پیش از نوشتن، فرایند ارتقا یادداشت روزانهٔ فعال را دوباره میخواند تا ویرایشها یا حذفهای قطعههای کوتاهمدت پس از رتبهبندی لحاظ شوند و ارتقا از یک تصویر لحظهای منقضی انجام نشود.
memory promote-explain
جزئیات امتیاز یک نامزد ارتقا را توضیح میدهد.
openclaw memory promote-explain <selector> [--agent <id>] [--include-promoted] [--json]<selector> با کلید نامزد (بهصورت دقیق یا زیررشته)، مسیر یا متن قطعهٔ آن
تطبیق داده میشود.
memory rem-harness
بدون نوشتن هیچچیز، پیشنمایشی از تأملات REM، حقایق نامزد و خروجی ارتقای مرحلهٔ عمیق ارائه میکند.
openclaw memory rem-harness [--agent <id>] [--path <file-or-dir>] [--grounded] [--include-promoted] [--json]--path <file-or-dir>: بهجای فضای کاری فعال، ابزار آزمون را از فایلهای روزانهٔ تاریخیYYYY-MM-DD.mdمقداردهی اولیه میکند.--grounded: همچنین پیشنمایشی مستند به یادداشتهای تاریخی با بخشهایچه اتفاقی افتاد/تأملات/بهروزرسانیهای ماندگار احتمالیارائه میکند.
memory rem-backfill
خلاصههای تاریخی و مستند REM را برای بازبینی در رابط کاربری در DREAMS.md
مینویسد. برگشتپذیر است.
openclaw memory rem-backfill --path <file-or-dir> [--agent <id>] [--stage-short-term] [--json]openclaw memory rem-backfill --rollback [--rollback-short-term] [--json]--path <file-or-dir>: الزامی است، مگر اینکه--rollback/--rollback-short-termتنظیم شده باشد. فایل یا پوشهٔ فایلهای تاریخی حافظهٔ روزانه که باید از آن بازپُر شود.--stage-short-term: نامزدهای پایدار و مستند را نیز در مخزن فعال ارتقای کوتاهمدت قرار میدهد تا مرحلهٔ عمیق عادی بتواند آنها را رتبهبندی کند.--rollback: ورودیهای مستند دفترچه را که قبلاً نوشته شدهاند ازDREAMS.mdحذف میکند.--rollback-short-term: نامزدهای کوتاهمدت مستندی را که قبلاً در مرحله قرار گرفتهاند حذف میکند.
Dreaming
Dreaming سامانهٔ پسزمینهٔ ادغام حافظه با سه مرحلهٔ همکار است که طبق یک برنامه
و بهترتیب اجرا میشوند: سبک (مرتبسازی و آمادهسازی محتوای کوتاهمدت)،
REM (تأمل و آشکارسازی موضوعها)، عمیق (ارتقای حقایق پایدار به
MEMORY.md). فقط مرحلهٔ عمیق در MEMORY.md مینویسد.
- با
plugins.entries.memory-core.config.dreaming.enabled: trueفعال کنید (پیشفرضfalse)؛memory-coreکار Cron پیمایش را بهطور خودکار مدیریت میکند و نیازی به اجرای دستیopenclaw cron addنیست. - از طریق گفتوگو با
/dreaming on|offآن را روشن یا خاموش کنید؛ با/dreaming status(یا/dreaming//dreaming help) وضعیت را بررسی کنید.on/offبه وضعیت مالک کانال یاoperator.adminدر Gateway نیاز دارد؛statusو راهنما برای هر کسی که بتواند فرمان را فراخوانی کند در دسترس باقی میمانند. - خروجی خوانای هر مرحله برای انسان در
DREAMS.md(یا فایل موجودdreams.md) نوشته میشود. بهطور پیشفرض (dreaming.storage.mode: "separate") هر مرحله همچنین یک گزارش مستقل درmemory/dreaming/<phase>/YYYY-MM-DD.mdمینویسد؛ برای ادغام گزارشها در فایل حافظهٔ روزانه،mode: "inline"را تنظیم کنید، یا برای هر دو حالت از"both"استفاده کنید. - اجراهای زمانبندیشده و دستی
memory promoteاز سیگنالهای رتبهبندی یکسان مرحلهٔ عمیق استفاده میکنند؛ فقط آستانههای پیشفرض متفاوتاند (جدول بالا را با مقادیر پیشفرض زمانبندیشده در ادامه مقایسه کنید). - اجراهای زمانبندیشده در فضای کاری حافظهٔ همهٔ عاملهای پیکربندیشده توزیع میشوند.
مقادیر پیشفرض زمانبندیشده (plugins.entries.memory-core.config.dreaming):
| کلید | پیشفرض |
|---|---|
frequency |
0 3 * * * |
phases.deep.minScore |
0.8 |
phases.deep.minRecallCount |
3 |
phases.deep.minUniqueQueries |
3 |
phases.deep.recencyHalfLifeDays |
14 |
phases.deep.maxAgeDays |
30 |
phases.deep.maxPromotedSnippetTokens |
160 |
{ "plugins": { "entries": { "memory-core": { "config": { "dreaming": { "enabled": true } } } } }}فهرست کامل کلیدها و جزئیات مراحل: Dreaming، مرجع پیکربندی حافظه.
وابستگی Gateway برای SecretRef
اگر فیلدهای کلید API راهدور حافظهٔ فعال بهصورت SecretRef پیکربندی شده باشند،
فرمانهای memory آنها را از تصویر لحظهای Gateway فعال دریافت میکنند؛ اگر
Gateway در دسترس نباشد، فرمان بلافاصله با خطا متوقف میشود. این قابلیت به
Gatewayای نیاز دارد که از متد secrets.resolve پشتیبانی کند؛ Gatewayهای قدیمیتر
خطای ناشناخته بودن متد را برمیگردانند.