Debugging

이 페이지는 특히 Provider가 Reasoning을 일반 텍스트와 혼합할 때 스트리밍 출력을 위한 디버깅 도우미를 다룹니다.

런타임 디버그 재정의

채팅에서 /debug를 사용하여 런타임 전용 설정 재정의(메모리, 디스크 아님)를 설정합니다. /debug는 기본적으로 비활성화되어 있습니다. commands.debug: true로 활성화하세요. 이는 openclaw.json을 편집하지 않고 모호한 설정을 전환해야 할 때 유용합니다.

예시:

/debug show
/debug set messages.responsePrefix="[openclaw]"
/debug unset messages.responsePrefix
/debug reset

/debug reset은 모든 재정의를 지우고 디스크 설정으로 돌아갑니다.

Gateway Watch 모드

빠른 반복을 위해 파일 Watcher에서 Gateway를 실행합니다:

pnpm gateway:watch --force

이는 다음과 매핑됩니다:

tsx watch src/entry.ts gateway --force

gateway:watch 뒤에 Gateway CLI 플래그를 추가하면 각 재시작 시 전달됩니다.

Dev 프로필 + Dev Gateway (--dev)

Dev 프로필을 사용하여 상태를 격리하고 디버깅을 위한 안전하고 일회용 설정을 시작합니다. 두 개의 --dev 플래그가 있습니다:

  • 전역 --dev (프로필): ~/.openclaw-dev 하위의 상태를 격리하고 Gateway 포트를 기본적으로 19001로 설정합니다 (파생 포트도 함께 이동).
  • gateway --dev: Gateway에게 누락된 경우 기본 설정 + Workspace를 자동으로 생성하도록 지시합니다 (그리고 BOOTSTRAP.md를 건너뜁니다).

권장 흐름 (dev 프로필 + dev 부트스트랩):

pnpm gateway:dev
OPENCLAW_PROFILE=dev openclaw tui

아직 전역 설치가 없는 경우 pnpm openclaw ...를 통해 CLI를 실행합니다.

이것이 하는 일:

  1. 프로필 격리 (전역 --dev)

    • OPENCLAW_PROFILE=dev
    • OPENCLAW_STATE_DIR=~/.openclaw-dev
    • OPENCLAW_CONFIG_PATH=~/.openclaw-dev/openclaw.json
    • OPENCLAW_GATEWAY_PORT=19001 (Browser/Canvas가 그에 따라 이동)
  2. Dev 부트스트랩 (gateway --dev)

    • 누락된 경우 최소 설정을 작성합니다 (gateway.mode=local, 루프백 바인딩).
    • agent.workspace를 Dev Workspace로 설정합니다.
    • agent.skipBootstrap=true를 설정합니다 (BOOTSTRAP.md 없음).
    • 누락된 경우 Workspace 파일을 시드합니다: AGENTS.md, SOUL.md, TOOLS.md, IDENTITY.md, USER.md, HEARTBEAT.md.
    • 기본 아이덴티티: C3‑PO (Protocol Droid).
    • Dev 모드에서 Channel Provider를 건너뜁니다 (OPENCLAW_SKIP_CHANNELS=1).

리셋 흐름 (새로 시작):

pnpm gateway:dev:reset

참고: --dev전역 프로필 플래그이며 일부 러너에 의해 소비됩니다. 명시적으로 표시해야 하는 경우 환경 변수 형식을 사용하세요:

OPENCLAW_PROFILE=dev openclaw gateway --dev --reset

--reset은 설정, 자격 증명, Session 및 Dev Workspace를 지웁니다 (rm이 아닌 trash 사용), 그런 다음 기본 Dev 설정을 다시 생성합니다.

팁: 비 Dev Gateway가 이미 실행 중인 경우 (launchd/systemd), 먼저 중지하세요:

openclaw gateway stop

원시 스트림 로깅 (OpenClaw)

OpenClaw는 필터링/형식화 전에 원시 Assistant 스트림을 로그할 수 있습니다. 이는 Reasoning이 일반 텍스트 델타로 도착하는지(또는 별도의 Thinking 블록으로 도착하는지) 확인하는 가장 좋은 방법입니다.

CLI를 통해 활성화합니다:

pnpm gateway:watch --force --raw-stream

선택적 경로 재정의:

pnpm gateway:watch --force --raw-stream --raw-stream-path ~/.openclaw/logs/raw-stream.jsonl

동등한 환경 변수:

OPENCLAW_RAW_STREAM=1
OPENCLAW_RAW_STREAM_PATH=~/.openclaw/logs/raw-stream.jsonl

기본 파일:

~/.openclaw/logs/raw-stream.jsonl

원시 청크 로깅 (pi-mono)

블록으로 파싱되기 전에 원시 OpenAI 호환 청크를 캡처하려면 pi-mono가 별도의 로거를 노출합니다:

PI_RAW_STREAM=1

선택적 경로:

PI_RAW_STREAM_PATH=~/.pi-mono/logs/raw-openai-completions.jsonl

기본 파일:

~/.pi-mono/logs/raw-openai-completions.jsonl

참고: 이는 pi-mono의 openai-completions Provider를 사용하는 프로세스에서만 생성됩니다.

안전 참고사항

  • 원시 스트림 로그에는 전체 Prompt, Tool 출력 및 사용자 데이터가 포함될 수 있습니다.
  • 로그를 로컬에 보관하고 디버깅 후 삭제하세요.
  • 로그를 공유하는 경우 먼저 비밀과 PII를 스크럽하세요.