Concept internals

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

چیست

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

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

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

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

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

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

  • اعتبارنامه‌های اشتراک/راه‌اندازی Anthropic همچنان بازه‌های سهمیه Claude و بودجه‌های اختیاری مصرف اضافی را نمایش می‌دهند. برای نمایش سابقه سازمانی Usage and Cost 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 همیشه یک خط ساده Usage: X in / Y out را رندر می‌کند (به‌همراه پسوندهای کش و هزینه تخمینی، در صورت موجود بودن). فقط /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>": "نشانک‌های کم‌به‌زیاد" }, // رشته (1 نشانک/نویسه) یا آرایه  "aliases": { "<table>": { "<value>": "<label>" } },  "output": {    "sep": "", // اجزای باقی‌مانده را به هم متصل می‌کند    "default": [/* pieces */], // مسیر جایگزین برای هر سطح    "surfaces": {      "discord": [/* pieces */],      "telegram": [/* pieces */],    },  },}

هر سطح یک فهرست مرتب از اجزا است؛ موتور هرکدام را رندر می‌کند، موارد خالی را حذف می‌کند و موارد باقی‌مانده را با 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 بودجهٔ پنجره / توکن‌های اشغال‌شده / درصد استفاده از 0 تا 100
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..100، پیش‌فرض 2) 0.0377
dur تبدیل ثانیه به مدت‌زمان 14820 -> 4h07m
pct افزودن % 96 -> 96%
inv 100 - x برای تبدیل استفاده‌شده به باقی‌مانده
alias:TABLE جست‌وجو در aliases، بازگرداندن عین مقدار در صورت نبودن در فهرست medium -> 🌗
meter:W:SCALE نوار نویسه‌ای W-خانه‌ای برای مقداری بین 0 تا 100 [⣿⣿⠐⠐⠐] (meter:1 = یک نویسه)

fixed:N فقط یک عدد صحیح ده‌دهی کامل از 0 تا 100 را می‌پذیرد. آرگومان‌های نامعتبر دقت باعث می‌شوند آن درون‌یابی خالی باشد.

meter:W:SCALE فقط یک عرض عدد صحیح ده‌دهی کامل از 1 تا 100 را می‌پذیرد. برای استفاده از مقدار پیش‌فرض 5، عرض را خالی بگذارید (meter::braille)؛ عرض‌های نامعتبر باعث می‌شوند آن درون‌یابی خالی باشد.

شکل‌های قطعه

  • { "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... که به‌طور خودکار تشخیص داده شده باشد، هزینهٔ 30روزهٔ سازمان و تاریخچهٔ Messages API را نشان می‌دهد.
  • ClawRouter: کلید API (CLAWROUTER_API_KEY). در صورت پیکربندی، یک پنجرهٔ بودجهٔ ماهانه و بودجهٔ USD نوع‌دار را نشان می‌دهد؛ در غیر این صورت، هزینه‌کرد تجمیعی و خلاصه‌ای از درخواست/توکن/هزینه را نمایش می‌دهد.
  • DeepSeek: کلید API از طریق محیط/پیکربندی/ذخیره‌گاه احراز هویت (DEEPSEEK_API_KEY). موجودی هر ارز گزارش‌شده از سوی ارائه‌دهنده را نشان می‌دهد.
  • GitHub Copilot: توکن‌های OAuth در نمایه‌های احراز هویت.
  • Gemini CLI: توکن‌های OAuth در نمایه‌های احراز هویت.
  • MiniMax: کلید API یا نمایهٔ احراز هویت MiniMax OAuth. 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 استخراج می‌کند و در غیر این صورت از میزبان CN متعلق به MiniMax استفاده می‌کند. فیلدهای خام 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 وقتی کلید به Usage Dashboard دسترسی داشته باشد، هزینهٔ 30روزهٔ سازمان و تاریخچهٔ مصرف تکمیل‌ها را اضافه می‌کند. اعتبارنامه‌های استنتاج هرگز به APIهای سازمان ارسال نمی‌شوند.
  • OpenRouter: کلید API یا کلید API مبتنی بر OAuth (OPENROUTER_API_KEY یا یک نمایهٔ احراز هویت). نقطهٔ پایانی اعتبارهای حساب را با نقطهٔ پایانی سهمیهٔ کلید ترکیب می‌کند، بنابراین موجودی/هزینه‌کرد حساب، بودجهٔ کلید و مصرف روزانه/هفتگی/ماهانه، در صورت دسترسی اعتبارنامه به آن‌ها، نمایش داده می‌شوند. هر یک از نقطه‌های پایانی می‌تواند به‌طور مستقل نماگرفت را غنی‌تر کند.
  • Venice: کلید API از طریق محیط/پیکربندی/ذخیره‌گاه احراز هویت (VENICE_API_KEY). موجودی‌های USD و DIEM را همراه با مصرف تخصیص دوره‌ای DIEM، در صورت گزارش، نشان می‌دهد.
  • Xiaomi MiMo: دو سطح مصرف جداگانه. پرداخت بر اساس مصرف از یک کلید API (XIAOMI_API_KEY) استفاده می‌کند؛ Token Plan از کلیدی جداگانه (XIAOMI_TOKEN_PLAN_API_KEY) استفاده می‌کند. در حال حاضر هیچ‌یک پنجره‌های سهمیه را گزارش نمی‌کنند.
  • z.ai: کلید API از طریق محیط/پیکربندی/ذخیره‌گاه احراز هویت (ZAI_API_KEY یا Z_AI_API_KEY).

مرتبط

Was this useful?
On this page

On this page