디버깅

이 페이지에서는 스트리밍 출력의 디버깅 도우미 도구를 다룹니다. 특히 프로바이더가 추론을 일반 텍스트에 섞어 보내는 경우에 유용합니다.

런타임 디버그 오버라이드

채팅에서 /debug를 사용하여 런타임 전용 설정 오버라이드를 설정할 수 있습니다(메모리에만 저장, 디스크에는 기록되지 않음). /debug는 기본적으로 비활성화되어 있으며, commands.debug: true로 활성화합니다. openclaw.json을 편집하지 않고 특수한 설정을 토글해야 할 때 편리합니다.

예시:

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

/debug reset은 모든 오버라이드를 지우고 디스크의 설정으로 복원합니다.

게이트웨이 watch 모드

빠른 반복 개발을 위해 파일 감시기에서 게이트웨이를 실행하세요:

pnpm gateway:watch

이는 다음에 해당합니다:

node --watch-path src --watch-path tsconfig.json --watch-path package.json --watch-preserve-output scripts/run-node.mjs gateway --force

gateway:watch 뒤에 게이트웨이 CLI 플래그를 추가하면 재시작할 때마다 전달됩니다.

개발 프로필 + 개발 게이트웨이 (—dev)

dev 프로필을 사용하여 상태를 격리하고 안전한 일회용 디버깅 환경을 구성할 수 있습니다. --dev 플래그는 두 가지가 있습니다:

  • 글로벌 --dev (프로필): ~/.openclaw-dev 아래에 상태를 격리하고, 기본 게이트웨이 포트를 19001로 설정합니다(파생 포트도 함께 이동).
  • gateway --dev: 설정이나 워크스페이스가 없을 때 기본 설정을 자동 생성합니다(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 (브라우저/캔버스도 연동)
  2. 개발 부트스트랩 (gateway --dev)

    • 설정 파일이 없으면 최소 설정을 작성합니다 (gateway.mode=local, 루프백에 바인드).
    • agent.workspace를 개발 워크스페이스로 설정.
    • agent.skipBootstrap=true (BOOTSTRAP.md 건너뜀).
    • 워크스페이스 파일이 없으면 시드: AGENTS.md, SOUL.md, TOOLS.md, IDENTITY.md, USER.md, HEARTBEAT.md.
    • 기본 정체성: C3‑PO (프로토콜 드로이드).
    • 개발 모드에서 채널 프로바이더 건너뜀 (OPENCLAW_SKIP_CHANNELS=1).

리셋 흐름 (새로 시작):

pnpm gateway:dev:reset

참고: --dev글로벌 프로필 플래그이며, 일부 러너에서 제거될 수 있습니다. 명시적으로 지정해야 하는 경우 환경 변수 형식을 사용하세요:

OPENCLAW_PROFILE=dev openclaw gateway --dev --reset

--reset은 설정, 자격 증명, 세션 및 개발 워크스페이스를 지우고(rm이 아닌 trash 사용) 기본 개발 환경을 다시 만듭니다.

팁: 비개발 게이트웨이가 이미 실행 중이라면(launchd/systemd) 먼저 중지하세요:

openclaw gateway stop

원시 스트림 로깅 (OpenClaw)

OpenClaw은 필터링/포매팅 이전원시 어시스턴트 스트림을 기록할 수 있습니다. 추론이 일반 텍스트 델타로 도착하는지 별도의 thinking 블록으로 도착하는지 확인하는 가장 좋은 방법입니다.

CLI로 활성화:

pnpm gateway:watch --raw-stream

경로 오버라이드(선택):

pnpm gateway:watch --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 프로바이더를 사용하는 프로세스만 출력합니다.

보안 참고사항

  • 원시 스트림 로그에는 전체 프롬프트, 도구 출력, 사용자 데이터가 포함될 수 있습니다.
  • 로그는 로컬에 보관하고 디버깅 후 삭제하세요.
  • 로그를 공유할 경우, 먼저 시크릿과 개인정보를 제거하세요.