Контекст
«Контекст» — это всё, что OpenClaw отправляет модели для выполнения (run). Он ограничен окном контекста модели (лимитом токенов). Упрощённая модель для начинающих:
- Системный промпт (созданный OpenClaw): правила, инструменты, список навыков, время/время выполнения и внедрённые файлы рабочей области.
- История диалога: ваши сообщения + сообщения ассистента в этой сессии.
- Вызовы инструментов/результаты + вложения: вывод команд, чтение файлов, изображения/аудио и т.д.
Контекст не то же самое, что «память»: память может храниться на диске и загружаться позже; контекст — это то, что находится внутри текущего окна модели.
Быстрый старт (проверка контекста)
/status→ быстрый просмотр «насколько заполнено моё окно?» + настройки сессии./context list→ что внедрено + примерные размеры (по файлам и суммарно)./context detail→ детальный разбор: размеры по файлам, по схемам инструментов, по записям навыков и размер системного промпта./usage tokens→ добавляет футер с использованием токенов к обычным ответам./compact→ суммирует старую историю в компактную запись, чтобы освободить место в окне.
См. также: Слеш-команды, Использование токенов и стоимость, Компактизация.
Пример вывода
Значения зависят от модели, провайдера, политики инструментов и содержимого вашей рабочей области.
/context list
🧠 Context breakdown
Workspace: <workspaceDir>
Bootstrap max/file: 20,000 chars
Sandbox: mode=non-main sandboxed=false
System 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)
Что учитывается в окне контекста
Всё, что получает модель, учитывается, включая:
- Системный промпт (все разделы).
- Историю диалога.
- Вызовы инструментов + результаты инструментов.
- Вложения/транскрипты (изображения/аудио/файлы).
- Суммаризации компактизации и артефакты обрезки.
- «Обёртки» провайдера или скрытые заголовки (не видны, но учитываются).
Как OpenClaw строит системный промпт
Системный промпт принадлежит OpenClaw и перестраивается при каждом выполнении (run). Он включает:
- Список инструментов + краткие описания.
- Список навыков (только метаданные; см. ниже).
- Расположение рабочей области.
- Время (UTC + конвертированное пользовательское время, если настроено).
- Метаданные времени выполнения (хост/ОС/модель/мышление).
- Внедрённые файлы начальной загрузки рабочей области в разделе Project Context.
Полный разбор: Системный промпт.
Внедрённые файлы рабочей области (Project Context)
По умолчанию OpenClaw внедряет фиксированный набор файлов рабочей области (если они присутствуют):
AGENTS.mdSOUL.mdTOOLS.mdIDENTITY.mdUSER.mdHEARTBEAT.mdBOOTSTRAP.md(только при первом запуске)
Большие файлы обрезаются для каждого файла в соответствии с agents.defaults.bootstrapMaxChars (по умолчанию 20000 символов). OpenClaw также применяет общий лимит на внедрение начальной загрузки для всех файлов с помощью agents.defaults.bootstrapTotalMaxChars (по умолчанию 150000 символов). /context показывает исходный vs внедрённый размеры и было ли обрезание. Когда происходит обрезание, среда выполнения может внедрить предупреждающий блок в промпте в разделе Project Context. Настройте это с помощью agents.defaults.bootstrapPromptTruncationWarning (off, once, always; по умолчанию once).
Навыки: что внедряется, а что загружается по требованию
Системный промпт включает компактный список навыков (название + описание + расположение). Этот список создаёт реальные накладные расходы. Инструкции навыков не включаются по умолчанию. Ожидается, что модель будет read файл навыка SKILL.md только когда это необходимо.
Инструменты: есть две стоимости
Инструменты влияют на контекст двумя способами:
- Текстовый список инструментов в системном промпте (то, что вы видите как «Tooling»).
- Схемы инструментов (JSON). Они отправляются модели, чтобы она могла вызывать инструменты. Они учитываются в контексте, даже если вы не видите их как обычный текст.
/context detail разбивает самые большие схемы инструментов, чтобы вы могли видеть, что доминирует.
Команды, директивы и «встроенные сокращения»
Слеш-команды обрабатываются Шлюзом (Gateway). Существует несколько различных вариантов поведения:
- Автономные команды: сообщение, состоящее только из
/..., выполняется как команда. - Директивы:
/think,/verbose,/reasoning,/elevated,/model,/queueудаляются до того, как модель увидит сообщение.- Сообщения, состоящие только из директив, сохраняют настройки сессии.
- Встроенные директивы в обычном сообщении действуют как подсказки для конкретного сообщения.
- Встроенные сокращения (только для разрешённых отправителей): определённые токены
/...внутри обычного сообщения могут выполняться немедленно (пример: «hey /status») и удаляются до того, как модель увидит оставшийся текст.
Подробности: Слеш-команды.
Сессии, компактизация и обрезка (что сохраняется)
Что сохраняется между сообщениями, зависит от механизма:
- Обычная история сохраняется в транскрипте сессии до тех пор, пока не будет скомпактизирована/обрезана политикой.
- Компактизация сохраняет суммаризацию в транскрипте и оставляет последние сообщения нетронутыми.
- Обрезка удаляет старые результаты инструментов из промпта в памяти для выполнения (run), но не перезаписывает транскрипт.
Документация: Сессия, Компактизация, Обрезка сессии. По умолчанию OpenClaw использует встроенный контекстный движок legacy для сборки и компактизации. Если вы установите плагин, предоставляющий kind: "context-engine", и выберете его с помощью plugins.slots.contextEngine, OpenClaw делегирует сборку контекста, /compact и связанные хуки жизненного цикла контекста суб-агента этому движку.
Что фактически отчитывает /context
/context предпочитает использовать последний доступный отчёт о системном промпте, построенном при выполнении (run):
System prompt (run)= захвачен из последнего встроенного (способного к использованию инструментов) выполнения и сохранён в хранилище сессии.System prompt (estimate)= вычисляется на лету, когда отчёт о выполнении отсутствует (или при работе через CLI-бэкенд, который не генерирует отчёт).
В любом случае, он сообщает размеры и основных «виновников»; он не выводит полный системный промпт или схемы инструментов.