Technical reference
Використання токенів і витрати
OpenClaw відстежує токени, а не символи. Токени залежать від моделі, але більшість моделей у стилі OpenAI мають у середньому ~4 символи на токен для англійського тексту.
Як будується системний промпт
OpenClaw збирає власний системний промпт під час кожного запуску. Він містить:
- Список інструментів + короткі описи
- Список Skills (лише метадані; інструкції завантажуються на вимогу через
read). Компактний блок Skills обмежуєтьсяskills.limits.maxSkillsPromptChars, з необов’язковим перевизначенням для окремого агента вagents.list[].skillsLimits.maxSkillsPromptChars. - Інструкції для самооновлення
- Робочу область + початкові файли (
AGENTS.md,SOUL.md,TOOLS.md,IDENTITY.md,USER.md,HEARTBEAT.md,BOOTSTRAP.md, коли новий, плюсMEMORY.md, коли наявний). Кореневийmemory.mdу нижньому регістрі не ін’єктується; це застарілий вхід для виправлення черезopenclaw doctor --fix, коли він іде в парі зMEMORY.md. Великі файли обрізаються заagents.defaults.bootstrapMaxChars(типово: 12000), а загальна ін’єкція початкових файлів обмежуєтьсяagents.defaults.bootstrapTotalMaxChars(типово: 60000). Щоденні файлиmemory/*.mdне є частиною звичайного початкового промпта; у звичайних ходах вони залишаються доступними на вимогу через інструменти пам’яті, але модельні запуски скидання/старту можуть додати на початок одноразовий блок стартового контексту з недавньою щоденною пам’яттю для цього першого ходу. Команди чату без оболонки/newі/resetпідтверджуються без виклику моделі. Стартова преамбула керуєтьсяagents.defaults.startupContext. - Час (UTC + часовий пояс користувача)
- Теги відповіді + поведінку Heartbeat
- Метадані виконання (хост/ОС/модель/мислення)
Повну розбивку див. у Системний промпт.
Що враховується у вікні контексту
Усе, що отримує модель, зараховується до ліміту контексту:
- Системний промпт (усі розділи, перелічені вище)
- Історія розмови (повідомлення користувача + асистента)
- Виклики інструментів і результати інструментів
- Вкладення/транскрипти (зображення, аудіо, файли)
- Підсумки Compaction і артефакти обрізання
- Обгортки провайдера або заголовки безпеки (не видимі, але все одно враховуються)
Деякі поверхні з великим навантаженням під час виконання мають власні явні обмеження:
agents.defaults.contextLimits.memoryGetMaxCharsagents.defaults.contextLimits.memoryGetDefaultLinesagents.defaults.contextLimits.toolResultMaxCharsagents.defaults.contextLimits.postCompactionMaxChars
Перевизначення для окремих агентів містяться в agents.list[].contextLimits. Ці регулятори
призначені для обмежених фрагментів під час виконання та ін’єктованих блоків, якими володіє середовище виконання. Вони
окремі від лімітів початкового завантаження, лімітів стартового контексту та лімітів промпта
Skills.
Для зображень OpenClaw зменшує масштаб зображень у транскриптах/інструментах перед викликами провайдера.
Використовуйте agents.defaults.imageMaxDimensionPx (типово: 1200), щоб налаштувати це:
- Нижчі значення зазвичай зменшують використання токенів зору та розмір корисного навантаження.
- Вищі значення зберігають більше візуальних деталей для скриншотів із великим навантаженням OCR/UI.
Для практичної розбивки (за ін’єктованим файлом, інструментами, Skills і розміром системного промпта) використовуйте /context list або /context detail. Див. Контекст.
Як переглянути поточне використання токенів
Використовуйте це в чаті:
/status→ статусна картка з багатьма емодзі з моделлю сесії, використанням контексту, токенами введення/виведення останньої відповіді та орієнтовною вартістю (лише API-ключ)./usage off|tokens|full→ додає футер використання для кожної відповіді до кожної відповіді.- Зберігається для сесії (зберігається як
responseUsage). - Авторизація OAuth приховує вартість (лише токени).
- Зберігається для сесії (зберігається як
/usage cost→ показує локальний підсумок вартості з журналів сесії OpenClaw.
Інші поверхні:
- TUI/Web TUI: підтримуються
/status+/usage. - CLI:
openclaw status --usageіopenclaw channels listпоказують нормалізовані вікна квот провайдера (X% left, а не вартість за відповідь). Поточні провайдери вікон використання: Anthropic, GitHub Copilot, Gemini CLI, OpenAI Codex, MiniMax, Xiaomi і z.ai.
Поверхні використання нормалізують поширені нативні псевдоніми полів провайдерів перед відображенням.
Для трафіку Responses сімейства OpenAI це включає як input_tokens /
output_tokens, так і prompt_tokens / completion_tokens, тому назви полів, специфічні для транспорту,
не змінюють /status, /usage або підсумки сесій.
Використання JSON Gemini CLI також нормалізується: текст відповіді береться з response, а
stats.cached відображається на cacheRead, причому stats.input_tokens - stats.cached
використовується, коли CLI не надає явного поля stats.input.
Для нативного трафіку Responses сімейства OpenAI псевдоніми використання WebSocket/SSE
нормалізуються так само, а підсумки повертаються до нормалізованого введення + виведення, коли
total_tokens відсутній або дорівнює 0.
Коли поточний знімок сесії розріджений, /status і session_status також можуть
відновити лічильники токенів/кешу та мітку активної моделі виконання з
найновішого журналу використання транскрипта. Наявні ненульові живі значення все одно мають
перевагу над резервними значеннями з транскрипта, а більші підсумки транскрипта, орієнтовані на промпт,
можуть перемогти, коли збережені підсумки відсутні або менші.
Авторизація використання для вікон квот провайдера надходить із провайдер-специфічних хуків, коли
доступна; інакше OpenClaw повертається до відповідних облікових даних OAuth/API-ключа
з профілів авторизації, env або конфігурації.
Записи транскрипта асистента зберігають ту саму нормалізовану форму використання, включно з
usage.cost, коли активна модель має налаштоване ціноутворення, а провайдер
повертає метадані використання. Це дає /usage cost і статусу сесії на основі транскрипта
стабільне джерело навіть після зникнення живого стану виконання.
OpenClaw тримає облік використання провайдера окремо від поточного знімка контексту.
usage.total провайдера може включати кешоване введення, виведення та кілька
модельних викликів у циклі інструментів, тому це корисно для вартості й телеметрії, але може завищувати
живе вікно контексту. Відображення контексту та діагностика використовують найновіший знімок промпта
(promptTokens або останній модельний виклик, коли знімок промпта
недоступний) для context.used.
Оцінка вартості (коли показується)
Вартість оцінюється з конфігурації ціноутворення вашої моделі:
models.providers.<provider>.models[].cost
Це USD за 1M токенів для input, output, cacheRead і
cacheWrite. Якщо ціноутворення відсутнє, OpenClaw показує лише токени. Токени OAuth
ніколи не показують доларову вартість.
Після того як сайдкари й канали доходять до готового шляху Gateway, OpenClaw запускає
необов’язкове фонове початкове завантаження ціноутворення для налаштованих посилань на моделі, які ще
не мають локального ціноутворення. Це початкове завантаження отримує віддалені каталоги ціноутворення OpenRouter і LiteLLM. Встановіть models.pricing.enabled: false, щоб пропустити ці завантаження каталогів
в офлайн- або обмежених мережах; явні
записи models.providers.*.models[].cost і далі керують локальними оцінками
вартості.
TTL кешу та вплив обрізання
Кешування промптів провайдером застосовується лише в межах вікна TTL кешу. OpenClaw може необов’язково запускати обрізання cache-ttl: він обрізає сесію після завершення TTL кешу, а потім скидає вікно кешу, щоб подальші запити могли повторно використовувати щойно закешований контекст замість повторного кешування всієї історії. Це знижує вартість запису кешу, коли сесія простоює довше за TTL.
Налаштуйте це в конфігурації Gateway і перегляньте подробиці поведінки в Обрізання сесій.
Heartbeat може підтримувати кеш теплим під час періодів бездіяльності. Якщо TTL кешу вашої моделі
становить 1h, встановлення інтервалу Heartbeat трохи меншим за нього (наприклад, 55m) може уникнути
повторного кешування всього промпта, зменшуючи вартість запису кешу.
У багатоагентних налаштуваннях можна зберегти одну спільну конфігурацію моделі й налаштовувати поведінку кешу
для кожного агента через agents.list[].params.cacheRetention.
Повний покроковий довідник за регуляторами див. у Кешування промптів.
Для ціноутворення Anthropic API читання кешу значно дешевші за вхідні токени, тоді як записи кешу тарифікуються з вищим множником. Актуальні ставки та множники TTL див. у ціноутворенні кешування промптів Anthropic: https://docs.anthropic.com/docs/build-with-claude/prompt-caching
Приклад: підтримувати 1h кеш теплим за допомогою Heartbeat
agents:
defaults:
model:
primary: "anthropic/claude-opus-4-6"
models:
"anthropic/claude-opus-4-6":
params:
cacheRetention: "long"
heartbeat:
every: "55m"
Приклад: змішаний трафік зі стратегією кешу для кожного агента
agents:
defaults:
model:
primary: "anthropic/claude-opus-4-6"
models:
"anthropic/claude-opus-4-6":
params:
cacheRetention: "long" # default baseline for most agents
list:
- id: "research"
default: true
heartbeat:
every: "55m" # keep long cache warm for deep sessions
- id: "alerts"
params:
cacheRetention: "none" # avoid cache writes for bursty notifications
agents.list[].params об’єднується поверх params вибраної моделі, тож ви можете
перевизначити лише cacheRetention і успадкувати інші типові параметри моделі без змін.
Приклад: увімкнути бета-заголовок контексту Anthropic 1M
Вікно контексту Anthropic 1M наразі доступне через бета-обмеження. OpenClaw може ін’єктувати
потрібне значення anthropic-beta, коли ви вмикаєте context1m на підтримуваних моделях Opus
або Sonnet.
agents:
defaults:
models:
"anthropic/claude-opus-4-6":
params:
context1m: true
Це відображається на бета-заголовок Anthropic context-1m-2025-08-07.
Це застосовується лише тоді, коли context1m: true встановлено в записі цієї моделі.
Вимога: облікові дані мають мати право на використання довгого контексту. Якщо ні, Anthropic відповідає помилкою обмеження швидкості на стороні провайдера для цього запиту.
Якщо ви автентифікуєте Anthropic за допомогою токенів OAuth/підписки (sk-ant-oat-*),
OpenClaw пропускає бета-заголовок context-1m-*, тому що Anthropic наразі
відхиляє цю комбінацію з HTTP 401.
Поради для зменшення тиску токенів
- Використовуйте
/compact, щоб підсумовувати довгі сесії. - Обрізайте великі виводи інструментів у своїх робочих процесах.
- Зменшіть
agents.defaults.imageMaxDimensionPxдля сесій із великою кількістю скриншотів. - Тримайте описи Skills короткими (список Skills ін’єктується в промпт).
- Віддавайте перевагу меншим моделям для багатослівної дослідницької роботи.
Точну формулу накладних витрат списку Skills див. у Skills.