Trajectory 번들
Trajectory 캡처는 OpenClaw의 세션별 flight recorder입니다. 각 agent 실행에 대해 구조화된 타임라인을 기록한 뒤,/export-trajectory가 현재 세션을
redact된 지원 번들로 패키징합니다.
다음과 같은 질문에 답해야 할 때 사용하세요:
- 어떤 프롬프트, 시스템 프롬프트, 도구가 모델에 전송되었는가?
- 어떤 transcript 메시지와 도구 호출이 이 응답으로 이어졌는가?
- 실행이 타임아웃, 중단, Compaction, provider 오류를 겪었는가?
- 어떤 모델, plugin, Skills, 런타임 설정이 활성화되어 있었는가?
- provider가 어떤 usage 및 prompt-cache 메타데이터를 반환했는가?
빠른 시작
활성 세션에서 다음을 보내세요:.openclaw/trajectory-exports/ 내부에서 확인됩니다. 절대
경로와 ~ 경로는 거부됩니다.
접근
Trajectory export는 owner 명령입니다. 발신자는 일반 명령 권한 검사와 채널 owner 검사를 통과해야 합니다.기록되는 내용
Trajectory 캡처는 OpenClaw agent 실행에서 기본적으로 활성화되어 있습니다. 런타임 이벤트에는 다음이 포함됩니다:session.startedtrace.metadatacontext.compiledprompt.submittedmodel.completedtrace.artifactssession.ended
- 사용자 메시지
- assistant 메시지
- 도구 호출
- 도구 결과
- Compaction
- 모델 변경
- 라벨 및 사용자 정의 세션 항목
번들 파일
내보낸 번들에는 다음이 포함될 수 있습니다:| 파일 | 내용 |
|---|---|
manifest.json | 번들 스키마, 소스 파일, 이벤트 수, 생성된 파일 목록 |
events.jsonl | 순서가 있는 런타임 및 transcript 타임라인 |
session-branch.json | redact된 활성 transcript 브랜치 및 세션 헤더 |
metadata.json | OpenClaw 버전, OS/런타임, 모델, config 스냅샷, plugin, Skills, 프롬프트 메타데이터 |
artifacts.json | 최종 상태, 오류, usage, prompt cache, Compaction 수, assistant 텍스트, 도구 메타데이터 |
prompts.json | 제출된 프롬프트 및 선택된 프롬프트 빌드 세부 사항 |
system-prompt.txt | 캡처된 경우 최신 컴파일된 시스템 프롬프트 |
tools.json | 캡처된 경우 모델에 전송된 도구 정의 |
manifest.json은 해당 번들에 포함된 파일을 나열합니다. 세션이
해당 런타임 데이터를 캡처하지 않았다면 일부 파일은 생략됩니다.
캡처 위치
기본적으로 런타임 trajectory 이벤트는 세션 파일 옆에 기록됩니다:OPENCLAW_TRAJECTORY_DIR을 설정하세요:
캡처 비활성화
OpenClaw를 시작하기 전에OPENCLAW_TRAJECTORY=0을 설정하세요:
/export-trajectory는 여전히
transcript 브랜치를 export할 수 있지만, 컴파일된 context,
provider 아티팩트, 프롬프트 메타데이터 같은 런타임 전용 파일은 누락될 수 있습니다.
개인정보 보호 및 제한
Trajectory 번들은 공개 게시가 아니라 지원 및 디버깅을 위해 설계되었습니다. OpenClaw는 export 파일을 기록하기 전에 민감한 값을 redact합니다:- credentials 및 알려진 secret 유사 payload 필드
- 이미지 데이터
- 로컬 state 경로
$WORKSPACE_DIR로 치환된 workspace 경로- 감지된 경우 홈 디렉터리 경로
- 런타임 sidecar 파일: 50 MiB
- 세션 파일: 50 MiB
- 런타임 이벤트: 200,000
- 총 export 이벤트: 250,000
- 개별 런타임 이벤트 줄은 256 KiB를 초과하면 잘립니다
문제 해결
export에 런타임 이벤트가 없다면:- OpenClaw가
OPENCLAW_TRAJECTORY=0없이 시작되었는지 확인하세요 OPENCLAW_TRAJECTORY_DIR이 쓰기 가능한 디렉터리를 가리키는지 확인하세요- 해당 세션에서 메시지를 하나 더 실행한 다음 다시 export하세요
manifest.json에서runtimeEventCount를 확인하세요
bug-1234같은 상대 이름을 사용하세요/tmp/...또는~/...를 전달하지 마세요- export를
.openclaw/trajectory-exports/내부에 유지하세요