Перевизначення конфігурації під час виконання
/debug задає перевизначення конфігурації лише на час виконання (у пам’яті, а не на диску). Типово вимкнено; увімкніть за допомогою commands.debug: true.
/debug reset очищає всі перевизначення та повертає конфігурацію з диска.
Виведення трасування сеансу
/trace показує рядки трасування та налагодження, якими керує Plugin, для одного сеансу без увімкнення повного докладного режиму. Використовуйте його для діагностики Plugin, наприклад налагоджувальних зведень Active Memory; для звичайного виведення стану й інструментів використовуйте /verbose.
Трасування життєвого циклу Plugin
УстановітьOPENCLAW_PLUGIN_LIFECYCLE_TRACE=1, щоб отримати поетапний розбір роботи з метаданими Plugin, виявленням, реєстром, дзеркалом середовища виконання, зміною конфігурації та оновленням. Виведення записується до stderr, тому результат команд у форматі JSON залишається придатним для синтаксичного аналізу.
node dist/entry.js ... після pnpm build; pnpm openclaw ... також ураховує накладні витрати засобу запуску вихідного коду.
Профілювання запуску CLI та команд
Додані до репозиторію тести продуктивності запуску:OPENCLAW_RUN_NODE_CPU_PROF_DIR:
.cpuprofile для команди. Скористайтеся цим, перш ніж додавати тимчасове інструментування до коду команди.
Для зависань під час запуску, що схожі на синхронну роботу файлової системи або завантажувача модулів, додайте прапорець трасування синхронного введення-виведення Node через засіб запуску вихідного коду:
pnpm gateway:watch типово залишає цей прапорець вимкненим для дочірнього процесу Gateway під спостереженням; установіть OPENCLAW_TRACE_SYNC_IO=1, якщо також потрібно отримувати виведення трасування синхронного введення-виведення в режимі спостереження.
Режим спостереження Gateway
openclaw-gateway-watch-<profile> (наприклад, openclaw-gateway-watch-main), додаючи суфікс порту на кшталт openclaw-gateway-watch-dev-19001 лише тоді, коли OPENCLAW_GATEWAY_PORT відрізняється від типового порту 18789. В інтерактивних терміналах підключення відбувається автоматично; неінтерактивні оболонки, CI та виклики виконання агентом залишаються від’єднаними й натомість виводять інструкції з підключення:
--force засобу спостереження звільняє поточний порт прослуховування, але не вимикає службу під наглядом. Інакше служба launchd, systemd або Scheduled Task може перезапуститися й замінити Gateway під спостереженням.
Режим переднього плану без tmux:
--benchmark перед викликом Gateway і записує один файл V8 .cpuprofile для кожного завершення дочірнього процесу Gateway у .artifacts/gateway-watch-profiles/. Зупиніть або перезапустіть Gateway під спостереженням, щоб записати поточний профіль, а потім відкрийте його за допомогою Chrome DevTools або Speedscope:
--benchmark-dir <path>: записувати профілі в інше місце.--benchmark-no-force: пропустити типове очищення порту за допомогою--forceі негайно завершити роботу з помилкою, якщо порт Gateway уже використовується.
OPENCLAW_TRACE_SYNC_IO=1 разом із --benchmark, щоб отримати і профілі ЦП, і трасування стека синхронного введення-виведення; у режимі тестування продуктивності ці блоки трасування записуються до gateway-watch-output.log у каталозі тестування продуктивності (і відфільтровуються з панелі термінала), тоді як звичайні журнали Gateway залишаються видимими.
Обгортка tmux передає до панелі поширені несекретні селектори середовища виконання, зокрема OPENCLAW_PROFILE, OPENCLAW_CONFIG_PATH, OPENCLAW_STATE_DIR, OPENCLAW_GATEWAY_PORT і OPENCLAW_SKIP_CHANNELS. Зберігайте облікові дані постачальника у звичайному профілі або конфігурації чи використовуйте необроблений режим переднього плану для одноразових короткочасних секретів.
Якщо Gateway під спостереженням завершує роботу під час запуску, засіб спостереження один раз запускає openclaw doctor --fix --non-interactive і перезапускає дочірній процес Gateway. Установіть OPENCLAW_GATEWAY_WATCH_AUTO_DOCTOR=0, щоб побачити початкову помилку запуску без призначеного лише для розробки етапу виправлення.
Керована панель tmux типово використовує кольорові журнали Gateway; установіть FORCE_COLOR=0 під час запуску pnpm gateway:watch, щоб вимкнути виведення ANSI.
Засіб спостереження перезапускається в разі змін у файлах, що впливають на збирання, у src/, файлах вихідного коду розширень, метаданих розширень package.json і openclaw.plugin.json, а також у tsconfig.json, package.json і tsdown.config.ts. Зміни метаданих розширень перезапускають Gateway без примусового повторного збирання; зміни вихідного коду та конфігурації, як і раніше, спочатку повторно збирають dist.
Додавайте прапорці CLI Gateway після gateway:watch, і вони передаватимуться під час кожного перезапуску. Повторний запуск тієї самої команди спостереження заново створює іменовану панель tmux; необроблений засіб спостереження підтримує блокування єдиного спостерігача, тому дублікати батьківських процесів спостереження замінюються, а не накопичуються.
Профіль розробки й Gateway розробки (—dev)
Два окремі прапорці--dev:
- Глобальний
--dev(профіль): ізолює стан у~/.openclaw-devі типово встановлює порт Gateway на19001(похідні порти зміщуються разом із ним). gateway --dev: наказує Gateway автоматично створити типову конфігурацію та робочий простір, якщо їх немає (і пропустити початкове налаштування).
pnpm openclaw ....
Що відбувається:
-
Ізоляція профілю (глобальний
--dev)OPENCLAW_PROFILE=devOPENCLAW_STATE_DIR=~/.openclaw-devOPENCLAW_CONFIG_PATH=~/.openclaw-dev/openclaw.jsonOPENCLAW_GATEWAY_PORT=19001(порти браузера та полотна зміщуються відповідно)
-
Початкове налаштування розробки (
gateway --dev)- Записує мінімальну конфігурацію, якщо її немає (
gateway.mode=local, прив’язка до local loopback). - Установлює
agents.defaults.workspaceна робочий простір розробки, аagents.defaults.skipBootstrap=true. - Створює початкові файли робочого простору, якщо їх немає:
AGENTS.md,SOUL.md,TOOLS.md,IDENTITY.md,USER.md. - Типова ідентичність: C3-PO (протокольний дроїд).
pnpm gateway:devтакож установлюєOPENCLAW_SKIP_CHANNELS=1, щоб пропустити постачальників каналів.
- Записує мінімальну конфігурацію, якщо її немає (
--dev — це глобальний прапорець профілю, який деякі засоби запуску перехоплюють. Якщо потрібно вказати його явно, використовуйте змінну середовища:--reset стирає конфігурацію, облікові дані, сеанси та робочий простір розробки (переміщує до кошика, а не видаляє), а потім повторно створює типове середовище розробки.
Журналювання необробленого потоку
OpenClaw може журналювати необроблений потік асистента до будь-якої фільтрації або форматування. Це найкращий спосіб з’ясувати, чи надходять міркування як дельти звичайного тексту або як окремі блоки мислення. Увімкніть через CLI:~/.openclaw/logs/raw-stream.jsonl
Зауваження щодо безпеки
- Журнали необробленого потоку можуть містити повні запити, виведення інструментів і дані користувача.
- Зберігайте журнали локально та видаляйте їх після налагодження.
- Якщо ви ділитеся журналами, спочатку вилучіть із них секрети та персональні дані.
Налагодження у VSCode
Карти вихідного коду обов’язкові, оскільки під час збирання до згенерованих імен файлів додаються хеші. Доданийlaunch.json призначений для служби Gateway:
- Rebuild and Debug Gateway — видаляє
/distі повторно збирає проєкт з увімкненим налагодженням перед запуском Gateway. - Debug Gateway — налагоджує наявну збірку, не змінюючи
/dist.
Налаштування
- Відкрийте Run and Debug (на панелі дій або за допомогою
Ctrl+Shift+D). - Виберіть Rebuild and Debug Gateway і натисніть Start Debugging.
- Увімкніть карти вихідного коду в терміналі:
- Linux/macOS:
export OUTPUT_SOURCE_MAPS=1 - Windows (PowerShell):
$env:OUTPUT_SOURCE_MAPS="1" - Windows (CMD):
set OUTPUT_SOURCE_MAPS=1
- Linux/macOS:
- Повторно зберіть:
pnpm clean:dist && pnpm build - Виберіть Debug Gateway і натисніть Start Debugging.
src/; налагоджувач зіставляє їх зі скомпільованим JavaScript за допомогою карт вихідного коду.
Примітки
- Rebuild and Debug Gateway видаляє
/distі під час кожного запуску виконує повнеpnpm buildіз картами вихідного коду. - Debug Gateway можна запускати й зупиняти без впливу на
/dist, але циклом збирання потрібно керувати в окремому терміналі. - Змініть
argsуlaunch.json, щоб налагоджувати інші підкоманди CLI. - Щоб використовувати зібраний CLI для інших завдань (наприклад,
dashboard --no-open, якщо сеанс налагодження створює новий токен автентифікації), запустіть його з іншого термінала:node ./openclaw.mjsабо через псевдонім на кшталтalias openclaw-build="node $(pwd)/openclaw.mjs".