Fundamentals
Контекст
"Контекст" — это все, что OpenClaw отправляет модели для запуска. Он ограничен окном контекста модели (лимитом токенов).
Ментальная модель для начинающих:
- Системный промпт (созданный OpenClaw): правила, инструменты, список Skills, время/среда выполнения и внедренные файлы рабочей области.
- История разговора: ваши сообщения + сообщения ассистента в этой сессии.
- Вызовы/результаты инструментов + вложения: вывод команд, чтение файлов, изображения/аудио и т. д.
Контекст — это не то же самое, что "память": память может храниться на диске и загружаться позже; контекст — это то, что находится в текущем окне модели.
Быстрый старт (просмотр контекста)
/status→ быстрый вид "насколько заполнено мое окно?" + настройки сессии./context list→ что внедрено + примерные размеры (по файлам + итоги)./context detail→ более подробная разбивка: размеры по файлам, по схемам инструментов, по записям Skills, размер системного промпта и количество сообщений стенограммы, доступных для Compaction./context map→ изображение древовидной карты в стиле WinDirStat с текущими отслеживаемыми вкладчиками контекста сессии./usage tokens→ добавлять футер использования по токенам к обычным ответам./compact→ суммировать старую историю в компактную запись, чтобы освободить место в окне.
См. также: Слеш-команды, Использование токенов и затраты, Compaction.
Пример вывода
Значения зависят от модели, провайдера, политики инструментов и содержимого вашей рабочей области.
/context list
🧠 Context breakdownWorkspace: <workspaceDir>Bootstrap max/file: 12,000 charsSandbox: mode=non-main sandboxed=falseSystem prompt (run): 38,412 chars (~9,603 tok) (Project Context 23,901 chars (~5,976 tok)) Injected workspace files:- AGENTS.md: OK | raw 1,742 chars (~436 tok) | injected 1,742 chars (~436 tok)- SOUL.md: OK | raw 912 chars (~228 tok) | injected 912 chars (~228 tok)- TOOLS.md: TRUNCATED | raw 54,210 chars (~13,553 tok) | injected 20,962 chars (~5,241 tok)- IDENTITY.md: OK | raw 211 chars (~53 tok) | injected 211 chars (~53 tok)- USER.md: OK | raw 388 chars (~97 tok) | injected 388 chars (~97 tok)- HEARTBEAT.md: MISSING | raw 0 | injected 0- BOOTSTRAP.md: OK | raw 0 chars (~0 tok) | injected 0 chars (~0 tok) Skills list (system prompt text): 2,184 chars (~546 tok) (12 skills)Tools: read, edit, write, exec, process, browser, message, sessions_send, …Tool list (system prompt text): 1,032 chars (~258 tok)Tool schemas (JSON): 31,988 chars (~7,997 tok) (counts toward context; not shown as text)Tools: (same as above) Session tokens (cached): 14,250 total / ctx=32,000/context detail
🧠 Context breakdown (detailed)…Top skills (prompt entry size):- frontend-design: 412 chars (~103 tok)- oracle: 401 chars (~101 tok)… (+10 more skills) Top tools (schema size):- browser: 9,812 chars (~2,453 tok)- exec: 6,240 chars (~1,560 tok)… (+N more tools)/context map
Отправляет изображение, сгенерированное из последнего кэшированного отчета о запуске. До того как обычное сообщение создаст отчет о запуске в сессии, /context map возвращает сообщение о недоступности вместо отрисовки оценки. Площадь прямоугольника пропорциональна отслеживаемому числу символов промпта:
- внедренные файлы рабочей области
- базовый текст системного промпта
- записи промптов Skills
- JSON-схемы инструментов
/context list, /context detail и /context json все еще могут просматривать оценку по запросу, когда отчет о запуске не кэширован.
Что учитывается в окне контекста
Учитывается все, что получает модель, включая:
- Системный промпт (все разделы).
- Историю разговора.
- Вызовы инструментов + результаты инструментов.
- Вложения/стенограммы (изображения/аудио/файлы).
- Сводки Compaction и артефакты обрезки.
- "Обертки" провайдера или скрытые заголовки (не видны, но все равно учитываются).
Как OpenClaw строит системный промпт
Системный промпт принадлежит OpenClaw и перестраивается при каждом запуске. Он включает:
- Список инструментов + краткие описания.
- Список Skills (только метаданные; см. ниже).
- Расположение рабочей области.
- Время (UTC + преобразованное время пользователя, если настроено).
- Метаданные среды выполнения (хост/ОС/модель/мышление).
- Внедренные bootstrap-файлы рабочей области в разделе Контекст проекта.
Полная разбивка: Системный промпт.
Внедренные файлы рабочей области (Контекст проекта)
По умолчанию OpenClaw внедряет фиксированный набор файлов рабочей области (если они есть):
AGENTS.mdSOUL.mdTOOLS.mdIDENTITY.mdUSER.mdHEARTBEAT.mdBOOTSTRAP.md(только при первом запуске)
Большие файлы усекаются пофайлово с использованием agents.defaults.bootstrapMaxChars (по умолчанию 20000 символов). OpenClaw также применяет общий лимит внедрения bootstrap по всем файлам через agents.defaults.bootstrapTotalMaxChars (по умолчанию 60000 символов). /context показывает размеры исходный против внедренного и было ли усечение.
Когда происходит усечение, среда выполнения может внедрить блок предупреждения прямо в промпт в разделе Контекст проекта. Настройте это через agents.defaults.bootstrapPromptTruncationWarning (off, once, always; по умолчанию always).
Skills: внедренные и загружаемые по запросу
Системный промпт включает компактный список Skills (имя + описание + расположение). У этого списка есть реальная накладная стоимость.
Инструкции Skills не включаются по умолчанию. Ожидается, что модель выполнит read для SKILL.md нужного Skills только при необходимости.
Инструменты: есть две стоимости
Инструменты влияют на контекст двумя способами:
- Текст списка инструментов в системном промпте (то, что вы видите как "Инструментарий").
- Схемы инструментов (JSON). Они отправляются модели, чтобы она могла вызывать инструменты. Они учитываются в контексте, хотя вы не видите их как обычный текст.
/context detail разбивает самые большие схемы инструментов, чтобы вы могли увидеть, что доминирует.
Команды, директивы и "встроенные сокращения"
Слеш-команды обрабатываются Gateway. Есть несколько разных вариантов поведения:
- Отдельные команды: сообщение, состоящее только из
/..., выполняется как команда. - Директивы:
/think,/verbose,/trace,/reasoning,/elevated,/model,/queueудаляются до того, как модель увидит сообщение.- Сообщения, состоящие только из директив, сохраняют настройки сессии.
- Встроенные директивы в обычном сообщении действуют как подсказки для конкретного сообщения.
- Встроенные сокращения (только для отправителей из allowlist): определенные токены
/...внутри обычного сообщения могут выполниться сразу (пример: "эй /status") и удаляются до того, как модель увидит оставшийся текст.
Подробности: Слеш-команды.
Сессии, Compaction и обрезка (что сохраняется)
То, что сохраняется между сообщениями, зависит от механизма:
- Обычная история сохраняется в стенограмме сессии, пока не будет compacted/обрезана политикой.
- Compaction сохраняет сводку в стенограмму и оставляет последние сообщения без изменений.
- Обрезка удаляет старые результаты инструментов из промпта в памяти, чтобы освободить место в окне контекста, но не переписывает стенограмму сессии — полная история все еще доступна для просмотра на диске.
Документация: Сессия, Compaction, Обрезка сессии.
По умолчанию OpenClaw использует встроенный контекстный движок legacy для сборки и
Compaction. Если вы установите Plugin, который предоставляет kind: "context-engine", и
выберете его через plugins.slots.contextEngine, OpenClaw делегирует сборку
контекста, /compact и связанные хуки жизненного цикла контекста subagent этому
движку. ownsCompaction: false не выполняет автоматический fallback к движку legacy;
активный движок все равно должен корректно реализовывать compact(). См.
Контекстный движок для полного
подключаемого интерфейса, хуков жизненного цикла и конфигурации.
Что на самом деле сообщает /context
/context предпочитает последний отчет системного промпта, собранный при запуске, когда он доступен:
System prompt (run)= захвачен из последнего встроенного запуска (с поддержкой инструментов) и сохранен в хранилище сессии.System prompt (estimate)= вычисляется на лету, когда отчета о запуске нет (или при запуске через CLI-бэкенд, который не генерирует отчет).
В любом случае он сообщает размеры и основных вкладчиков; он не выводит полный системный промпт или схемы инструментов. В подробном режиме он также сравнивает стенограмму сессии с тем же предикатом сообщений реального разговора, который используется Compaction, поэтому высокое использование промпта/кэша легче отличить от истории разговора, доступной для Compaction.
Связанные материалы
Пользовательское внедрение контекста через plugins.
Суммирование длинных разговоров, чтобы удерживать их внутри окна модели.
Как строится системный промпт и что он внедряет на каждом ходе.
Полный цикл выполнения агента от входящего сообщения до финального ответа.