Використання токенів і витрати
OpenClaw відстежує токени, а не символи. Токени залежать від моделі, але для більшості моделей у стилі OpenAI в англійському тексті в середньому припадає приблизно 4 символи на токен.Як формується системний запит
OpenClaw збирає власний системний запит під час кожного запуску. Він містить:- Список інструментів + короткі описи
- Список Skills (лише метадані; інструкції завантажуються за потреби через
read). Компактний блок Skills обмежуєтьсяskills.limits.maxSkillsPromptChars, з необов’язковим перевизначенням для окремого агента вagents.list[].skillsLimits.maxSkillsPromptChars. - Інструкції щодо самооновлення
- Робочий простір + bootstrap-файли (
AGENTS.md,SOUL.md,TOOLS.md,IDENTITY.md,USER.md,HEARTBEAT.md,BOOTSTRAP.mdwhen new, plusMEMORY.mdwhen present ormemory.mdas a lowercase fallback). Великі файли обрізаються черезagents.defaults.bootstrapMaxChars(типово: 12000), а загальний обсяг bootstrap-вставки обмежуєтьсяagents.defaults.bootstrapTotalMaxChars(типово: 60000). Щоденні файлиmemory/*.mdне входять до звичайного bootstrap-запиту; вони залишаються доступними за потреби через інструменти пам’яті у звичайних ходах, але прості/newі/resetможуть додавати одноразовий блок стартового контексту з нещодавньою щоденною пам’яттю для цього першого ходу. Цей вступний блок запуску керується черезagents.defaults.startupContext. - Час (UTC + часовий пояс користувача)
- Теґи відповіді + поведінка Heartbeat
- Метадані середовища виконання (host/OS/model/thinking)
Що враховується у вікні контексту
Усе, що отримує модель, зараховується до ліміту контексту:- Системний запит (усі перелічені вище розділи)
- Історія розмови (повідомлення користувача й асистента)
- Виклики інструментів і результати інструментів
- Вкладення/транскрипти (зображення, аудіо, файли)
- Підсумки Compaction і артефакти обрізання
- Обгортки провайдера або заголовки безпеки (невидимі, але все одно враховуються)
agents.defaults.contextLimits.memoryGetMaxCharsagents.defaults.contextLimits.memoryGetDefaultLinesagents.defaults.contextLimits.toolResultMaxCharsagents.defaults.contextLimits.postCompactionMaxChars
agents.list[].contextLimits. Ці параметри
призначені для обмежених за розміром фрагментів середовища виконання та вставлених блоків, якими володіє середовище виконання. Вони
відокремлені від bootstrap-обмежень, обмежень стартового контексту та
обмежень запиту Skills.
Для зображень OpenClaw зменшує розмір корисного навантаження зображень у транскриптах/інструментах перед викликами провайдера.
Щоб налаштувати це, використовуйте agents.defaults.imageMaxDimensionPx (типово: 1200):
- Нижчі значення зазвичай зменшують використання vision-токенів і розмір корисного навантаження.
- Вищі значення зберігають більше візуальних деталей для скриншотів, насичених OCR/UI.
/context list або /context detail. Див. Context.
Як переглянути поточне використання токенів
Використовуйте це в чаті:/status→ картка стану з емодзі з моделлю сеансу, використанням контексту, вхідними/вихідними токенами останньої відповіді та оцінною вартістю (лише для API key)./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.
input_tokens /
output_tokens, і prompt_tokens / completion_tokens, тож назви полів,
специфічні для транспорту, не змінюють /status, /usage або зведення сеансу.
Використання Gemini CLI JSON також нормалізується: текст відповіді береться з response, а
stats.cached відображається в cacheRead, при цьому використовується stats.input_tokens - stats.cached,
коли CLI не надає явного поля stats.input.
Для нативного трафіку OpenAI-family Responses псевдоніми використання WebSocket/SSE
нормалізуються так само, а підсумкові значення повертаються до нормалізованих input + output, якщо
total_tokens відсутній або дорівнює 0.
Коли поточний знімок сеансу містить мало даних, /status і session_status також можуть
відновлювати лічильники токенів/кешу та мітку активної моделі середовища виконання з
найсвіжішого журналу використання транскрипту. Наявні ненульові live-значення, як і раніше, мають
пріоритет над резервними значеннями з транскрипту, а більші підсумки з транскрипту,
орієнтовані на запит, можуть мати перевагу, коли збережені підсумки відсутні або менші.
Автентифікація використання для вікон квот провайдера надходить із хуків, специфічних для провайдера, коли вони доступні;
інакше OpenClaw повертається до зіставлення облікових даних OAuth/API key з профілів автентифікації,
env або config.
Записи транскрипту асистента зберігають ту саму нормалізовану форму використання, включно з
usage.cost, коли для активної моделі налаштовано ціноутворення і провайдер повертає метадані використання.
Це дає /usage cost і статусу сеансу на основі транскрипту
стабільне джерело навіть після того, як live-стан середовища виконання зникає.
Оцінка вартості (коли показується)
Вартість оцінюється на основі конфігурації ціноутворення вашої моделі:input, output, cacheRead і
cacheWrite. Якщо дані про ціни відсутні, OpenClaw показує лише токени. OAuth-токени
ніколи не показують вартість у доларах.
Вплив TTL кешу та обрізання
Кешування запитів провайдера застосовується лише в межах вікна TTL кешу. OpenClaw може необов’язково виконувати обрізання cache-ttl: він обрізає сеанс після завершення TTL кешу, а потім скидає вікно кешу, щоб наступні запити могли повторно використовувати щойно закешований контекст замість повторного кешування всієї історії. Це допомагає тримати витрати на запис у кеш нижчими, коли сеанс простоює довше за TTL. Налаштовується це в Gateway configuration, а подробиці поведінки дивіться в Session pruning. Heartbeat може підтримувати кеш теплим під час періодів простою. Якщо TTL кешу вашої моделі дорівнює1h, установлення інтервалу Heartbeat трохи менше цього значення (наприклад, 55m) може
уникнути повторного кешування всього запиту, зменшуючи витрати на запис у кеш.
У конфігураціях із кількома агентами ви можете зберігати одну спільну конфігурацію моделі й налаштовувати поведінку кешу
для кожного агента через agents.list[].params.cacheRetention.
Повний посібник по кожному параметру дивіться в Prompt Caching.
Для цін Anthropic API читання кешу значно дешевше за вхідні
токени, тоді як запис у кеш тарифікується за вищим множником. Актуальні ставки та множники TTL дивіться в документації Anthropic щодо ціноутворення кешування запитів:
https://docs.anthropic.com/docs/build-with-claude/prompt-caching
Приклад: підтримувати теплий кеш 1h за допомогою Heartbeat
Приклад: змішаний трафік зі стратегією кешу для окремих агентів
agents.list[].params об’єднується поверх params вибраної моделі, тож ви можете
перевизначити лише cacheRetention і успадкувати решту значень моделі без змін.
Приклад: увімкнути beta-заголовок Anthropic 1M context
Вікно контексту Anthropic 1M наразі доступне лише через beta-доступ. OpenClaw може вставити потрібне значенняanthropic-beta, якщо ви ввімкнете context1m для підтримуваних моделей Opus
або Sonnet.
context-1m-2025-08-07.
Це застосовується лише тоді, коли для цього запису моделі встановлено context1m: true.
Вимога: облікові дані мають бути придатними для використання довгого контексту. Якщо ні,
Anthropic відповідає помилкою обмеження частоти на боці провайдера для цього запиту.
Якщо ви автентифікуєте Anthropic за допомогою токенів OAuth/subscription (sk-ant-oat-*),
OpenClaw пропускає beta-заголовок context-1m-*, оскільки Anthropic наразі
відхиляє таку комбінацію з HTTP 401.
Поради щодо зменшення навантаження на токени
- Використовуйте
/compactдля підсумовування довгих сеансів. - Скорочуйте великі виводи інструментів у своїх робочих процесах.
- Зменшуйте
agents.defaults.imageMaxDimensionPxдля сеансів із великою кількістю скриншотів. - Тримайте описи Skills короткими (список Skills вставляється в запит).
- Для багатослівної, дослідницької роботи віддавайте перевагу меншим моделям.