Окружение и отладка

Отладка

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

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

Используйте /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

Это соответствует команде:

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

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

Профиль разработки + шлюз разработки (—dev)

Используйте профиль разработки, чтобы изолировать состояние и развернуть безопасную, одноразовую среду для отладки. Существует два флага --dev:

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

Рекомендуемый порядок (профиль разработки + автоматическая настройка для разработки):

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. Автонастройка для разработки (gateway --dev)
    • Записывает минимальную конфигурацию, если она отсутствует (gateway.mode=local, привязка к loopback).
    • Устанавливает 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 удаляет конфигурацию, учётные данные, сессии и рабочее пространство разработки (используя trash, а не rm), а затем воссоздаёт настройки разработки по умолчанию. Совет: если не-dev шлюз уже запущен (через launchd/systemd), сначала остановите его:

openclaw gateway stop

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

OpenClaw может логировать сырой поток ассистента до любой фильтрации/форматирования. Это лучший способ увидеть, поступают ли рассуждения как обычные текстовые дельты (или как отдельные блоки мышления). Включите это через 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

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

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

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

Переменные окруженияТестирование