---
read_when:
    - टोकन उपयोग, लागतों या संदर्भ विंडो की व्याख्या
    - संदर्भ वृद्धि या Compaction व्यवहार की डीबगिंग
summary: OpenClaw प्रॉम्प्ट संदर्भ कैसे बनाता है और टोकन उपयोग + लागतों की रिपोर्ट कैसे करता है
title: टोकन उपयोग और लागतें
x-i18n:
    generated_at: "2026-07-01T18:13:40Z"
    model: gpt-5.5
    postprocess_version: locale-links-v1
    provider: openai
    source_hash: 99e3de70aeb447bb58ae414c2c5908945e8173b9b8f2bf7e4c2eb9781657c44c
    source_path: reference/token-use.md
    workflow: 16
---

OpenClaw **टोकन** ट्रैक करता है, अक्षर नहीं। टोकन मॉडल-विशिष्ट होते हैं, लेकिन अधिकांश
OpenAI-शैली मॉडल अंग्रेज़ी पाठ के लिए औसतन प्रति टोकन ~4 अक्षर रखते हैं।

## सिस्टम प्रॉम्प्ट कैसे बनाया जाता है

OpenClaw हर रन पर अपना सिस्टम प्रॉम्प्ट असेंबल करता है। इसमें शामिल हैं:

- टूल सूची + छोटे विवरण
- Skills सूची (केवल मेटाडेटा; निर्देश मांग पर `read` के साथ लोड होते हैं)।
  नेटिव Codex टर्न्स को संक्षिप्त Skills ब्लॉक टर्न-स्कोप्ड
  सहयोगी डेवलपर निर्देशों के रूप में मिलता है; अन्य हार्नेस इसे सामान्य
  प्रॉम्प्ट सतह में प्राप्त करते हैं। यह `skills.limits.maxSkillsPromptChars` से सीमित है, और
  वैकल्पिक प्रति-एजेंट ओवरराइड `agents.list[].skillsLimits.maxSkillsPromptChars` पर होता है।
- सेल्फ-अपडेट निर्देश
- वर्कस्पेस + बूटस्ट्रैप फ़ाइलें (`AGENTS.md`, `SOUL.md`, `TOOLS.md`, `IDENTITY.md`, `USER.md`, `HEARTBEAT.md`, `BOOTSTRAP.md` जब नई हों, साथ में `MEMORY.md` जब मौजूद हो)। नेटिव Codex टर्न्स कॉन्फ़िगर किए गए एजेंट वर्कस्पेस से कच्ची `MEMORY.md` पेस्ट नहीं करते जब उस वर्कस्पेस के लिए मेमोरी टूल उपलब्ध हों; वे टर्न-स्कोप्ड सहयोगी डेवलपर निर्देशों में एक छोटा मेमोरी पॉइंटर शामिल करते हैं और मांग पर मेमोरी टूल का उपयोग करते हैं। अगर टूल अक्षम हैं, मेमोरी खोज अनुपलब्ध है, या सक्रिय वर्कस्पेस एजेंट मेमोरी वर्कस्पेस से अलग है, तो `MEMORY.md` सामान्य सीमित टर्न-कॉन्टेक्स्ट पथ का उपयोग करता है। लोअरकेस रूट `memory.md` इंजेक्ट नहीं किया जाता; यह `MEMORY.md` के साथ जोड़े जाने पर `openclaw doctor --fix` के लिए लीगेसी रिपेयर इनपुट है। बड़ी इंजेक्ट की गई फ़ाइलें `agents.defaults.bootstrapMaxChars` (डिफ़ॉल्ट: 20000) से ट्रंकेट होती हैं, और कुल बूटस्ट्रैप इंजेक्शन `agents.defaults.bootstrapTotalMaxChars` (डिफ़ॉल्ट: 60000) से कैप होता है। `memory/*.md` दैनिक फ़ाइलें सामान्य बूटस्ट्रैप प्रॉम्प्ट का हिस्सा नहीं हैं; वे साधारण टर्न्स पर मेमोरी टूल के ज़रिए मांग पर रहती हैं, लेकिन रीसेट/स्टार्टअप मॉडल रन उस पहले टर्न के लिए हाल की दैनिक मेमोरी वाला वन-शॉट स्टार्टअप-कॉन्टेक्स्ट ब्लॉक प्रीपेंड कर सकते हैं। बेयर चैट `/new` और `/reset` कमांड मॉडल को बुलाए बिना स्वीकार किए जाते हैं। स्टार्टअप प्रील्यूड `agents.defaults.startupContext` से नियंत्रित होता है। पोस्ट-Compaction AGENTS.md अंश अलग हैं और स्पष्ट `agents.defaults.compaction.postCompactionSections` ऑप्ट-इन मांगते हैं।
- समय (UTC + उपयोगकर्ता टाइमज़ोन)
- उत्तर टैग + Heartbeat व्यवहार
- रनटाइम मेटाडेटा (होस्ट/OS/मॉडल/थिंकिंग)

