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راهاندازی شده است - پیام دیگری در نشست اجرا کنید، سپس دوباره خروجی بگیرید
- برای
runtimeEventCount،manifest.jsonرا بررسی کنید
اگر فرمان مسیر خروجی را رد میکند:
- از نام نسبی مانند
bug-1234استفاده کنید /tmp/...یا~/...را وارد نکنید- خروجی را درون
.openclaw/trajectory-exports/نگه دارید
اگر خروجیگیری با خطای اندازه شکست خورد، نشست یا فایل جانبی از محدودیتهای ایمنی خروجیگیری در بالا فراتر رفته است. یک نشست جدید شروع کنید یا بازتولید کوچکتری را خروجی بگیرید.