> ## Documentation Index
> Fetch the complete documentation index at: https://docs2.openclaw.ai/llms.txt
> Use this file to discover all available pages before exploring further.

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

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 theme={"theme":{"light":"min-light","dark":"min-dark"}}
{
  "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](https://docs2.openclaw.ai/ru/providers/openai.md#implicit-agent-runtime).

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

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