Advanced setup
Рабочий процесс среды выполнения агента OpenClaw
Рабочий процесс разработчика для среды выполнения агента (src/agents/) в репозитории OpenClaw.
Проверка типов и линтинг
- Стандартная локальная проверка:
pnpm check(проверка типов, линтинг, проверки политик) - Проверка сборки:
pnpm build, если изменение может повлиять на результат сборки, упаковку или границы отложенной загрузки/модулей - Полная проверка перед отправкой изменений:
pnpm build && pnpm check && pnpm check:test-types && pnpm test
Запуск тестов среды выполнения агента
Запустите наборы модульных тестов среды выполнения агента:
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 и требует учётные данные провайдера):
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.