---
read_when:
    - تصحيح سبب إجابة الوكيل أو فشله أو استدعائه للأدوات بطريقة معينة
    - تصدير حزمة دعم لجلسة OpenClaw
    - التحقيق في سياق prompt، أو استدعاءات الأدوات، أو أخطاء بيئة التشغيل، أو بيانات الاستخدام الوصفية
    - تعطيل التقاط Trajectory أو تغيير موقعه
summary: تصدير حِزم مسار execution منقحة لأغراض تصحيح جلسة وكيل OpenClaw
title: حِزم Trajectory
x-i18n:
    generated_at: "2026-04-23T07:34:29Z"
    model: gpt-5.4
    provider: openai
    source_hash: 18f18c9b0a57fcc85624ae8592778447f61ffbd2aa455f8f92893955af744b23
    source_path: tools/trajectory.md
    workflow: 15
---

# حِزم Trajectory

يُعد التقاط Trajectory مسجل الطيران الخاص بـ OpenClaw لكل جلسة. فهو يسجل
خطًا زمنيًا مهيكلًا لكل تشغيل وكيل، ثم يقوم الأمر `/export-trajectory` بحزم
الجلسة الحالية في حزمة دعم منقحة.

استخدمه عندما تحتاج إلى الإجابة عن أسئلة مثل:

- ما هو prompt وsystem prompt والأدوات التي أُرسلت إلى النموذج؟
- ما هي رسائل transcript واستدعاءات الأدوات التي أدت إلى هذه الإجابة؟
- هل انتهت المهلة أو أُجهض التشغيل أو حدث له Compaction أو واجه خطأ من الموفّر؟
- ما هو النموذج وPlugins وSkills وإعدادات بيئة التشغيل التي كانت مفعلة؟
- ما هي بيانات الاستخدام وprompt-cache الوصفية التي أعادها الموفّر؟

## البدء السريع

أرسل هذا في الجلسة النشطة:

```text
/export-trajectory
```

الاسم المستعار:

```text
/trajectory
```

يكتب OpenClaw الحزمة داخل مساحة العمل:

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

يمكنك اختيار اسم دليل إخراج نسبي:

```text
/export-trajectory bug-1234
```

يتم resolve للمسار المخصص داخل `.openclaw/trajectory-exports/`. وتُرفض
المسارات المطلقة ومسارات `~`.

## الوصول

يُعد تصدير Trajectory أمرًا خاصًا بالمالك. يجب أن يجتاز المرسل فحوصات تفويض
الأوامر العادية وفحوصات المالك الخاصة بالقناة.

## ما الذي يتم تسجيله

يكون التقاط Trajectory مفعّلًا افتراضيًا لتشغيلات وكلاء OpenClaw.

تشمل أحداث بيئة التشغيل ما يلي:

- `session.started`
- `trace.metadata`
- `context.compiled`
- `prompt.submitted`
- `model.completed`
- `trace.artifacts`
- `session.ended`

كما تتم إعادة بناء أحداث transcript من فرع الجلسة النشط:

- رسائل المستخدم
- رسائل المساعد
- استدعاءات الأدوات
- نتائج الأدوات
- عمليات Compaction
- تغييرات النماذج
- التسميات وإدخالات الجلسة المخصصة

تُكتب الأحداث بصيغة JSON Lines مع علامة المخطط هذه:

```json
{
  "traceSchema": "openclaw-trajectory",
  "schemaVersion": 1
}
```

## ملفات الحزمة

قد تحتوي الحزمة المصدّرة على ما يلي:

| الملف | المحتويات |
| --------------------- | ---------------------------------------------------------------------------------------------- |
| `manifest.json` | مخطط الحزمة، وملفات المصدر، وعدد الأحداث، وقائمة الملفات المُولَّدة |
| `events.jsonl` | الخط الزمني المرتب لأحداث بيئة التشغيل وtranscript |
| `session-branch.json` | فرع transcript النشط المنقح ورأس الجلسة |
| `metadata.json` | إصدار OpenClaw، ونظام التشغيل/بيئة التشغيل، والنموذج، ولقطة التكوين، وPlugins، وSkills، وبيانات prompt الوصفية |
| `artifacts.json` | الحالة النهائية، والأخطاء، والاستخدام، وprompt cache، وعدد عمليات Compaction، ونص المساعد، وبيانات الأدوات الوصفية |
| `prompts.json` | prompts المرسلة وتفاصيل مختارة لبناء prompt |
| `system-prompt.txt` | أحدث system prompt مُجمّع، عند التقاطه |
| `tools.json` | تعريفات الأدوات المرسلة إلى النموذج، عند التقاطها |

