Отладка

Эта страница охватывает помощники отладки для потокового вывода, особенно когда провайдер смешивает рассуждения в обычный текст.

Переопределения отладки во время выполнения

Используйте /debug в чате для установки переопределений конфигурации только во время выполнения (память, не диск). /debug отключен по умолчанию; включите с помощью commands.debug: true. Это удобно, когда вам нужно переключать неясные настройки без редактирования openclaw.json.

Примеры:

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

/debug reset очищает все переопределения и возвращается к конфигурации на диске.

Режим наблюдения шлюза

Для быстрой итерации запустите шлюз под наблюдателем файлов:

pnpm gateway:watch --force

Это соответствует:

tsx watch src/entry.ts gateway --force

Добавьте любые флаги CLI шлюза после gateway:watch, и они будут переданы при каждом перезапуске.

Профиль dev + dev gateway (--dev)

Используйте профиль dev для изоляции состояния и создания безопасной одноразовой настройки для отладки. Есть два флага --dev:

  • Глобальный --dev (профиль): изолирует состояние в ~/.openclaw-dev и устанавливает порт шлюза по умолчанию на 19001 (производные порты смещаются вместе с ним).
  • gateway --dev: сообщает шлюзу автоматически создать конфигурацию по умолчанию + рабочее пространство, когда они отсутствуют (и пропустить BOOTSTRAP.md).

Рекомендуемый процесс (профиль dev + dev bootstrap):

pnpm gateway:dev
OPENCLAW_PROFILE=dev openclaw tui

Если у вас еще нет глобальной установки, запустите CLI через pnpm openclaw ....

Что это делает:

  1. Изоляция профиля (глобальный --dev)

    • OPENCLAW_PROFILE=dev
    • OPENCLAW_STATE_DIR=~/.openclaw-dev
    • OPENCLAW_CONFIG_PATH=~/.openclaw-dev/openclaw.json
    • OPENCLAW_GATEWAY_PORT=19001 (браузер/canvas смещаются соответственно)
  2. Dev bootstrap (gateway --dev)

    • Записывает минимальную конфигурацию, если отсутствует (gateway.mode=local, привязка loopback).
    • Устанавливает agent.workspace в dev рабочее пространство.
    • Устанавливает agent.skipBootstrap=true (без BOOTSTRAP.md).
    • Заполняет файлы рабочего пространства, если отсутствуют: AGENTS.md, SOUL.md, TOOLS.md, IDENTITY.md, USER.md, HEARTBEAT.md.
    • Идентичность по умолчанию: C3‑PO (протокольный дроид).
    • Пропускает провайдеров каналов в режиме dev (OPENCLAW_SKIP_CHANNELS=1).

Процесс сброса (свежий старт):

pnpm gateway:dev:reset

Примечание: --dev — это глобальный флаг профиля и поглощается некоторыми раннерами. Если вам нужно прописать его, используйте форму env переменной:

OPENCLAW_PROFILE=dev openclaw gateway --dev --reset

--reset удаляет конфигурацию, учетные данные, сессии и dev рабочее пространство (используя trash, а не rm), затем воссоздает настройку dev по умолчанию.

Совет: если уже запущен не-dev шлюз (launchd/systemd), сначала остановите его:

openclaw gateway stop

Логирование сырого потока (OpenClaw)

OpenClaw может логировать сырой поток ассистента перед любой фильтрацией/форматированием. Это лучший способ увидеть, приходят ли рассуждения как обычные текстовые дельты (или как отдельные блоки мышления).

Включите его через CLI:

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

Опциональное переопределение пути:

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

Эквивалентные env переменные:

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

Примечание: это выдается только процессами, использующими провайдер openai-completions pi-mono.

Примечания по безопасности

  • Логи сырого потока могут включать полные промпты, вывод инструментов и пользовательские данные.
  • Храните логи локально и удаляйте их после отладки.
  • Если вы делитесь логами, сначала очистите секреты и PII.