Concept internals

ردیابی میزان استفاده

چیست

  • میزان مصرف/سهمیهٔ ارائه‌دهنده را مستقیماً از نقطهٔ پایانی مصرف هر ارائه‌دهنده دریافت می‌کند. صورتحساب ارائه‌دهنده تخمین زده نمی‌شود؛ فقط نام طرح‌ها، بازه‌های سهمیه، موجودی‌ها، هزینه‌کرد، بودجه‌ها، سابقهٔ هزینهٔ روزانه، انتساب توکن/مدل یا خلاصهٔ وضعیت حساب که ارائه‌دهنده گزارش کرده است نمایش داده می‌شود.
  • خروجی خوانای بازهٔ سهمیه به‌صورت X% باقی‌مانده یکسان‌سازی می‌شود، حتی اگر ارائه‌دهنده سهمیهٔ مصرف‌شده، سهمیهٔ باقی‌مانده یا فقط شمارش‌های خام را گزارش کند. برای ارائه‌دهندگانی که بازهٔ سهمیهٔ قابل بازنشانی ندارند، به‌جای آن متن خلاصهٔ ارائه‌دهنده نمایش داده می‌شود (برای مثال، موجودی).
  • دستور /status در سطح نشست و ابزار session_status هنگامی که نمای فوری نشست زنده فاقد داده‌های توکن/مدل باشد، از گزارش رونوشت نشست به‌عنوان مسیر جایگزین استفاده می‌کنند. این مسیر جایگزین شمارنده‌های مفقود توکن/کش را تکمیل می‌کند، می‌تواند برچسب مدل فعال زمان اجرا را بازیابی کند و هنگامی که فرادادهٔ نشست وجود ندارد یا مقدار آن کوچک‌تر است (totalTokensFresh !== true، صفر یا کمتر از مقدار استخراج‌شده از رونوشت)، مجموع بزرگ‌تر و مبتنی بر پرامپت را ترجیح می‌دهد. مقادیر زندهٔ غیرصفر همیشه بر مسیر جایگزین اولویت دارند.

کجا نمایش داده می‌شود

  • /status در گفت‌وگوها: کارت وضعیت همراه با توکن‌های نشست و هزینهٔ تخمینی (فقط مدل‌های دارای کلید API). میزان مصرف ارائه‌دهنده، در صورت دسترس‌بودن، برای ارائه‌دهندهٔ مدل فعلی به‌شکل بازهٔ یکسان‌سازی‌شدهٔ X% باقی‌مانده یا متن خلاصهٔ ارائه‌دهنده نمایش داده می‌شود.
  • /usage off|tokens|full در گفت‌وگوها: پابرگ مصرف برای هر پاسخ.
  • /usage cost در گفت‌وگوها: خلاصهٔ هزینهٔ محلی که از گزارش‌های نشست OpenClaw تجمیع شده است.
  • CLI: دستور openclaw status --usage جزئیات کامل مصرف/سهمیه را به‌تفکیک ارائه‌دهنده چاپ می‌کند.
  • CLI: دستور openclaw models status نمایه‌های احراز هویت OAuth/توکن را فهرست می‌کند و کنار هر ارائه‌دهنده‌ای که بازهٔ مصرف دارد، خلاصهٔ آن را نمایش می‌دهد.
  • رابط کنترل: مصرف، کارت‌های طرح و صورتحساب ارائه‌دهنده را بالاتر از تحلیل توکن و هزینهٔ تخمینی OpenClaw که از نشست استخراج شده است نمایش می‌دهد. اعتبارنامه‌های Admin API متعلق به Anthropic و OpenAI، هزینه‌کرد گزارش‌شده توسط ارائه‌دهنده برای امروز، ۷ روز و ۳۰ روز، روندهای روزانه، مجموع توکن‌ها، مدل‌های برتر و دسته‌های هزینه را نیز اضافه می‌کنند.
  • رابط کنترل: پنجرهٔ بازشوی حلقهٔ زمینه در کادر نگارش گفت‌وگو، مصرف طرح را برای ارائه‌دهندگان اشتراکی نمایش می‌دهد — نوارهای هر بازه (۵ ساعته، هفتگی، محدود به مدل) همراه با زمان بازنشانی، طرح ارائه‌دهنده در صورت شناخته‌بودن (برای مثال Max (20x)) و اعتبار مصرف اضافی. نشست‌هایی که از طریق طرح صورتحساب می‌شوند، تخمین دلاری به‌ازای هر توکن را پنهان می‌کنند؛ نشست‌های صورتحساب‌شده از طریق API، هزینهٔ تخمینی و جزئیات هزینه بر اساس نوع را نگه می‌دارند. پیکربندی‌های Claude Code CLI (claude-cli) از همان مصرف اشتراک Anthropic استفاده می‌کنند.
  • نوار منوی macOS: هنگامی که نماهای فوری مصرف ارائه‌دهنده موجود باشند، بخش ریشه‌ای «مصرف» زیر «زمینه» ظاهر می‌شود. نوار منو را ببینید.