पूरा विवरण [सिस्टम प्रॉम्प्ट](/hi/concepts/system-prompt) में देखें।

क्रेडेंशियल या ऑथ स्निपेट दस्तावेज़ करते समय, docs-only बदलावों में
सीक्रेट-स्कैनर फ़ॉल्स पॉज़िटिव से बचने के लिए
[सीक्रेट प्लेसहोल्डर कन्वेंशन](/hi/reference/secret-placeholder-conventions) का उपयोग करें।

## कॉन्टेक्स्ट विंडो में क्या गिना जाता है

मॉडल को मिलने वाली हर चीज़ कॉन्टेक्स्ट सीमा में गिनी जाती है:

- सिस्टम प्रॉम्प्ट (ऊपर सूचीबद्ध सभी सेक्शन)
- बातचीत का इतिहास (उपयोगकर्ता + असिस्टेंट संदेश)
- टूल कॉल और टूल परिणाम
- अटैचमेंट/ट्रांसक्रिप्ट (इमेज, ऑडियो, फ़ाइलें)
- Compaction सारांश और प्रूनिंग आर्टिफ़ैक्ट
- प्रोवाइडर रैपर या सेफ़्टी हेडर (दिखते नहीं, लेकिन फिर भी गिने जाते हैं)

कुछ रनटाइम-भारी सतहों की अपनी स्पष्ट कैप होती हैं:

- `agents.defaults.contextLimits.memoryGetMaxChars`
- `agents.defaults.contextLimits.memoryGetDefaultLines`
- `agents.defaults.contextLimits.toolResultMaxChars`
- `agents.defaults.contextLimits.postCompactionMaxChars`

प्रति-एजेंट ओवरराइड `agents.list[].contextLimits` के अंतर्गत रहते हैं। ये knobs
सीमित रनटाइम अंशों और इंजेक्ट किए गए रनटाइम-स्वामित्व वाले ब्लॉकों के लिए हैं। ये
बूटस्ट्रैप सीमाओं, स्टार्टअप-कॉन्टेक्स्ट सीमाओं, और Skills प्रॉम्प्ट
सीमाओं से अलग हैं।

`toolResultMaxChars` एक उन्नत सीलिंग है (`1000000` अक्षरों तक)। जब यह सेट नहीं होता, OpenClaw
प्रभावी मॉडल कॉन्टेक्स्ट विंडो से लाइव टूल-रिज़ल्ट कैप चुनता है: 100K टोकन से
कम पर `16000` अक्षर, 100K+ टोकन पर `32000` अक्षर, और 200K+
टोकन पर `64000` अक्षर, फिर भी रनटाइम कॉन्टेक्स्ट-शेयर गार्ड से सीमित।

इमेज के लिए, OpenClaw प्रोवाइडर कॉल से पहले ट्रांसक्रिप्ट/टूल इमेज पेलोड डाउनस्केल करता है।
इसे ट्यून करने के लिए `agents.defaults.imageMaxDimensionPx` (डिफ़ॉल्ट: `1200`) का उपयोग करें:

- कम मान आम तौर पर विज़न-टोकन उपयोग और पेलोड आकार घटाते हैं।
- अधिक मान OCR/UI-भारी स्क्रीनशॉट के लिए अधिक दृश्य विवरण सुरक्षित रखते हैं।