يسرد `manifest.json` الملفات الموجودة في تلك الحزمة. وتُحذف بعض الملفات
عندما لا تكون الجلسة قد التقطت بيانات بيئة التشغيل المقابلة.

## موقع الالتقاط

افتراضيًا، تُكتب أحداث Trajectory الخاصة ببيئة التشغيل بجانب ملف الجلسة:

```text
<session>.trajectory.jsonl
```

كما يكتب OpenClaw أيضًا ملف مؤشر على أساس أفضل جهد بجانب الجلسة:

```text
<session>.trajectory-path.json
```

اضبط `OPENCLAW_TRAJECTORY_DIR` لتخزين الملفات الجانبية الخاصة بـ Trajectory وقت التشغيل في
دليل مخصص:

```bash
export OPENCLAW_TRAJECTORY_DIR=/var/lib/openclaw/trajectories
```

عند ضبط هذا المتغير، يكتب OpenClaw ملف JSONL واحدًا لكل معرّف جلسة في ذلك
الدليل.

## تعطيل الالتقاط

اضبط `OPENCLAW_TRAJECTORY=0` قبل بدء OpenClaw:

```bash
export OPENCLAW_TRAJECTORY=0
```

يعطّل هذا التقاط Trajectory وقت التشغيل. ولا يزال بإمكان `/export-trajectory` تصدير
فرع transcript، لكن الملفات الخاصة بوقت التشغيل فقط مثل السياق المُجمّع،
وعناصر الموفّر، وبيانات prompt الوصفية قد تكون مفقودة.

## الخصوصية والحدود

صُممت حِزم Trajectory لأغراض الدعم والتصحيح، لا للنشر العام.
يقوم OpenClaw بتنقيح القيم الحساسة قبل كتابة ملفات التصدير:

- بيانات الاعتماد والحقول ذات الحمولات المعروفة الشبيهة بالأسرار
- بيانات الصور
- مسارات الحالة المحلية
- مسارات مساحة العمل، ويستبدلها بـ `$WORKSPACE_DIR`
- مسارات الدليل الرئيسي، عند اكتشافها

كما يقيّد المصدّر حجم الإدخال:

- ملفات sidecar وقت التشغيل: ‏50 MiB
- ملفات الجلسة: ‏50 MiB
- أحداث وقت التشغيل: ‏200,000
- إجمالي الأحداث المصدّرة: ‏250,000
- يتم اقتطاع أسطر أحداث وقت التشغيل الفردية فوق 256 KiB

راجع الحِزم قبل مشاركتها خارج فريقك. فالتنقيح قائم على أفضل جهد
ولا يمكنه معرفة كل سر خاص بكل تطبيق.

## استكشاف الأخطاء وإصلاحها

إذا لم يحتوي التصدير على أي أحداث وقت تشغيل:

- تأكد من أن OpenClaw قد بدأ من دون `OPENCLAW_TRAJECTORY=0`
- تحقق مما إذا كان `OPENCLAW_TRAJECTORY_DIR` يشير إلى دليل قابل للكتابة
- شغّل رسالة أخرى في الجلسة، ثم صدّر مرة أخرى
- افحص `manifest.json` لمعرفة `runtimeEventCount`

إذا رفض الأمر مسار الإخراج:

- استخدم اسمًا نسبيًا مثل `bug-1234`
- لا تمرر `/tmp/...` أو `~/...`
- أبقِ التصدير داخل `.openclaw/trajectory-exports/`

إذا فشل التصدير بسبب خطأ حجم، فهذا يعني أن الجلسة أو sidecar تجاوزا
حدود الأمان الخاصة بالتصدير. ابدأ جلسة جديدة أو صدّر repro أصغر.
