Перейти к основному содержанию

Отладка

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

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

Используйте /debug в чате, чтобы задать переопределения конфига только на время выполнения (в памяти, не на диске). /debug по умолчанию отключён; включите его с помощью commands.debug: true. Это удобно, когда нужно переключать редкие настройки без редактирования openclaw.json. Примеры:
/debug show
/debug set messages.responsePrefix="[openclaw]"
/debug unset messages.responsePrefix
/debug reset
/debug reset очищает все переопределения и возвращает конфигурацию на диске.

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

Для быстрой итерации запускайте Gateway (шлюз) под файловым наблюдателем:
pnpm gateway:watch --force
Это сопоставляется так:
tsx watch src/entry.ts gateway --force
Добавьте любые флаги CLI Gateway (шлюза) после gateway:watch, и они будут передаваться при каждом перезапуске.

Профиль dev + dev Gateway (—dev)

Используйте профиль dev, чтобы изолировать состояние и развернуть безопасную, одноразовую среду для отладки. Существуют два флага --dev:
  • Глобальный --dev (профиль): изолирует состояние под ~/.openclaw-dev и по умолчанию устанавливает порт Gateway (шлюза) в 19001 (производные порты сдвигаются вместе с ним).
  • gateway --dev: сообщает Gateway (шлюзу) автоматически создать конфиг по умолчанию + рабочее пространство, если они отсутствуют (и пропустить 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 (браузер/канвас сдвигаются соответствующим образом)
  2. Инициализация для разработки (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глобальный флаг профиля и некоторыми раннерами он «съедается». Если нужно указать его явно, используйте форму через переменную окружения:
OPENCLAW_PROFILE=dev openclaw gateway --dev --reset
--reset очищает конфиг, учётные данные, сеансы и рабочее пространство dev (используя trash, а не rm), затем пересоздаёт стандартную dev‑настройку. Совет: если уже запущен не‑dev Gateway (шлюз) (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
Эквивалентные символы:
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).