Контекст
"Контекст" — это все, что OpenClaw отправляет модели для выполнения. Он ограничен окном контекста модели (лимит токенов).
Базовая ментальная модель:
- Системный промпт (построен OpenClaw): правила, инструменты, список навыков, время/среда выполнения и внедренные файлы рабочего пространства.
- История разговора: ваши сообщения + сообщения ассистента для этой сессии.
- Вызовы инструментов/результаты + вложения: вывод команд, чтение файлов, изображения/аудио и т.д.
Контекст — это не то же самое, что "память": память может храниться на диске и перезагружаться позже; контекст — это то, что находится внутри текущего окна модели.
Быстрый старт (проверка контекста)
- /status → быстрый просмотр "насколько заполнено мое окно?" + настройки сессии.
- /context list → что внедрено + приблизительные размеры (по файлам + итоги).
- /context detail → подробная разбивка: по файлам, размеры схем инструментов, размеры записей навыков и размер системного промпта.
- /usage tokens → добавление информации об использовании в каждом ответе.
- /compact → суммирование старой истории в компактную запись для освобождения места в окне.
См. также: Slash-команды, Использование токенов и затраты, Компактизация.
Пример вывода
Значения варьируются в зависимости от модели, провайдера, политики инструментов и содержимого вашего рабочего пространства.
/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 и перестраивается при каждом запуске. Он включает:
- Список инструментов + краткие описания.
- Список навыков (только метаданные; см. ниже).
- Расположение рабочего пространства.
- Время (UTC + преобразованное пользовательское время, если настроено).
- Метаданные среды выполнения (хост/ОС/модель/мышление).
- Внедренные файлы загрузки рабочего пространства в разделе Project Context.
Полная разбивка: Системный промпт.
Внедренные файлы рабочего пространства (Project Context)
По умолчанию OpenClaw внедряет фиксированный набор файлов рабочего пространства (если присутствуют):
- AGENTS.md
- SOUL.md
- TOOLS.md
- IDENTITY.md
- USER.md
- HEARTBEAT.md
- BOOTSTRAP.md (только при первом запуске)
Большие файлы обрезаются по файлу, используя agents.defaults.bootstrapMaxChars (по умолчанию 20000 символов). /context показывает размеры raw vs injected и произошла ли обрезка.
Навыки: что внедряется vs загружается по требованию
Системный промпт включает компактный список навыков (имя + описание + местоположение). Этот список имеет реальные накладные расходы.
Инструкции навыков не включены по умолчанию. Ожидается, что модель будет read (читать) SKILL.md навыка только при необходимости.
Инструменты: есть две стоимости
Инструменты влияют на контекст двумя способами:
- Текст списка инструментов в системном промпте (то, что вы видите как "Tooling").
- Схемы инструментов (JSON). Они отправляются модели, чтобы она могла вызывать инструменты. Они учитываются в контексте, хотя вы не видите их как обычный текст.
/context detail разбивает самые большие схемы инструментов, чтобы вы могли видеть, что доминирует.
Команды, директивы и "встроенные сокращения"
Slash-команды обрабатываются шлюзом. Существует несколько различных поведений:
- Автономные команды: сообщение, которое является только /..., выполняется как команда.
- Директивы: /think, /verbose, /reasoning, /elevated, /model, /queue удаляются перед тем, как модель увидит сообщение.
- Сообщения, содержащие только директивы, сохраняют настройки сессии.
- Встроенные директивы в обычном сообщении действуют как подсказки для конкретного сообщения.
- Встроенные сокращения (только разрешенные отправители): определенные токены /... внутри обычного сообщения могут выполняться немедленно (пример: "hey /status") и удаляются перед тем, как модель увидит оставшийся текст.
Подробности: Slash-команды.
Сессии, компактизация и очистка (что сохраняется)
То, что сохраняется между сообщениями, зависит от механизма:
- Обычная история сохраняется в транскрипте сессии до компактизации/очистки по политике.
- Компактизация сохраняет резюме в транскрипте и сохраняет последние сообщения нетронутыми.
- Очистка удаляет старые результаты инструментов из в памяти промпта для выполнения, но не переписывает транскрипт.
Документация: Сессия, Компактизация, Очистка сессии.
Что на самом деле сообщает /context
/context предпочитает последний построенный при запуске отчет системного промпта, когда он доступен:
- System prompt (run) = захвачен из последнего встроенного (с поддержкой инструментов) запуска и сохранен в хранилище сессий.
- System prompt (estimate) = вычислен на лету, когда отчет о запуске не существует (или при запуске через CLI-бэкенд, который не генерирует отчет).
В любом случае, он сообщает размеры и основных вкладчиков; он не выводит полный системный промпт или схемы инструментов.