mirror of
https://github.com/hansjone/oclaw.git
synced 2026-10-10 19:43:19 +08:00
重构主控编排与运行时预热链路,统一工作区提示词/专家调度协议并补齐 wiki 记忆注入与写回闭环。
同时收敛启动与运维脚本默认行为(含 wiki worker)、更新 Admin 可观测性与相关测试,降低首轮时延并提高运行稳定性。 Made-with: Cursor
This commit is contained in:
parent
4a23b715a2
commit
dbbe3add6a
14438 changed files with 2693620 additions and 2546 deletions
59
openclaw/docs/concepts/usage-tracking.md
Normal file
59
openclaw/docs/concepts/usage-tracking.md
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
---
|
||||
summary: "Usage tracking surfaces and credential requirements"
|
||||
read_when:
|
||||
- You are wiring provider usage/quota surfaces
|
||||
- You need to explain usage tracking behavior or auth requirements
|
||||
title: "Usage Tracking"
|
||||
---
|
||||
|
||||
# Usage tracking
|
||||
|
||||
## What it is
|
||||
|
||||
- Pulls provider usage/quota directly from their usage endpoints.
|
||||
- No estimated costs; only the provider-reported windows.
|
||||
- Human-readable status output is normalized to `X% left`, even when an
|
||||
upstream API reports consumed quota, remaining quota, or only raw counts.
|
||||
- Session-level `/status` and `session_status` can fall back to the latest
|
||||
transcript usage entry when the live session snapshot is sparse. That
|
||||
fallback fills missing token/cache counters, can recover the active runtime
|
||||
model label, and prefers the larger prompt-oriented total when session
|
||||
metadata is missing or smaller. Existing nonzero live values still win.
|
||||
|
||||
## Where it shows up
|
||||
|
||||
- `/status` in chats: emoji‑rich status card with session tokens + estimated cost (API key only). Provider usage shows for the **current model provider** when available as a normalized `X% left` window.
|
||||
- `/usage off|tokens|full` in chats: per-response usage footer (OAuth shows tokens only).
|
||||
- `/usage cost` in chats: local cost summary aggregated from OpenClaw session logs.
|
||||
- CLI: `openclaw status --usage` prints a full per-provider breakdown.
|
||||
- CLI: `openclaw channels list` prints the same usage snapshot alongside provider config (use `--no-usage` to skip).
|
||||
- macOS menu bar: “Usage” section under Context (only if available).
|
||||
|
||||
## Providers + credentials
|
||||
|
||||
- **Anthropic (Claude)**: OAuth tokens in auth profiles.
|
||||
- **GitHub Copilot**: OAuth tokens in auth profiles.
|
||||
- **Gemini CLI**: OAuth tokens in auth profiles.
|
||||
- JSON usage falls back to `stats`; `stats.cached` is normalized into
|
||||
`cacheRead`.
|
||||
- **OpenAI Codex**: OAuth tokens in auth profiles (accountId used when present).
|
||||
- **MiniMax**: API key or MiniMax OAuth auth profile. OpenClaw treats
|
||||
`minimax`, `minimax-cn`, and `minimax-portal` as the same MiniMax quota
|
||||
surface, prefers stored MiniMax OAuth when present, and otherwise falls back
|
||||
to `MINIMAX_CODE_PLAN_KEY`, `MINIMAX_CODING_API_KEY`, or `MINIMAX_API_KEY`.
|
||||
MiniMax's raw `usage_percent` / `usagePercent` fields mean **remaining**
|
||||
quota, so OpenClaw inverts them before display; count-based fields win when
|
||||
present.
|
||||
- Coding-plan window labels come from provider hours/minutes fields when
|
||||
present, then fall back to the `start_time` / `end_time` span.
|
||||
- If the coding-plan endpoint returns `model_remains`, OpenClaw prefers the
|
||||
chat-model entry, derives the window label from timestamps when explicit
|
||||
`window_hours` / `window_minutes` fields are absent, and includes the model
|
||||
name in the plan label.
|
||||
- **Xiaomi MiMo**: API key via env/config/auth store (`XIAOMI_API_KEY`).
|
||||
- **z.ai**: API key via env/config/auth store.
|
||||
|
||||
Usage is hidden when no usable provider usage auth can be resolved. Providers
|
||||
can supply plugin-specific usage auth logic; otherwise OpenClaw falls back to
|
||||
matching OAuth/API-key credentials from auth profiles, environment variables,
|
||||
or config.
|
||||
Loading…
Add table
Add a link
Reference in a new issue