Advanced setup

Рабочий процесс среды выполнения агента OpenClaw

Рабочий процесс разработчика для среды выполнения агента (src/agents/) в репозитории OpenClaw.

Проверка типов и линтинг

  • Стандартная локальная проверка: pnpm check (проверка типов, линтинг, проверки политик)
  • Проверка сборки: pnpm build, если изменение может повлиять на результат сборки, упаковку или границы отложенной загрузки/модулей
  • Полная проверка перед отправкой изменений: pnpm build && pnpm check && pnpm check:test-types && pnpm test

Запуск тестов среды выполнения агента

Запустите наборы модульных тестов среды выполнения агента:

bash
pnpm test \  "src/agents/agent-*.test.ts" \  "src/agents/embedded-agent-*.test.ts" \  "src/agents/agent-hooks/**/*.test.ts"

Первый шаблон также охватывает наборы agent-tools*, agent-settings и agent-tool-definition-adapter*.

Интерактивные тесты исключены из конфигурации модульных тестов; запускайте их через обёртку для интерактивных тестов (она задаёт OPENCLAW_LIVE_TEST=1 и требует учётные данные провайдера):

bash
pnpm test:live src/agents/embedded-agent-runner-extraparams.live.test.ts

Ручное тестирование

  • Запустите Gateway в режиме разработки (подключения к каналам пропускаются с помощью OPENCLAW_SKIP_CHANNELS=1): pnpm gateway:dev
  • Запустите один ход агента через Gateway: pnpm openclaw agent --message "Hello" --thinking low
  • Используйте TUI для интерактивной отладки: pnpm tui

Чтобы проверить поведение вызовов инструментов, запросите действие read или exec, чтобы наблюдать за потоковой передачей данных инструмента и обработкой полезной нагрузки.

Сброс до исходного состояния

Состояние хранится в каталоге состояния OpenClaw: по умолчанию ~/.openclaw или $OPENCLAW_STATE_DIR, если эта переменная задана. Пути относительно этого каталога:

Путь Содержимое
openclaw.json Конфигурация
state/openclaw.sqlite Общая база данных состояния среды выполнения
agents/<agentId>/agent/openclaw-agent.sqlite Профили аутентификации моделей для каждого агента (ключи API + OAuth) и состояние среды выполнения
credentials/ Учётные данные провайдеров/каналов вне хранилища профилей аутентификации
agents/<agentId>/sessions/ История расшифровок и источники миграции устаревших сеансов
sessions/ Устаревшее хранилище сеансов одного агента (только старые установки)
workspace/ Рабочая область агента по умолчанию (дополнительные агенты используют workspace-<agentId>)

Для полного сброса удалите эти пути. Более избирательные варианты сброса:

  • Только сеансы: не удаляйте agents/<agentId>/agent/openclaw-agent.sqlite; строки сеансов хранятся там вместе с другим состоянием конкретного агента. Используйте /new или /reset, чтобы начать новый сеанс для одного чата, и openclaw sessions cleanup для обслуживания сеансов.
  • Сохранить аутентификацию: не удаляйте agents/<agentId>/agent/openclaw-agent.sqlite и credentials/.

Устаревшие файлы auth-profiles.json больше не считываются во время выполнения; openclaw doctor --fix импортирует их в хранилище SQLite.

Справочные материалы

Связанные материалы

Was this useful?
On this page

On this page