व्यावहारिक विवरण (प्रति इंजेक्टेड फ़ाइल, टूल, Skills, और सिस्टम प्रॉम्प्ट आकार) के लिए `/context list` या `/context detail` का उपयोग करें। [कॉन्टेक्स्ट](/hi/concepts/context) देखें।

## मौजूदा टोकन उपयोग कैसे देखें

चैट में इनका उपयोग करें:

- `/status` → सेशन मॉडल, कॉन्टेक्स्ट उपयोग,
  अंतिम प्रतिक्रिया इनपुट/आउटपुट टोकन, और सक्रिय मॉडल के लिए स्थानीय प्राइसिंग
  कॉन्फ़िगर होने पर **अनुमानित लागत** वाला **इमोजी-समृद्ध स्टेटस कार्ड**।
- `/usage off|tokens|full` → हर उत्तर में **प्रति-प्रतिक्रिया उपयोग फुटर** जोड़ता है।
  - प्रति सेशन बना रहता है (`responseUsage` के रूप में संग्रहीत)।
  - `/usage reset` (aliases: `inherit`, `clear`, `default`) — सेशन
    ओवरराइड साफ़ करता है ताकि सेशन कॉन्फ़िगर किए गए डिफ़ॉल्ट को फिर से इनहेरिट करे।
  - `/usage tokens` टर्न टोकन/कैश विवरण दिखाता है।
  - `/usage full` संक्षिप्त मॉडल/कॉन्टेक्स्ट/लागत विवरण दिखाता है; अनुमानित लागत
    केवल तब दिखती है जब OpenClaw के पास सक्रिय मॉडल के लिए उपयोग मेटाडेटा और स्थानीय प्राइसिंग हो।
    कस्टम `messages.usageTemplate` लेआउट टोकन/कैश फ़ील्ड शामिल कर सकते हैं।