دستور openclaw channels list دیگر مصرف ارائه‌دهنده را چاپ نمی‌کند؛ در عوض کاربران را به openclaw status یا openclaw models list هدایت می‌کند.

سابقهٔ هزینهٔ Anthropic و OpenAI

سهمیهٔ اشتراک و صورتحساب API دو سطح متفاوت ارائه‌دهنده هستند:

  • اعتبارنامه‌های اشتراک/راه‌اندازی Anthropic همچنان بازه‌های سهمیهٔ Claude و بودجه‌های اختیاری مصرف اضافی را نمایش می‌دهند. برای نمایش سابقهٔ API مصرف و هزینهٔ سازمان، ANTHROPIC_ADMIN_KEY یا ANTHROPIC_ADMIN_API_KEY را تنظیم کنید. اعتبارنامهٔ ارائه‌دهندهٔ Anthropic که با sk-ant-admin آغاز شود، به‌طور خودکار شناسایی می‌شود.
  • OAuth مربوط به OpenAI ChatGPT/Codex همچنان طرح، بازه‌های سهمیه و موجودی اعتبار را نمایش می‌دهد. برای نمایش سابقهٔ هزینه و مصرف تکمیل‌های سازمان، OPENAI_ADMIN_KEY را تنظیم کنید؛ همچنین می‌توانید OPENAI_PROJECT_ID را برای محدودکردن دامنه به یک پروژه تنظیم کنید. OpenClaw هرگز اعتبارنامه‌های استنتاج را از OPENAI_API_KEY، پیکربندی ارائه‌دهنده یا نمایه‌های احراز هویت به APIهای سازمان ارسال نمی‌کند، زیرا ممکن است این کلیدها متعلق به نقاط پایانی سفارشی باشند.

اعتبارنامه‌های مدیر اولویت دارند، زیرا صورتحساب واقعی سازمان را ارائه می‌کنند. OpenClaw این مجموع‌های گزارش‌شده توسط ارائه‌دهنده را با تخمین‌های محلی نشست ترکیب نمی‌کند؛ این دو بخش عمداً به پرسش‌های متفاوتی پاسخ می‌دهند.

حالت پیش‌فرض پابرگ مصرف

/usage off|tokens|full پابرگ یک نشست را تنظیم می‌کند و این تنظیم برای همان نشست به خاطر سپرده می‌شود. messages.responseUsage این حالت را برای نشست‌هایی که هنوز حالتی انتخاب نکرده‌اند مقداردهی اولیه می‌کند، بنابراین پابرگ می‌تواند بدون واردکردن /usage در هر بار، به‌طور پیش‌فرض فعال باشد.

یک حالت را برای همهٔ کانال‌ها، یا یک نگاشت به‌ازای هر کانال با مسیر جایگزین default تنظیم کنید:

