---
summary: 'Как OpenClaw организует встроенную среду выполнения агента: структура кода, границы, манифесты ресурсов и выбор среды выполнения.'
title: Архитектура среды выполнения агента
x-i18n:
    generated_at: "2026-07-13T19:29:19Z"
    model: gpt-5.6
    postprocess_version: locale-links-v1
    prompt_version: 24
    provider: openai
    source_hash: 071a0cb076230ce02f2c2c1c21971379cf617f24faa8a9733570aae30a062019
    source_path: agent-runtime-architecture.md
    workflow: 16
---

OpenClaw владеет встроенной средой выполнения агента. Код среды выполнения находится в `src/agents/`, транспорт моделей и провайдеров — в `src/llm/`, а контракты для плагинов предоставляются через баррели `openclaw/plugin-sdk/*`.

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

| Путь                                | Назначение                                                                                                                                                                                                                      |
| ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `src/agents/embedded-agent-runner/` | Встроенный цикл попыток (`run.ts`, `run/`), выбор модели и нормализация провайдера (`model*.ts`), параметры запросов для каждого провайдера (`extra-params.*`), Compaction, связывание транскрипта и сеанса.                            |
| `src/agents/sessions/`              | Сохранение сеансов (`session-manager.ts`), обнаружение ресурсов (`package-manager.ts`, `resource-loader.ts`), загрузка `extensions` в рамках сеанса, шаблоны промптов, Skills, темы и средства визуализации инструментов на базе TUI (`tools/`). |
| `packages/agent-core/`              | Многократно используемое ядро агента (`@openclaw/agent-core`): цикл агента, типы каркаса, сообщения, вспомогательные средства Compaction, шаблоны промптов, Skills и контракты хранения сеансов.                                                           |
| `src/agents/runtime/`               | Фасад OpenClaw, который подключает `@openclaw/agent-core` к среде выполнения LLM из SDK плагинов и повторно экспортирует её вместе с локальными утилитами прокси.                                                                                             |
| `src/agents/agent-tools*.ts`        | Определения инструментов, принадлежащие OpenClaw, схемы параметров, политика инструментов, адаптеры до и после вызова инструментов, а также инструменты редактирования хоста и песочницы.                                                                                            |
| `src/agents/agent-hooks/`           | Встроенные хуки среды выполнения: защита Compaction, инструкции Compaction, сокращение контекста.                                                                                                                                   |
| `src/agents/harness/`               | Реестр каркасов, политика выбора и управление жизненным циклом встроенных и зарегистрированных плагинами каркасов.                                                                                                                       |
| `src/llm/`                          | Реестр моделей и провайдеров, вспомогательные средства транспорта и специфичные для провайдеров реализации потоковой передачи (`src/llm/providers/`).                                                                                                          |

## Границы

Ядро вызывает встроенную среду выполнения через модули OpenClaw и баррели SDK; внешние пакеты фреймворков агентов больше не используются. Плагины используют документированные точки входа `openclaw/plugin-sdk/*` и не импортируют внутренние компоненты `src/**`.

`@earendil-works/pi-tui` остаётся сторонней зависимостью: это набор терминальных компонентов, используемый локальным TUI и средствами визуализации инструментов сеанса. Его включение во внутренний код потребовало бы отдельной работы по вендорингу.

## Манифесты

Пакеты ресурсов объявляют ресурсы OpenClaw в метаданных `package.json`. Записи представляют собой пути к файлам или шаблоны glob относительно корня пакета:

```json
{
  "openclaw": {
    "extensions": ["extensions/index.ts"],
    "skills": ["skills/*.md"],
    "prompts": ["prompts/*.md"],
    "themes": ["themes/*.json"]
  }
}
```

Для типов ресурсов, не перечисленных в манифесте, используется обнаружение стандартных каталогов `extensions/`, `skills/`, `prompts/` и `themes/`.

## Выбор среды выполнения

- Идентификатор встроенной среды выполнения — `openclaw`. Устаревший псевдоним `pi` нормализуется в `openclaw`; `codex-app-server` нормализуется в `codex`.
- Каркасы плагинов регистрируют дополнительные идентификаторы сред выполнения (например, `codex`).
- Политика среды выполнения задаётся конфигурацией `agentRuntime.id` в области модели или провайдера (запись модели имеет приоритет над записью провайдера). Неустановленное значение или `default` разрешается в `auto`.
- `auto` выбирает зарегистрированный каркас плагина, поддерживающий действующий маршрут провайдера, а в противном случае — встроенную среду выполнения OpenClaw. Один лишь префикс провайдера или модели никогда не выбирает каркас.
- OpenAI может неявно выбрать `codex` только для точного официального HTTPS-маршрута Platform Responses или ChatGPT Responses без явно заданного переопределения запроса. Адаптеры Completions, пользовательские конечные точки и маршруты с явно заданным поведением запроса остаются на `openclaw`; официальные конечные точки с незашифрованным HTTP отклоняются. См. [Неявная среда выполнения агента OpenAI](/ru/providers/openai#implicit-agent-runtime).

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

- [Рабочий процесс среды выполнения агента OpenClaw](/ru/openclaw-agent-runtime)
- [Среды выполнения агентов](/ru/concepts/agent-runtimes)
