디버깅
이 페이지에서는 스트리밍 출력 디버깅을 돕는 기능을 설명합니다. 특히 모델 제공업체가 추론 내용을 일반 텍스트에 섞어 보낼 때 유용합니다.런타임 디버그 오버라이드
채팅에서/debug를 사용하면 디스크가 아니라 메모리에만 적용되는 런타임 전용 config 오버라이드를 설정할 수 있습니다.
/debug는 기본적으로 비활성화되어 있으며 commands.debug: true로 켜야 합니다.
openclaw.json을 직접 수정하지 않고 드문 설정을 잠시 바꿔야 할 때 유용합니다.
예시:
/debug reset은 모든 오버라이드를 지우고 디스크에 저장된 config 상태로 되돌립니다.
Gateway watch 모드
빠르게 반복 작업하려면 파일 watcher로 gateway를 실행하세요.gateway:watch 뒤에 gateway CLI 플래그를 추가하면 재시작할 때마다 그대로 전달됩니다.
Dev profile + dev gateway (--dev)
dev profile을 사용하면 상태를 분리하고, 디버깅용으로 안전하게 버릴 수 있는 구성을 빠르게 띄울 수 있습니다. --dev 플래그는 두 가지가 있습니다.
- 전역
--dev(profile): 상태를~/.openclaw-dev아래로 분리하고 gateway 포트를 기본값19001로 설정합니다. 파생 포트도 함께 이동합니다. gateway --dev: config와 workspace가 없으면 Gateway가 기본 구성을 자동 생성하고BOOTSTRAP.md는 건너뜁니다.
pnpm openclaw ... 형태로 CLI를 실행하면 됩니다.
이 구성에서 수행되는 작업:
-
Profile 격리 (전역
--dev)OPENCLAW_PROFILE=devOPENCLAW_STATE_DIR=~/.openclaw-devOPENCLAW_CONFIG_PATH=~/.openclaw-dev/openclaw.jsonOPENCLAW_GATEWAY_PORT=19001(browser/canvas 포트도 함께 이동)
-
Dev bootstrap (
gateway --dev)- config가 없으면 최소 config를 씁니다. (
gateway.mode=local, bind는 loopback) agent.workspace를 dev workspace로 설정합니다.agent.skipBootstrap=true를 설정합니다. (BOOTSTRAP.md없음)- workspace 파일이 없으면 다음 파일을 생성합니다.
AGENTS.md,SOUL.md,TOOLS.md,IDENTITY.md,USER.md,HEARTBEAT.md - 기본 identity는 C3‑PO (protocol droid)입니다.
- dev 모드에서는 채널 provider를 건너뜁니다. (
OPENCLAW_SKIP_CHANNELS=1)
- config가 없으면 최소 config를 씁니다. (
--dev는 전역 profile 플래그이므로 일부 runner가 먼저 소비할 수 있습니다.
직접 명시해야 한다면 환경 변수 형태를 사용하세요.
--reset은 config, credentials, sessions, dev workspace를 모두 지운 뒤(rm이 아니라 trash 사용), 기본 dev 구성을 다시 만듭니다.
팁: dev가 아닌 gateway가 이미 실행 중이라면 먼저 중지하세요. 예: launchd 또는 systemd
Raw 스트림 로깅(OpenClaw)
OpenClaw는 필터링이나 포맷팅 전에 raw assistant stream을 기록할 수 있습니다. reasoning이 일반 텍스트 delta로 들어오는지, 아니면 별도의 thinking block으로 들어오는지 확인하는 가장 좋은 방법입니다. CLI로 활성화:~/.openclaw/logs/raw-stream.jsonl
Raw chunk 로깅(pi-mono)
block으로 파싱되기 전에 raw OpenAI-compat chunks를 캡처하려면 pi-mono에서 별도 로거를 제공합니다.~/.pi-mono/logs/raw-openai-completions.jsonl
참고: 이 로그는 pi-mono의 openai-completions provider를 사용하는 프로세스에서만 기록됩니다.
안전 주의사항
- raw 스트림 로그에는 전체 프롬프트, 도구 출력, 사용자 데이터가 포함될 수 있습니다.
- 로그는 로컬에만 보관하고 디버깅이 끝나면 삭제하세요.
- 로그를 공유해야 한다면 먼저 비밀값과 PII를 제거하세요.