Tools
ชุดรวมวิถีการดำเนินงาน
การบันทึกเส้นทางการทำงานเป็นเครื่องบันทึกการทำงานรายเซสชันของ OpenClaw โดยจะบันทึก
ไทม์ไลน์แบบมีโครงสร้างสำหรับการทำงานของเอเจนต์แต่ละครั้ง จากนั้น /export-trajectory จะจัดแพ็กเกจ
เซสชันปัจจุบันเป็นชุดข้อมูลสนับสนุนที่ปกปิดข้อมูลละเอียดอ่อน ซึ่งครอบคลุม:
- พรอมต์ พรอมต์ระบบ และเครื่องมือที่ส่งไปยังโมเดล
- ข้อความทรานสคริปต์และการเรียกใช้เครื่องมือใดที่นำไปสู่คำตอบ
- การทำงานหมดเวลา ถูกยกเลิก ถูกย่อข้อมูล หรือพบข้อผิดพลาดจากผู้ให้บริการหรือไม่
- โมเดล plugins, 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
เหตุการณ์ทรานสคริปต์จะถูกสร้างขึ้นใหม่จากสาขาเซสชันที่ใช้งานอยู่ ได้แก่ ข้อความจากผู้ใช้ ข้อความจากผู้ช่วย การเรียกใช้เครื่องมือ ผลลัพธ์จากเครื่องมือ การย่อข้อมูล การเปลี่ยน โมเดล ป้ายกำกับ และรายการเซสชันแบบกำหนดเอง
เหตุการณ์จะถูกเขียนเป็น JSON Lines พร้อมเครื่องหมายสคีมาต่อไปนี้:
{ "traceSchema": "openclaw-trajectory", "schemaVersion": 1}ไฟล์ในชุดข้อมูล
| ไฟล์ | เนื้อหา |
|---|---|
manifest.json |
สคีมาชุดข้อมูล ไฟล์ต้นทาง จำนวนเหตุการณ์ และรายการไฟล์ที่สร้างขึ้น |
events.jsonl |
ไทม์ไลน์รันไทม์และทรานสคริปต์ตามลำดับ |
session-branch.json |
สาขาทรานสคริปต์ที่ใช้งานอยู่และส่วนหัวเซสชันซึ่งปกปิดข้อมูลละเอียดอ่อนแล้ว |
metadata.json |
เวอร์ชัน OpenClaw, ระบบปฏิบัติการ/รันไทม์, โมเดล, สแนปช็อตการกำหนดค่า, plugins, 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_TRAJECTORY_FLUSH_TIMEOUT_MS ก่อนเริ่ม OpenClaw:
export OPENCLAW_TRAJECTORY_FLUSH_TIMEOUT_MS=30000ค่านี้ควบคุมว่า OpenClaw จะบันทึกเวลาหมดเวลาของ openclaw-trajectory-flush และ
ดำเนินการต่อเมื่อใด โดยไม่เปลี่ยนขีดจำกัดขนาดเส้นทางการทำงาน หากต้องการปรับขั้นตอน
การล้างข้อมูลเอเจนต์ทั้งหมดที่ไม่ได้ระบุเวลาหมดเวลาอย่างชัดเจน ให้ตั้งค่า
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/
หากการส่งออกล้มเหลวโดยมีข้อผิดพลาดเกี่ยวกับขนาด แสดงว่าเซสชันหรือไฟล์ประกอบมีขนาดเกิน ขีดจำกัดความปลอดภัยในการส่งออกข้างต้น ให้เริ่มเซสชันใหม่หรือส่งออก ขั้นตอนจำลองปัญหาที่มีขนาดเล็กลง