Контекст

"Контекст" — это все, что 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 навыка только при необходимости.

Инструменты: есть две стоимости

Инструменты влияют на контекст двумя способами:

  1. Текст списка инструментов в системном промпте (то, что вы видите как "Tooling").
  2. Схемы инструментов (JSON). Они отправляются модели, чтобы она могла вызывать инструменты. Они учитываются в контексте, хотя вы не видите их как обычный текст.

/context detail разбивает самые большие схемы инструментов, чтобы вы могли видеть, что доминирует.

Команды, директивы и "встроенные сокращения"

Slash-команды обрабатываются шлюзом. Существует несколько различных поведений:

  • Автономные команды: сообщение, которое является только /..., выполняется как команда.
  • Директивы: /think, /verbose, /reasoning, /elevated, /model, /queue удаляются перед тем, как модель увидит сообщение.
    • Сообщения, содержащие только директивы, сохраняют настройки сессии.
    • Встроенные директивы в обычном сообщении действуют как подсказки для конкретного сообщения.
  • Встроенные сокращения (только разрешенные отправители): определенные токены /... внутри обычного сообщения могут выполняться немедленно (пример: "hey /status") и удаляются перед тем, как модель увидит оставшийся текст.

Подробности: Slash-команды.

Сессии, компактизация и очистка (что сохраняется)

То, что сохраняется между сообщениями, зависит от механизма:

  • Обычная история сохраняется в транскрипте сессии до компактизации/очистки по политике.
  • Компактизация сохраняет резюме в транскрипте и сохраняет последние сообщения нетронутыми.
  • Очистка удаляет старые результаты инструментов из в памяти промпта для выполнения, но не переписывает транскрипт.

Документация: Сессия, Компактизация, Очистка сессии.

Что на самом деле сообщает /context

/context предпочитает последний построенный при запуске отчет системного промпта, когда он доступен:

  • System prompt (run) = захвачен из последнего встроенного (с поддержкой инструментов) запуска и сохранен в хранилище сессий.
  • System prompt (estimate) = вычислен на лету, когда отчет о запуске не существует (или при запуске через CLI-бэкенд, который не генерирует отчет).

В любом случае, он сообщает размеры и основных вкладчиков; он не выводит полный системный промпт или схемы инструментов.