- `/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।

उपयोग सतहें डिस्प्ले से पहले सामान्य प्रोवाइडर-नेटिव फ़ील्ड alias सामान्यीकृत करती हैं।
OpenAI-फ़ैमिली Responses ट्रैफ़िक के लिए, इसमें `input_tokens` /
`output_tokens` और `prompt_tokens` / `completion_tokens` दोनों शामिल हैं, ताकि ट्रांसपोर्ट-विशिष्ट
फ़ील्ड नाम `/status`, `/usage`, या सेशन सारांशों को न बदलें।
Gemini CLI उपयोग भी सामान्यीकृत होता है: डिफ़ॉल्ट `stream-json` पार्सर
assistant `message` इवेंट पढ़ता है, और `stats.cached` `cacheRead` पर मैप होता है, जहाँ
CLI स्पष्ट `stats.input` फ़ील्ड छोड़ दे तो `stats.input_tokens - stats.cached` उपयोग किया जाता है।
लीगेसी JSON ओवरराइड अभी भी `response` से उत्तर पाठ पढ़ते हैं।
नेटिव OpenAI-फ़ैमिली Responses ट्रैफ़िक के लिए, WebSocket/SSE उपयोग alias उसी तरह
सामान्यीकृत होते हैं, और `total_tokens` अनुपस्थित या `0` होने पर कुल सामान्यीकृत इनपुट + आउटपुट पर
फ़ॉलबैक करते हैं।
जब मौजूदा सेशन स्नैपशॉट sparse होता है, `/status` और `session_status`
सबसे हाल के ट्रांसक्रिप्ट उपयोग लॉग से टोकन/कैश काउंटर और सक्रिय रनटाइम मॉडल लेबल भी
रिकवर कर सकते हैं। मौजूदा nonzero लाइव मान अभी भी
ट्रांसक्रिप्ट फ़ॉलबैक मानों पर प्राथमिकता लेते हैं, और बड़े प्रॉम्प्ट-उन्मुख
ट्रांसक्रिप्ट कुल जीत सकते हैं जब संग्रहीत कुल अनुपस्थित या छोटे हों।
प्रोवाइडर कोटा विंडो के लिए उपयोग ऑथ उपलब्ध होने पर प्रोवाइडर-विशिष्ट hooks से आता है;
अन्यथा OpenClaw ऑथ प्रोफ़ाइल, env, या config से मेल खाते OAuth/API-key क्रेडेंशियल पर फ़ॉलबैक करता है।
Assistant ट्रांसक्रिप्ट एंट्रियां वही सामान्यीकृत उपयोग shape बनाए रखती हैं, जिसमें
`usage.cost` भी शामिल है जब सक्रिय मॉडल के लिए प्राइसिंग कॉन्फ़िगर हो और प्रोवाइडर
उपयोग मेटाडेटा लौटाए। इससे `/usage cost` और ट्रांसक्रिप्ट-समर्थित सेशन
स्टेटस को लाइव रनटाइम स्टेट समाप्त होने के बाद भी स्थिर स्रोत मिलता है।

OpenClaw प्रोवाइडर उपयोग लेखांकन को मौजूदा कॉन्टेक्स्ट
स्नैपशॉट से अलग रखता है। प्रोवाइडर `usage.total` में कैश्ड इनपुट, आउटपुट, और कई
टूल-लूप मॉडल कॉल शामिल हो सकते हैं, इसलिए यह लागत और टेलीमेट्री के लिए उपयोगी है लेकिन
लाइव कॉन्टेक्स्ट विंडो को बढ़ा-चढ़ाकर दिखा सकता है। कॉन्टेक्स्ट डिस्प्ले और डायग्नोस्टिक्स
`context.used` के लिए नवीनतम प्रॉम्प्ट स्नैपशॉट (`promptTokens`, या कोई प्रॉम्प्ट स्नैपशॉट
उपलब्ध न होने पर अंतिम मॉडल कॉल) का उपयोग करते हैं।

## लागत अनुमान (जब दिखाया जाए)

लागत आपके मॉडल प्राइसिंग config से अनुमानित होती है:

```
models.providers.<provider>.models[].cost
```

ये `input`, `output`, `cacheRead`, और
`cacheWrite` के लिए **प्रति 1M टोकन USD** हैं। अगर प्राइसिंग अनुपस्थित है, `/usage full` लागत छोड़ देता है; जब आपको हर
उत्तर में टोकन/कैश विवरण चाहिए तो `/usage tokens`
या कस्टम `messages.usageTemplate` का उपयोग करें। लागत डिस्प्ले API-key ऑथ तक सीमित नहीं है: non-API-key प्रोवाइडर जैसे
`aws-sdk` अनुमानित लागत दिखा सकते हैं जब उनकी कॉन्फ़िगर की गई मॉडल एंट्री में
स्थानीय प्राइसिंग शामिल हो और प्रोवाइडर उपयोग मेटाडेटा लौटाए।

sidecars और चैनल Gateway ready पथ तक पहुंचने के बाद, OpenClaw उन कॉन्फ़िगर किए गए मॉडल refs के लिए
वैकल्पिक बैकग्राउंड प्राइसिंग बूटस्ट्रैप शुरू करता है जिनके पास पहले से
स्थानीय प्राइसिंग नहीं है। वह बूटस्ट्रैप रिमोट OpenRouter और LiteLLM
प्राइसिंग कैटलॉग फ़ेच करता है। ऑफ़लाइन या प्रतिबंधित नेटवर्क पर उन कैटलॉग
फ़ेच को छोड़ने के लिए `models.pricing.enabled: false` सेट करें; स्पष्ट
`models.providers.*.models[].cost` एंट्रियां स्थानीय लागत
अनुमानों को चलाती रहती हैं।

## कैश TTL और प्रूनिंग प्रभाव

प्रोवाइडर प्रॉम्प्ट कैशिंग केवल कैश TTL विंडो के भीतर लागू होती है। OpenClaw
वैकल्पिक रूप से **cache-ttl pruning** चला सकता है: कैश TTL
समाप्त होने के बाद यह सेशन को प्रून करता है, फिर कैश विंडो रीसेट करता है ताकि बाद के अनुरोध
पूरे इतिहास को फिर से कैश करने के बजाय ताज़ा कैश किए गए कॉन्टेक्स्ट को फिर से उपयोग कर सकें।
जब कोई सेशन TTL के बाद निष्क्रिय हो जाता है, यह कैश
write लागत कम रखता है।

इसे [Gateway कॉन्फ़िगरेशन](/hi/gateway/configuration) में कॉन्फ़िगर करें और
व्यवहार विवरण [सेशन प्रूनिंग](/hi/concepts/session-pruning) में देखें।

Heartbeat निष्क्रिय अंतरालों के दौरान कैश को **warm** रख सकता है। अगर आपके मॉडल कैश TTL
`1h` है, तो Heartbeat अंतराल को उससे थोड़ा कम (जैसे, `55m`) सेट करने से
पूरे प्रॉम्प्ट को फिर से कैश करने से बचा जा सकता है, जिससे कैश write लागत घटती है।

मल्टी-एजेंट सेटअप में, आप एक साझा मॉडल config रख सकते हैं और कैश व्यवहार
प्रति एजेंट `agents.list[].params.cacheRetention` के साथ ट्यून कर सकते हैं।

पूरी knob-by-knob गाइड के लिए, [प्रॉम्प्ट कैशिंग](/hi/reference/prompt-caching) देखें।

Anthropic API प्राइसिंग के लिए, कैश reads इनपुट
टोकन से काफ़ी सस्ते होते हैं, जबकि कैश writes उच्च multiplier पर बिल होते हैं। नवीनतम दरों और TTL multipliers के लिए Anthropic की
प्रॉम्प्ट कैशिंग प्राइसिंग देखें:
[https://docs.anthropic.com/docs/build-with-claude/prompt-caching](https://docs.anthropic.com/docs/build-with-claude/prompt-caching)

### उदाहरण: Heartbeat के साथ 1h कैश warm रखें

```yaml
agents:
  defaults:
    model:
      primary: "anthropic/claude-opus-4-6"
    models:
      "anthropic/claude-opus-4-6":
        params:
          cacheRetention: "long"
    heartbeat:
      every: "55m"
