Tools

بسته‌های مسیر حرکت

ضبط مسیر حرکت، ثبت‌کنندهٔ پرواز OpenClaw برای هر نشست است. این قابلیت برای هر اجرای عامل، یک خط زمانی ساخت‌یافته ثبت می‌کند و سپس /export-trajectory نشست فعلی را در قالب یک بستهٔ پشتیبانی پالایش‌شده آماده می‌کند که موارد زیر را پوشش می‌دهد:

  • پرامپت، پرامپت سیستمی و ابزارهای ارسال‌شده به مدل
  • این‌که کدام پیام‌های رونوشت و فراخوانی‌های ابزار به یک پاسخ منجر شدند
  • این‌که آیا اجرای موردنظر با پایان مهلت، لغو، Compaction یا خطای ارائه‌دهنده مواجه شد
  • این‌که کدام مدل، pluginها، Skills و تنظیمات زمان اجرا فعال بودند
  • فرادادهٔ مصرف و حافظهٔ نهان پرامپت که ارائه‌دهنده بازگرداند

برای تهیهٔ یک گزارش جامع پشتیبانی Gateway، به‌جای آن با /diagnostics شروع کنید؛ این فرمان بستهٔ پالایش‌شدهٔ Gateway را جمع‌آوری می‌کند و برای نشست‌های محیط OpenAI Codex، می‌تواند پس از تأیید، بازخورد Codex را به OpenAI ارسال کند. هنگامی که به خط زمانی دقیق پرامپت، ابزار و رونوشت هر نشست نیاز دارید، از /export-trajectory استفاده کنید.

شروع سریع

در نشست فعال ارسال کنید (نام مستعار /trajectory):

text
/export-trajectory

OpenClaw بسته را در فضای کاری می‌نویسد:

text
.openclaw/trajectory-exports/openclaw-trajectory-<session>-<timestamp>/

برای جایگزین‌کردن آن، نام یک پوشهٔ خروجی نسبی را وارد کنید:

text
/export-trajectory bug-1234

نام درون .openclaw/trajectory-exports/ تفکیک می‌شود. مسیرهای مطلق و مسیرهای ~ رد می‌شوند.

بسته‌های مسیر حرکت می‌توانند شامل پرامپت‌ها، پیام‌های مدل، طرح‌واره‌های ابزار، نتایج ابزار، رویدادهای زمان اجرا و مسیرهای محلی باشند؛ بنابراین فرمان چت همیشه از تأیید exec عبور می‌کند. هنگامی که قصد ایجاد بسته را دارید، تنها یک‌بار خروجی‌گرفتن را تأیید کنید؛ از مجوز همگانی استفاده نکنید. در چت‌های گروهی، OpenClaw پرامپت تأیید و نتیجهٔ خروجی را به‌صورت خصوصی برای مالک می‌فرستد، نه این‌که جزئیات مسیر حرکت را دوباره در اتاق مشترک ارسال کند.

برای بررسی محلی یا جریان‌های کاری پشتیبانی، فرمان زیربنایی CLI را مستقیماً اجرا کنید:

bash
openclaw sessions export-trajectory --session-key "agent:main:telegram:direct:123" --workspace .

پرچم‌های دیگر: --output <path> (نام پوشه درون .openclaw/trajectory-exports--store <path> (جایگزینی مخزن نشست)، --agent <id> (شناسهٔ عامل برای تفکیک مخزن)، --json (خروجی ساخت‌یافته).

دسترسی

خروجی‌گرفتن از مسیر حرکت، فرمانی مختص مالک است. فرستنده باید بررسی‌های عادی مجوز فرمان و نیز بررسی مالک کانال را با موفقیت پشت سر بگذارد.

موارد ثبت‌شده

ضبط مسیر حرکت به‌طور پیش‌فرض برای اجراهای عامل OpenClaw فعال است.

رویدادهای زمان اجرا شامل موارد زیر هستند:

  • session.started
  • trace.metadata
  • context.compiled
  • prompt.submitted
  • model.fallback_step، شامل مدل مبدأ، مدل بعدی، دلیل/جزئیات شکست، موقعیت در زنجیره و این‌که آیا زنجیره پیش رفت، موفق شد یا به پایان رسید
  • model.completed
  • trace.artifacts
  • session.ended

رویدادهای رونوشت از شاخهٔ فعال نشست بازسازی می‌شوند: پیام‌های کاربر، پیام‌های دستیار، فراخوانی‌های ابزار، نتایج ابزار، Compactionها، تغییرات مدل، برچسب‌ها و ورودی‌های سفارشی نشست.

رویدادها به‌صورت JSON Lines با این نشانگر طرح‌واره نوشته می‌شوند:

json
{  "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 ممکن است همچنان از نسخه‌های قدیمی‌تر یا خروجی‌های صریح فایل قدیمی ظاهر شوند. نگه‌داری نشست این فایل‌ها را اهداف پاک‌سازی در نظر می‌گیرد؛ ضبط فعال، ردیف‌های پایگاه داده را می‌نویسد.

غیرفعال‌کردن ضبط

bash
export OPENCLAW_TRAJECTORY=0

این فرمان پیش از راه‌اندازی OpenClaw، ضبط مسیر حرکت زمان اجرا را غیرفعال می‌کند. /export-trajectory همچنان می‌تواند از شاخهٔ رونوشت خروجی بگیرد، اما ممکن است داده‌های مختص زمان اجرا، مانند زمینهٔ کامپایل‌شده، مصنوعات ارائه‌دهنده و فرادادهٔ پرامپت موجود نباشند.

تنظیم مهلت تخلیه

OpenClaw هنگام پاک‌سازی عامل، ردیف‌های مسیر حرکت زمان اجرا را تخلیه می‌کند. مهلت پیش‌فرض پاک‌سازی 10,000 ms است. در دیسک‌های کند یا مخزن‌های بزرگ، پیش از راه‌اندازی OpenClaw مقدار OPENCLAW_TRAJECTORY_FLUSH_TIMEOUT_MS را تنظیم کنید:

bash
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/ نگه دارید

اگر خروجی‌گرفتن با خطای اندازه شکست خورد، نشست یا فایل جانبی از محدودیت‌های ایمنی خروجی بالا فراتر رفته است. نشست جدیدی آغاز کنید یا از یک بازسازی کوچک‌تر خروجی بگیرید.

مرتبط

Was this useful?
On this page

On this page