Concept internals
ردیابی استفاده
چیستی
- استفاده/سهمیهٔ provider را مستقیماً از endpointهای usage همانها میگیرد.
- هزینهٔ تخمینی ندارد؛ فقط windowهایی که provider گزارش میکند.
- خروجی وضعیت خوانا برای انسان به
X% leftنرمالسازی میشود، حتی وقتی یک API بالادستی سهمیهٔ مصرفشده، سهمیهٔ باقیمانده، یا فقط شمارشهای خام را گزارش کند. /statusدر سطح session وsession_statusوقتی snapshot زندهٔ session کمجزئیات باشد، میتوانند به آخرین ورودی usage در transcript برگردند. این fallback شمارندههای token/cache جاافتاده را پر میکند، میتواند برچسب model زمان اجرای فعال را بازیابی کند، و وقتی metadata مربوط به session وجود ندارد یا کوچکتر است، total بزرگتر و prompt-محور را ترجیح میدهد. مقدارهای زندهٔ غیرصفر موجود همچنان برندهاند.
کجا نمایش داده میشود
/statusدر chatها: کارت وضعیت دارای emoji با tokenهای session + هزینهٔ تخمینی (فقط API key). usage مربوط به provider برای provider مدل فعلی، وقتی در دسترس باشد، بهصورت window نرمالشدهٔX% leftنمایش داده میشود./usage off|tokens|fullدر chatها: footer usage برای هر پاسخ (OAuth فقط tokenها را نشان میدهد)./usage costدر chatها: خلاصهٔ هزینهٔ محلی که از logهای session در OpenClaw تجمیع شده است.- CLI:
openclaw status --usageتفکیک کامل بهازای هر provider را چاپ میکند. - CLI:
openclaw channels listهمان snapshot استفاده را کنار پیکربندی provider چاپ میکند (برای رد شدن از آن از--no-usageاستفاده کنید). - نوار منوی macOS: بخش «استفاده» زیر «زمینه» (فقط اگر در دسترس باشد).
Providerها + credentialها
- Anthropic (Claude): tokenهای OAuth در auth profileها.
- GitHub Copilot: tokenهای OAuth در auth profileها.
- Gemini CLI: tokenهای OAuth در auth profileها.
- usage در JSON به
statsبرمیگردد؛stats.cachedبهcacheReadنرمالسازی میشود.
- usage در JSON به
- OpenAI Codex: tokenهای OAuth در auth profileها (وقتی وجود داشته باشد از accountId استفاده میشود).
- MiniMax: API key یا auth profile مربوط به MiniMax OAuth. OpenClaw سطح سهمیهٔ
minimax،minimax-cn، وminimax-portalرا یکسان در نظر میگیرد، وقتی MiniMax OAuth ذخیرهشده وجود داشته باشد آن را ترجیح میدهد، و در غیر این صورت بهMINIMAX_CODE_PLAN_KEY،MINIMAX_CODING_API_KEY، یاMINIMAX_API_KEYبرمیگردد. polling استفاده، host مربوط به Coding Plan را وقتی پیکربندی شده باشد ازmodels.providers.minimax-portal.baseUrlیاmodels.providers.minimax.baseUrlاستخراج میکند، و در غیر این صورت از host مربوط به MiniMax CN استفاده میکند. فیلدهای خامusage_percent/usagePercentدر MiniMax به معنی سهمیهٔ باقیمانده هستند، بنابراین OpenClaw پیش از نمایش آنها را معکوس میکند؛ فیلدهای مبتنی بر شمارش وقتی وجود داشته باشند برندهاند.- برچسبهای window مربوط به coding-plan وقتی فیلدهای ساعت/دقیقهٔ provider وجود داشته باشند از آنها میآیند، سپس به بازهٔ
start_time/end_timeبرمیگردند. - اگر endpoint مربوط به coding-plan مقدار
model_remainsبرگرداند، OpenClaw ورودی chat-model را ترجیح میدهد، وقتی فیلدهای صریحwindow_hours/window_minutesوجود نداشته باشند برچسب window را از timestampها استخراج میکند، و نام model را در برچسب plan قرار میدهد.
- برچسبهای window مربوط به coding-plan وقتی فیلدهای ساعت/دقیقهٔ provider وجود داشته باشند از آنها میآیند، سپس به بازهٔ
- Xiaomi MiMo: API key از طریق env/config/auth store (
XIAOMI_API_KEY). - z.ai: API key از طریق env/config/auth store.
وقتی هیچ auth قابلاستفادهای برای usage مربوط به provider قابل resolve نباشد، usage پنهان میشود. Providerها میتوانند منطق auth usage اختصاصی Plugin ارائه کنند؛ در غیر این صورت OpenClaw به credentialهای OAuth/API-key مطابق از auth profileها، متغیرهای محیطی، یا config برمیگردد.