---
read_when:
    - Работа с кодом среды выполнения агента OpenClaw или тестами
    - Запуск линтинга, проверки типов и сценариев тестирования в реальной среде для среды выполнения агента
summary: 'Рабочий процесс разработчика для среды выполнения агента OpenClaw: сборка, тестирование и проверка в реальных условиях'
title: Рабочий процесс среды выполнения агента OpenClaw
x-i18n:
    generated_at: "2026-07-13T18:17:54Z"
    model: gpt-5.6
    postprocess_version: locale-links-v1
    prompt_version: 24
    provider: openai
    source_hash: 044f05779bef4ad18478081ba44d84356723c8a0be764440aa9d2b976d167324
    source_path: openclaw-agent-runtime.md
    workflow: 16
---

Рабочий процесс разработчика для среды выполнения агента (`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.

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

- [Тестирование](/ru/help/testing)
- [Начало работы](/ru/start/getting-started)

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

- [Архитектура среды выполнения агента OpenClaw](/ru/agent-runtime-architecture)