```

### उदाहरण: प्रति-एजेंट कैश रणनीति के साथ मिश्रित ट्रैफ़िक

```yaml
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` के ऊपर merge होता है, इसलिए आप
केवल `cacheRetention` को ओवरराइड कर सकते हैं और अन्य मॉडल डिफ़ॉल्ट अपरिवर्तित इनहेरिट कर सकते हैं।

### Anthropic 1M कॉन्टेक्स्ट

OpenClaw Opus 4.8, Opus 4.7, Opus 4.6, और
Sonnet 4.6 जैसे GA-capable Claude 4.x मॉडल को Anthropic की 1M कॉन्टेक्स्ट विंडो के साथ आकार देता है। आपको उन मॉडलों के लिए
`params.context1m: true` की आवश्यकता नहीं है।

```yaml
agents:
  defaults:
    models:
      "anthropic/claude-opus-4-6":
        alias: opus
```

पुराने configs `context1m: true` रख सकते हैं, लेकिन OpenClaw अब इस सेटिंग के लिए
Anthropic का retired `context-1m-2025-08-07` beta header नहीं भेजता और
असमर्थित पुराने Claude मॉडलों को 1M तक expand नहीं करता।

आवश्यकता: क्रेडेंशियल long-context उपयोग के लिए पात्र होना चाहिए। अगर नहीं,
Anthropic उस अनुरोध के लिए provider-side rate limit error के साथ जवाब देता है।

अगर आप Anthropic को OAuth/subscription tokens (`sk-ant-oat-*`) से authenticate करते हैं,
OpenClaw OAuth-required Anthropic beta headers को सुरक्षित रखता है और
पुराने config में बचा होने पर retired `context-1m-*` beta को हटाता है।

## टोकन दबाव घटाने के सुझाव

- लंबे सत्रों का सारांश बनाने के लिए `/compact` का उपयोग करें।
- अपने workflows में बड़े tool outputs को छोटा करें।
- screenshot-heavy सत्रों के लिए `agents.defaults.imageMaxDimensionPx` को कम करें।
- Skills विवरण छोटे रखें (Skills सूची prompt में inject की जाती है)।
- verbose, exploratory काम के लिए छोटे models को प्राथमिकता दें।

सटीक Skills सूची overhead formula के लिए [Skills](/hi/tools/skills) देखें।

## संबंधित

- [API उपयोग और लागतें](/hi/reference/api-usage-costs)
- [Prompt caching](/hi/reference/prompt-caching)
- [उपयोग tracking](/hi/concepts/usage-tracking)
