Install
openclaw skills install @udaymanish6/openclaw-output-metrics-footerInstall, configure, maintain, or troubleshoot a compact OpenClaw output footer that shows live context usage, output tokens, Codex quota remaining, model used, and optional subagent token aggregate under text responses across Discord, Telegram, Slack, WhatsApp, Signal, Matrix, Mattermost, and other supported providers.
openclaw skills install @udaymanish6/openclaw-output-metrics-footerUse this skill when an OpenClaw workspace should show compact runtime metrics under text channel outputs.
Default footer:
_🟢 ↑54k ↓157 · 21%ctx · 5h 89% · kimi-k2.6:cloud_
With subagent aggregate:
_🟢 ↑54k ↓157 · 21%ctx · 5h 89% · openai-codex/gpt-5.5 · sub ↑31k ↓4k_
llm_output for actual model/token metrics.message_sending to append the footer without adding prompt tokens.5h 89% when available.Copy the bundled extension template:
mkdir -p ~/.openclaw/extensions/openclaw-output-metrics-footer
cp -R assets/extension-template/* ~/.openclaw/extensions/openclaw-output-metrics-footer/
Add this plugin config to ~/.openclaw/openclaw.json:
{
"plugins": {
"allow": ["openclaw-output-metrics-footer"],
"load": {
"paths": ["~/.openclaw/extensions/openclaw-output-metrics-footer"]
},
"entries": {
"openclaw-output-metrics-footer": {
"enabled": true,
"hooks": {
"allowConversationAccess": true
},
"config": {
"enabledChannels": [],
"cacheMs": 120000,
"quotaCacheMs": 60000,
"contextReserveTokens": 40000,
"appendSubagents": true,
"disabledChannels": [],
"disabledConversations": []
}
}
}
}
}
Then validate and restart:
openclaw config validate
openclaw gateway restart
The plugin can run for any OpenClaw text channel that emits message_sending.
Use enabledChannels to restrict to specific providers, such as ['discord', 'telegram']. Leave it empty to enable all text providers.
Use disabledChannels to disable whole providers.
Use disabledConversations to disable specific channel/chat/conversation IDs.
Recommended defaults:
#general, #coding, #reasoning, Telegram work chats, and audit channels.#feed and incident channels like #system if noise matters.Fields:
enabledChannels: optional provider allowlist. Empty means all supported text channels.cacheMs: window for matching recent LLM output and subagent output.quotaCacheMs: minimum interval between Codex quota refreshes.contextReserveTokens: safety reserve included in context percentage calculations.appendSubagents: append sub ↑x ↓y when nearby subagent usage is detected.disabledChannels: provider IDs where no footer should be appended.disabledConversations: channel/chat/conversation IDs where no footer should be appended.🟢: context under 50% and quota over 50%.🟡: context 50-80% or quota 20-50%.🔴: context over 80% or quota under 20%.If context and quota disagree, show the worse status.
Read references/implementation.md before changing the extension code.