---
read_when:
    - Робота з кодом або тестами середовища виконання агента OpenClaw
    - Запуск потоків лінтингу, перевірки типів і тестування в реальному середовищі для середовища виконання агента
summary: 'Робочий процес розробника для середовища виконання агента OpenClaw: збирання, тестування та перевірка наживо'
title: Робочий процес середовища виконання агента OpenClaw
x-i18n:
    generated_at: "2026-07-16T18:09:48Z"
    model: gpt-5.6
    postprocess_version: locale-links-v1
    prompt_version: 32
    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.

## Довідкові матеріали

- [Тестування](/uk/help/testing)
- [Початок роботи](/uk/start/getting-started)

## Пов’язані матеріали

- [Архітектура середовища виконання агента OpenClaw](/uk/agent-runtime-architecture)