jsonc
{  "messages": {    "responseUsage": "tokens",    // یا: { "default": "off", "discord": "full" }  },}

مقادیر پذیرفته‌شده: "off"، "tokens"، "full" و نام مستعار قدیمی "on" (که مانند "tokens" در نظر گرفته می‌شود).

سه وضعیت متمایز نشست

فیلد responseUsage یک نشست سه وضعیت قابل نمایش دارد که هرکدام معنای متفاوتی دارند:

وضعیت مقدار ذخیره‌شده حالت مؤثر
تنظیم‌نشده / ارث‌بری undefined (غایب) به مقدار پیش‌فرض پیکربندی messages.responseUsage و سپس off منتقل می‌شود.
خاموش‌کردن صریح "off" (ذخیره‌شده) همیشه خاموش است؛ مقدار پیش‌فرض غیرخاموش پیکربندی نمی‌تواند پابرگ را دوباره فعال کند.
روشن‌کردن صریح "tokens" یا "full" (ذخیره‌شده) همان حالت، صرف‌نظر از مقدار پیش‌فرض پیکربندی.

اولویت

حالت مؤثر = بازنویسی نشست ← ورودی پیکربندی کانال ← defaultoff.

دستور صریح /usage off به‌صورت مقدار تحت‌اللفظی "off" در نشست ماندگار می‌شود و با «تنظیم‌نشده» یکسان نیست. پس از آنکه کاربر پابرگ را صریحاً غیرفعال کرد، مقدار پیش‌فرض غیرخاموش messages.responseUsage نمی‌تواند آن را دوباره فعال کند.

بازنشانی در برابر خاموش‌کردن

  • /usage off پابرگ را به‌اجبار خاموش می‌کند و این انتخاب را ماندگار می‌سازد. مقدار پیش‌فرض غیرخاموش پیکربندی نمی‌تواند آن را بازنویسی کند.
  • /usage reset (نام‌های مستعار: default، inherit، inherited، clear، unpin) بازنویسی نشست را پاک می‌کند. سپس نشست مقدار پیش‌فرض مؤثر پیکربندی (messages.responseUsage) را به ارث می‌برد. اگر مقدار پیش‌فرضی پیکربندی نشده باشد، پابرگ خاموش می‌ماند.
  • بازنشانی کامل نشست (/reset یا /new) یا انتقال نشست، ترجیح صریح حالت مصرف را حفظ می‌کند تا انتخاب نمایشی کاربر پس از انتقال نشست نیز باقی بماند. فقط /usage reset (و نام‌های مستعار آن) بازنویسی را پاک می‌کند.

رفتار تغییر حالت

/usage بدون آرگومان در این چرخه حرکت می‌کند: خاموش ← توکن‌ها ← کامل ← خاموش. نقطهٔ آغاز چرخه، حالت فعلی مؤثر است (بازنویسی نشست که در صورت تنظیم‌نبودن به مقدار پیش‌فرض پیکربندی منتقل می‌شود)، بنابراین چرخه همیشه با چیزی که کاربر اکنون در پابرگ می‌بیند مطابقت دارد.

پیکربندی

بدون پیکربندی، رفتار قبلی حفظ می‌شود (پابرگ تا زمان اجرای /usage خاموش است). برای پاک‌کردن بازنویسی نشست و ارث‌بری دوبارهٔ مقدار پیش‌فرض پیکربندی‌شده، از /usage reset استفاده کنید.

پابرگ سفارشی /usage full

/usage tokens همیشه یک خط سادهٔ مصرف: X ورودی / Y خروجی نمایش می‌دهد (به‌علاوهٔ پسوندهای کش و هزینهٔ تخمینی، در صورت دسترس‌بودن). فقط /usage full پابرگ غنی‌تر توصیف‌شده در ادامه را نمایش می‌دهد.

/usage full یک پابرگ فشردهٔ داخلی شامل مدل، استدلال، حالت سریع/کند، پنجرهٔ زمینه و هزینه را، هرگاه این فیلدها موجود باشند، نمایش می‌دهد. برای پابرگ داخلی به فایل الگو نیازی نیست.

messages.usageTemplate فقط برای چیدمان‌های سفارشی پیشرفته است. مقدار آن مسیر یک فایل JSON (با پشتیبانی از ~) یا یک شیء درون‌خطی است و در صورت معتبر بودن، جایگزین پابرگ داخلی می‌شود. مسیر فایل پایش می‌شود و هنگام تغییر، به‌صورت زنده بارگیری مجدد می‌گردد.

json
{  "messages": {    "usageTemplate": "~/.openclaw/usage-footer.json"  }}

الگوهای مفقود یا خالی بی‌سروصدا به پابرگ داخلی بازمی‌گردند. الگوهای پیکربندی‌شدهٔ ناخوانا یا نامعتبر (JSON نادرست یا ساختاری بدون هیچ قطعهٔ خروجی قابل نمایش) نیز به پابرگ داخلی بازمی‌گردند و یک هشدار برای اپراتور صادر می‌کنند.

الگوهای سفارشی را از ساختار داخلی آغاز کنید، سپس بخش‌هایی را که می‌خواهید تغییر دهید ویرایش کنید:

jsonc
{  "schema": "openclaw.usageBar.v1",  "scales": {    "braille": "⠐⡀⡄⡆⡇⣇⣧⣷⣿",    "block": "░▏▎▍▌▋▊▉█",    "shade": "░▒▓█",    "moon": "🌑🌘🌗🌖🌕",    "level": "▁▂▃▄▅▆▇█",    "weather": ["🥶", "☁️", "🌥", "⛅️", "🌤", "☀️"],    "plants": ["🪾", "🍂", "🌱", "☘️", "🍀", "🌿"],    "moons6": ["🌑", "🌚", "🌘", "🌗", "🌖", "🌝"],  },  "aliases": {    "models": {      "claude-opus-4-6": "opus46",      "claude-opus-4-8": "opus48",      "claude-sonnet-4-6": "sonnet46",      "claude-haiku-4-5": "haiku45",      "gpt-5.5": "gpt5.5",    },    "reasoning": {      "off": "🌑",      "minimal": "🌚",      "low": "🌘",      "medium": "🌗",      "high": "🌕",      "xhigh": "🌝",    },  },  "output": {    "sep": "",    "default": [      { "text": "{model.provider}{identity.emoji|🤖}{model.display_name|alias:models}" },      { "map": "model.is_fallback", "cases": { "true": "🔄" } },      { "map": "model.is_override", "cases": { "true": "📌" } },      { "when": "model.reasoning", "text": "{model.reasoning|alias:reasoning}" },      { "map": "state.fast_mode", "cases": { "true": "⚡️", "false": "🐌" } },      {        "when": "context.max_tokens",        "text": " | 📚[{context.pct_used|meter:5:braille}]{context.max_tokens|num}",      },      { "when": "cost.turn_usd", "text": " 💰{cost.turn_usd|fixed:4}" },    ],    "surfaces": {      "discord": [        { "text": "-# -\n" },        { "text": "-# {model.provider}{identity.emoji|🤖}{model.display_name|alias:models}" },        { "map": "model.is_fallback", "cases": { "true": "🔄" } },        { "map": "model.is_override", "cases": { "true": "📌" } },        { "when": "model.reasoning", "text": "{model.reasoning|alias:reasoning}" },        { "map": "state.fast_mode", "cases": { "true": "⚡️", "false": "🐌" } },        {          "when": "context.max_tokens",          "text": " | 📚[{context.pct_used|meter:5:braille}]{context.max_tokens|num}",        },        { "when": "cost.turn_usd", "text": " 💰{cost.turn_usd|fixed:4}" },      ],    },  },}

ساختار

jsonc
{  "schema": "openclaw.usageBar.v1",  "scales": { "<name>": "low-to-high glyphs" }, // رشته (۱ نویسه/نماد) یا آرایه  "aliases": { "<table>": { "<value>": "<label>" } },  "output": {    "sep": "", // قطعه‌های باقی‌مانده را به هم متصل می‌کند    "default": [/* قطعه‌ها */], // مسیر جایگزین برای هر سطح    "surfaces": {      "discord": [/* قطعه‌ها */],      "telegram": [/* قطعه‌ها */],    },  },}

هر سطح یک فهرست مرتب از قطعه‌ها است؛ موتور هرکدام را نمایش می‌دهد، موارد خالی را حذف می‌کند و باقی‌مانده‌ها را با sep به هم متصل می‌کند. سطحی که ورودی ندارد از output.default استفاده می‌کند.

مسیرهای قرارداد

هر قطعه مقادیر را از قرارداد هر نوبت با مسیر نقطه‌ای می‌خواند. مقادیر غایب خالی هستند (بنابراین محافظ when یا یک |fallback قطعه را تمیز نگه می‌دارد).

مسیر معنا
surface شناسهٔ کانال (discord/telegram/و غیره)
agentId / chat_type شناسهٔ عامل مالک / نوع سطح گفتگو
model.id / model.display_name / model.provider شناسهٔ مدل / نام نمایشی / شناسهٔ ارائه‌دهنده
model.actual, model.resolved_ref ارجاع ارائه‌دهنده/مدلی که واقعاً برای نوبت استفاده شده است
model.requested ارجاع ارائه‌دهنده/مدل درخواستی (پیش از بازگشت به گزینهٔ جایگزین)
model.reasoning میزان تلاش (از off تا xhigh)
model.is_fallback / model.is_override مقدار بولی: استفاده از گزینهٔ جایگزین / سنجاق‌شدن مدل
model.override_source / model.auth_mode برچسب منبع بازنویسی / حالت اعتبارنامه (oauth، api-key، token، mixed، aws-sdk، unknown)
state.fast_mode مقدار بولی: سریع در برابر آهسته
state.compactions تعداد Compactionهای نشست
context.max_tokens / context.used_tokens / context.pct_used بودجهٔ پنجره / توکن‌های اشغال‌شده / درصد استفاده‌شده از ۰ تا ۱۰۰
usage.input_tokens / usage.output_tokens / usage.total_tokens مجموع نوبت
usage.cache_read_tokens / usage.cache_write_tokens توکن‌های خواندن از کش و نوشتن در کش برای نوبت
usage.has_tokens / usage.has_split_tokens / usage.has_total_only_tokens شرط‌های محافظ نمایش توکن
usage.cache_hit_pct سهم خواندن از کش در کل توکن‌های پرامپت
usage.last.input_tokens / usage.last.output_tokens / usage.last.cache_hit_pct فقط فراخوانی نهایی مدل (همچنین دارای cache_read_tokens، cache_write_tokens و total_tokens است)
cost.turn_usd / cost.available هزینهٔ تخمینی نوبت / اینکه جدول هزینه‌ای با موفقیت پیدا شده است
timing.duration_ms مدت‌زمان واقعی نوبت
identity.name / identity.emoji / identity.avatar نام هویت عامل / ایموجی / آواتار
session.id شناسهٔ نشست

(پنجره‌های محدودیت نرخ ارائه‌دهنده در این قرارداد نیستند؛ در حال حاضر هیچ مسیر آرایه‌ای وجود ندارد، بنابراین یک قطعهٔ each چیزی برای پیمایش ندارد.)

افعال

یک مقدار را از چپ به راست از افعال عبور دهید؛ بخشی که فعل نباشد، گزینهٔ جایگزین است.

فعل اثر مثال
num شمارش فشرده 272000 -> 272k
fixed:N N رقم اعشار (پیش‌فرض ۲) 0.0377
dur تبدیل ثانیه به مدت‌زمان 14820 -> 4h07m
pct افزودن % 96 -> 96%
inv 100 - x برای تبدیل استفاده‌شده به باقی‌مانده
alias:TABLE جست‌وجو در aliases و بازگرداندن همان مقدار در صورت نبودن در فهرست medium -> 🌗
meter:W:SCALE نوار نمادی W-خانه‌ای برای مقداری بین ۰ تا ۱۰۰ [⣿⣿⠐⠐⠐] (meter:1 = یک نماد)

شکل‌های قطعه

  • { "text": "📚 {context.max_tokens|num}" }: متن ثابت + درون‌یابی.
  • { "when": "<path>", "text": "..." }: فقط اگر مقدار مسیر درست‌نما باشد، نمایش داده می‌شود.
  • { "map": "<path>", "cases": { "true": "⚡", "false": "🐌" } }: تبدیل مقدار به نماد (حالت _default مقادیر منطبق‌نشده را پوشش می‌دهد).
  • { "each": "<array-path>", "item": "{label}" }: پیمایش یک مسیر آرایه‌ای (هیچ مسیر قرارداد فعلی آرایه نیست).

مثال

jsonc
{  "schema": "openclaw.usageBar.v1",  "scales": { "braille": "⠐⡀⡄⡆⡇⣇⣧⣷⣿" },  "aliases": { "reasoning": { "medium": "🌗", "high": "🌕" } },  "output": {    "surfaces": {      "discord": [        { "text": "{model.display_name}" },        { "when": "model.reasoning", "text": " {model.reasoning|alias:reasoning}" },        { "map": "state.fast_mode", "cases": { "true": " ⚡", "false": " 🐌" } },        {          "when": "context.max_tokens",          "text": " | 📚 [{context.pct_used|meter:5:braille}]{context.max_tokens|num}",        },      ],    },  },}

برای نمونه به‌شکل claude-sonnet-4-6 🌗 🐌 | 📚 [⣿⣿⣿⣿⣧]272k نمایش داده می‌شود.

ارائه‌دهندگان + اعتبارنامه‌ها

وقتی هیچ احراز هویت قابل‌استفاده‌ای برای دریافت میزان مصرف ارائه‌دهنده پیدا نشود، مصرف پنهان می‌شود. OpenClaw به‌طور خودکار Pluginهای فعال ارائه‌دهنده را که contracts.usageProviders را اعلام و هر دو تابع resolveUsageAuth و fetchUsageSnapshot را پیاده‌سازی می‌کنند، کشف می‌کند؛ هیچ فهرست مجاز جداگانه‌ای برای ارائه‌دهندگان در هسته وجود ندارد. قرارداد ایستا دامنهٔ کشف را بدون واردکردن همهٔ Pluginهای ارائه‌دهنده محدود نگه می‌دارد. هر Plugin مالک نقطهٔ پایانی بالادستی و نگاشت پاسخ خود است. اسنپ‌شات مشترک، نام طرح‌ها، پنجره‌های سهمیه، موجودی‌ها، مخارج و بودجه‌ها را برای مصرف‌کنندگان CLI، برنامه و رابط کاربری کنترل، مستقل از ارائه‌دهنده نگه می‌دارد.

  • Anthropic (Claude): توکن‌های OAuth در پروفایل‌های احراز هویت. اگر توکن OAuth فاقد دامنهٔ user:profile باشد، در صورت تنظیم‌شدن، از نشست وب claude.ai (CLAUDE_AI_SESSION_KEY، CLAUDE_WEB_SESSION_KEY یا کوکی sessionKey= در CLAUDE_WEB_COOKIE) به‌عنوان گزینهٔ جایگزین استفاده می‌کند. محدودیت‌های مختص مدل و مخارج/بودجه‌های ماهانهٔ مصرف اضافی فعال هنگامی که Anthropic آن‌ها را گزارش کند، لحاظ می‌شوند. در عوض، یک کلید صریح Anthropic Admin API یا پروفایل ارائه‌دهندهٔ sk-ant-admin... که به‌طور خودکار شناسایی شده باشد، هزینهٔ ۳۰روزهٔ سازمان و تاریخچهٔ Messages API را نمایش می‌دهد.
  • ClawRouter: کلید API (CLAWROUTER_API_KEY). هنگام پیکربندی، یک پنجرهٔ بودجهٔ ماهانه و بودجهٔ نوع‌دار دلار آمریکا را نمایش می‌دهد؛ در غیر این صورت، مجموع مخارج و خلاصه‌ای از درخواست/توکن/هزینه را نشان می‌دهد.
  • DeepSeek: کلید API از طریق محیط/پیکربندی/مخزن احراز هویت (DEEPSEEK_API_KEY). موجودی هر ارز گزارش‌شده توسط ارائه‌دهنده را نمایش می‌دهد.
  • GitHub Copilot: توکن‌های OAuth در پروفایل‌های احراز هویت.
  • Gemini CLI: توکن‌های OAuth در پروفایل‌های احراز هویت.
  • MiniMax: کلید API یا پروفایل احراز هویت OAuth مربوط به MiniMax. OpenClaw، minimax، minimax-cn و minimax-portal را به‌عنوان یک سطح سهمیهٔ یکسان MiniMax در نظر می‌گیرد، در صورت وجود OAuth ذخیره‌شدهٔ MiniMax آن را ترجیح می‌دهد و در غیر این صورت به MINIMAX_CODE_PLAN_KEY، MINIMAX_CODING_API_KEY یا MINIMAX_API_KEY بازمی‌گردد. پایش مصرف، میزبان Coding Plan را در صورت پیکربندی از models.providers.minimax-portal.baseUrl یا models.providers.minimax.baseUrl استخراج می‌کند و در غیر این صورت از میزبان MiniMax CN استفاده می‌کند. فیلدهای خام usage_percent / usagePercent در MiniMax به‌معنای سهمیهٔ باقی‌مانده هستند، بنابراین OpenClaw پیش از نمایش آن‌ها را معکوس می‌کند؛ در صورت وجود، فیلدهای مبتنی بر شمارش اولویت دارند.
    • برچسب‌های پنجره در صورت وجود از فیلدهای ساعت/دقیقهٔ ارائه‌دهنده گرفته می‌شوند و سپس به بازهٔ start_time / end_time بازمی‌گردند.
    • اگر نقطهٔ پایانی طرح کدنویسی model_remains را برگرداند، OpenClaw ورودی مدل گفتگو را ترجیح می‌دهد، در نبود فیلدهای صریح window_hours / window_minutes برچسب پنجره را از مهرهای زمانی استخراج می‌کند و نام مدل را در برچسب طرح می‌گنجاند.
  • OpenAI (طرح Codex/ChatGPT): توکن‌های OAuth در پروفایل‌های احراز هویت (در صورت وجود شناسهٔ حساب، هدر ChatGPT-Account-Id ارسال می‌شود). طرح ChatGPT، پنجره‌های قابل‌بازنشانی Codex و در صورت گزارش، موجودی اعتبار را نمایش می‌دهد. اعتبارها همچنان اعتبار ارائه‌دهنده باقی می‌مانند؛ OpenClaw آن‌ها را دلار برچسب‌گذاری نمی‌کند. OPENAI_ADMIN_KEY در صورتی که کلید به داشبورد مصرف دسترسی داشته باشد، هزینهٔ ۳۰روزهٔ سازمان و تاریخچهٔ مصرف تکمیل‌ها را اضافه می‌کند. اعتبارنامه‌های استنتاج هرگز به APIهای سازمان ارسال نمی‌شوند.
  • OpenRouter: کلید API یا کلید API مبتنی بر OAuth (OPENROUTER_API_KEY یا یک پروفایل احراز هویت). نقطهٔ پایانی اعتبار حساب را با نقطهٔ پایانی سهمیهٔ کلید ترکیب می‌کند، بنابراین هنگامی که اعتبارنامه به آن‌ها دسترسی داشته باشد، موجودی/مخارج حساب، بودجهٔ کلید و مصرف روزانه/هفتگی/ماهانه نمایش داده می‌شوند. هر یک از دو نقطهٔ پایانی می‌تواند به‌طور مستقل اسنپ‌شات را غنی کند.
  • Venice: کلید API از طریق محیط/پیکربندی/مخزن احراز هویت (VENICE_API_KEY). موجودی‌های USD و DIEM و همچنین مصرف تخصیص دوره‌ای DIEM را در صورت گزارش نمایش می‌دهد.
  • Xiaomi MiMo: دو سطح مصرف جداگانه. پرداخت به‌ازای مصرف از یک کلید API (XIAOMI_API_KEY) استفاده می‌کند؛ طرح توکن از کلیدی جداگانه (XIAOMI_TOKEN_PLAN_API_KEY) استفاده می‌کند. در حال حاضر هیچ‌کدام پنجره‌های سهمیه را گزارش نمی‌کنند.
  • z.ai: کلید API از طریق محیط/پیکربندی/مخزن احراز هویت (ZAI_API_KEY یا Z_AI_API_KEY).

مرتبط

Was this useful?
On this page

On this page