Tools
بستههای مسیر حرکت
ضبط مسیر حرکت، ثبتکنندهٔ پرواز OpenClaw برای هر نشست است. این قابلیت برای هر اجرای عامل، یک خط زمانی
ساختیافته ثبت میکند و سپس /export-trajectory نشست
فعلی را در قالب یک بستهٔ پشتیبانی پالایششده آماده میکند که موارد زیر را پوشش میدهد:
- پرامپت، پرامپت سیستمی و ابزارهای ارسالشده به مدل
- اینکه کدام پیامهای رونوشت و فراخوانیهای ابزار به یک پاسخ منجر شدند
- اینکه آیا اجرای موردنظر با پایان مهلت، لغو، Compaction یا خطای ارائهدهنده مواجه شد
- اینکه کدام مدل، pluginها، Skills و تنظیمات زمان اجرا فعال بودند
- فرادادهٔ مصرف و حافظهٔ نهان پرامپت که ارائهدهنده بازگرداند
برای تهیهٔ یک گزارش جامع پشتیبانی Gateway، بهجای آن با
/diagnostics شروع کنید؛ این فرمان بستهٔ
پالایششدهٔ Gateway را جمعآوری میکند و برای نشستهای محیط OpenAI Codex، میتواند پس از تأیید،
بازخورد Codex را به OpenAI ارسال کند. هنگامی که به
خط زمانی دقیق پرامپت، ابزار و رونوشت هر نشست نیاز دارید، از /export-trajectory استفاده کنید.
شروع سریع
در نشست فعال ارسال کنید (نام مستعار /trajectory):
/export-trajectoryOpenClaw بسته را در فضای کاری مینویسد:
.openclaw/trajectory-exports/openclaw-trajectory-<session>-<timestamp>/برای جایگزینکردن آن، نام یک پوشهٔ خروجی نسبی را وارد کنید:
/export-trajectory bug-1234نام درون .openclaw/trajectory-exports/ تفکیک میشود. مسیرهای مطلق و
مسیرهای ~ رد میشوند.
بستههای مسیر حرکت میتوانند شامل پرامپتها، پیامهای مدل، طرحوارههای ابزار، نتایج ابزار، رویدادهای زمان اجرا و مسیرهای محلی باشند؛ بنابراین فرمان چت همیشه از تأیید exec عبور میکند. هنگامی که قصد ایجاد بسته را دارید، تنها یکبار خروجیگرفتن را تأیید کنید؛ از مجوز همگانی استفاده نکنید. در چتهای گروهی، OpenClaw پرامپت تأیید و نتیجهٔ خروجی را بهصورت خصوصی برای مالک میفرستد، نه اینکه جزئیات مسیر حرکت را دوباره در اتاق مشترک ارسال کند.
برای بررسی محلی یا جریانهای کاری پشتیبانی، فرمان زیربنایی CLI را مستقیماً اجرا کنید:
openclaw sessions export-trajectory --session-key "agent:main:telegram:direct:123" --workspace .پرچمهای دیگر: --output <path> (نام پوشه درون
.openclaw/trajectory-exports)، --store <path> (جایگزینی مخزن نشست)،
--agent <id> (شناسهٔ عامل برای تفکیک مخزن)، --json (خروجی ساختیافته).
دسترسی
خروجیگرفتن از مسیر حرکت، فرمانی مختص مالک است. فرستنده باید بررسیهای عادی مجوز فرمان و نیز بررسی مالک کانال را با موفقیت پشت سر بگذارد.
موارد ثبتشده
ضبط مسیر حرکت بهطور پیشفرض برای اجراهای عامل OpenClaw فعال است.
رویدادهای زمان اجرا شامل موارد زیر هستند:
session.startedtrace.metadatacontext.compiledprompt.submittedmodel.fallback_step، شامل مدل مبدأ، مدل بعدی، دلیل/جزئیات شکست، موقعیت در زنجیره و اینکه آیا زنجیره پیش رفت، موفق شد یا به پایان رسیدmodel.completedtrace.artifactssession.ended
رویدادهای رونوشت از شاخهٔ فعال نشست بازسازی میشوند: پیامهای کاربر، پیامهای دستیار، فراخوانیهای ابزار، نتایج ابزار، Compactionها، تغییرات مدل، برچسبها و ورودیهای سفارشی نشست.
رویدادها بهصورت JSON Lines با این نشانگر طرحواره نوشته میشوند:
{ "traceSchema": "openclaw-trajectory", "schemaVersion": 1}فایلهای بسته
| فایل | محتوا |
|---|---|
manifest.json |
طرحوارهٔ بسته، فایلهای منبع، شمار رویدادها و فهرست فایلهای تولیدشده |
events.jsonl |
خط زمانی مرتبشدهٔ زمان اجرا و رونوشت |
session-branch.json |
شاخهٔ فعال پالایششدهٔ رونوشت و سرآیند نشست |
metadata.json |
نسخهٔ OpenClaw، سیستمعامل/زمان اجرا، مدل، تصویر لحظهای پیکربندی، pluginها، Skills و فرادادهٔ پرامپت |
artifacts.json |
وضعیت نهایی، خطاها، مصرف، حافظهٔ نهان پرامپت، شمار Compaction، متن دستیار و فرادادهٔ ابزار |
prompts.json |
پرامپتهای ارسالشده و جزئیات منتخب ساخت پرامپت |
system-prompt.txt |
آخرین پرامپت سیستمی کامپایلشده، در صورت ضبط |
tools.json |
تعریف ابزارهای ارسالشده به مدل، در صورت ضبط |
manifest.json فایلهای موجود در هر بسته را فهرست میکند؛ هنگامی که نشست
دادهٔ متناظر زمان اجرا را ضبط نکرده باشد، برخی فایلها حذف میشوند.
فضای ذخیرهسازی ضبط
رویدادهای مسیر حرکت زمان اجرا همراه با نشست، در پایگاه دادهٔ SQLite مختص هر عامل ذخیره میشوند. خروجیگرفتن از مسیر حرکت، یک بستهٔ پشتیبانی JSONL پالایششده ایجاد میکند؛ ضبط زندهٔ زمان اجرا یک فایل جانبی JSONL در کنار نشست نیست.
فایلهای قدیمی .trajectory.jsonl و .trajectory-path.json ممکن است همچنان
از نسخههای قدیمیتر یا خروجیهای صریح فایل قدیمی ظاهر شوند. نگهداری نشست
این فایلها را اهداف پاکسازی در نظر میگیرد؛ ضبط فعال، ردیفهای پایگاه داده را مینویسد.
غیرفعالکردن ضبط
export OPENCLAW_TRAJECTORY=0این فرمان پیش از راهاندازی OpenClaw، ضبط مسیر حرکت زمان اجرا را غیرفعال میکند.
/export-trajectory همچنان میتواند از شاخهٔ رونوشت خروجی بگیرد، اما ممکن است دادههای
مختص زمان اجرا، مانند زمینهٔ کامپایلشده، مصنوعات ارائهدهنده و فرادادهٔ پرامپت
موجود نباشند.
تنظیم مهلت تخلیه
OpenClaw هنگام پاکسازی عامل، ردیفهای مسیر حرکت زمان اجرا را تخلیه میکند. مهلت پیشفرض
پاکسازی 10,000 ms است. در دیسکهای کند یا مخزنهای بزرگ، پیش از راهاندازی OpenClaw
مقدار OPENCLAW_TRAJECTORY_FLUSH_TIMEOUT_MS را تنظیم کنید:
export OPENCLAW_TRAJECTORY_FLUSH_TIMEOUT_MS=30000این مقدار زمان ثبت پایان مهلت openclaw-trajectory-flush و
ادامهٔ کار توسط OpenClaw را کنترل میکند؛ سقف اندازهٔ مسیر حرکت را تغییر نمیدهد. برای تنظیم همهٔ مراحل
پاکسازی عامل که مهلت صریحی دریافت نمیکنند، مقدار
OPENCLAW_AGENT_CLEANUP_TIMEOUT_MS را تنظیم کنید.
حریم خصوصی و محدودیتها
بستههای مسیر حرکت برای پشتیبانی و اشکالزدایی هستند، نه انتشار عمومی. OpenClaw پیش از نوشتن فایلهای خروجی، مقادیر حساس را پالایش میکند:
- اعتبارنامهها و فیلدهای شناختهشدهٔ محموله که شبیه اطلاعات محرمانه هستند
- دادههای تصویر
- مسیرهای وضعیت محلی
- مسیرهای فضای کاری، با
$WORKSPACE_DIRجایگزین میشوند - مسیرهای پوشهٔ خانه، در صورت شناسایی
خروجیگیر همچنین اندازهٔ ورودی را محدود میکند:
- ضبط زمان اجرا: ضبط زنده یک پنجرهٔ گردشی با سقف 10 MiB است که برای بازکردن فضا برای رویدادهای جدید، قدیمیترین رویدادها را حذف میکند؛ خروجیگیر فایلهای جانبی قدیمی زمان اجرا را تا 50 MiB میپذیرد
- فایلهای نشست: 50 MiB
- رویدادهای زمان اجرا در هر خروجی: 200,000
- کل رویدادهای خروجیگرفتهشده: 250,000
- خطوط منفرد رویداد زمان اجرا در اندازههای بیش از 256 KiB کوتاه میشوند
پیش از اشتراکگذاری بستهها بیرون از تیم خود، آنها را بازبینی کنید. پالایش با حداکثر تلاش انجام میشود و نمیتواند همهٔ اطلاعات محرمانهٔ مختص برنامهها را شناسایی کند.
عیبیابی
اگر خروجی هیچ رویداد زمان اجرایی ندارد:
- تأیید کنید OpenClaw بدون
OPENCLAW_TRAJECTORY=0راهاندازی شده است - پیام دیگری را در نشست اجرا کنید، سپس دوباره خروجی بگیرید
- مقدار
manifest.jsonرا برایruntimeEventCountبررسی کنید
اگر فرمان مسیر خروجی را رد میکند:
- از یک نام نسبی مانند
bug-1234استفاده کنید - مقدار
/tmp/...یا~/...را وارد نکنید - خروجی را درون
.openclaw/trajectory-exports/نگه دارید
اگر خروجیگرفتن با خطای اندازه شکست خورد، نشست یا فایل جانبی از محدودیتهای ایمنی خروجی بالا فراتر رفته است. نشست جدیدی آغاز کنید یا از یک بازسازی کوچکتر خروجی بگیرید.