omni-usage-logs — скилл для Claude Code: логи вызовов и аналитика
Скилл даёт агенту доступ к API OmniRoute: логи вызовов, расход токенов, задержки и бюджеты по всем подключениям.
npx skills add cheaper-inference/OmniRoute --skill omni-usage-logs -a claude-codeЧто делает omni-usage-logs
Скилл превращает агент в клиента HTTP API OmniRoute: он ходит на эндпоинты /api/usage/* локального сервера на порту 20128 и приносит вам логи вызовов, суммы по токенам и расход. Спрашивать можно обычной фразой, агент сам соберёт curl с нужными параметрами.
Внутри набор маршрутов под разные вопросы. /api/usage/call-logs отдаёт сами логи, /api/usage/call-logs/filters подсказывает, какие провайдеры, модели, аккаунты и ключи вообще встречались в вызовах. /api/usage/cache-health считает соотношение записи и чтения prompt-кэша по call_logs за окно времени: сколько вызовов тёплых, холодных, перезаписанных, плюс разбивка по моделям. Есть /api/usage/model-latency-stats с p50/p95/p99, TTFT и токенами в секунду по каждой паре провайдер-модель, и эндпоинты бюджета.
Что нужно заранее: запущенный OmniRoute и Bearer-токен. Без него не уйдёт ни один запрос — токен берут через POST /api/auth/login, а для локальной разработки можно выставить REQUIRE_API_KEY=false. Держите его в переменной OMNIROUTE_TOKEN: все примеры запросов читают именно её.
Какие задачи решает
- посмотреть логи вызовов с фильтром по провайдеру и статусу
- свести расход токенов по всем соединениям
- найти модель, которая тормозит: p95 и TTFT по каждой паре провайдер-модель
- разобраться, сколько токенов уходит на запись в prompt-кэш
- выставить лимит бюджета и увидеть, сколько уже израсходовано
Примеры запросов агенту
- Покажи логи вызовов за последний день, только ошибки, с фильтром по провайдеру
- Собери статистику задержек по моделям: p95, TTFT и токены в секунду
- Проверь, сколько бюджета уже съедено на текущем соединении
Как установить omni-usage-logs
1Через Skills CLI (Vercel)
npx skills add cheaper-inference/OmniRoute --skill omni-usage-logs -a claude-code2Вручную: положить файлы
~/.claude/skills/omni-usage-logs/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/omni-usage-logs/
1Через Skills CLI (Vercel)
npx skills add cheaper-inference/OmniRoute --skill omni-usage-logs -a codex2Вручную: положить файлы
.agents/skills/omni-usage-logs/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add cheaper-inference/OmniRoute --skill omni-usage-logs -a cursor2Вручную: положить файлы
.cursor/skills/omni-usage-logs/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install cheaper-inference/OmniRoute omni-usage-logs2Вручную: положить файлы
.github/skills/omni-usage-logs/SKILL.md1Через Skills CLI (Vercel)
npx skills add cheaper-inference/OmniRoute --skill omni-usage-logs -a gemini-cli2Командой платформы
gemini skills install https://github.com/cheaper-inference/OmniRoute --path skills/omni-usage-logsВручную: положить файлы
.devin/skills/omni-usage-logs/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add cheaper-inference/OmniRoute --skill omni-usage-logs -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
Из того же набора34
Весь набор →Похожие
Вопросы о omni-usage-logs
Как установить omni-usage-logs в Claude Code?
Выполните npx skills add cheaper-inference/OmniRoute --skill omni-usage-logs -a claude-code. Файл скилла окажется по пути ~/.claude/skills/omni-usage-logs/SKILL.md.
Что делает omni-usage-logs?
Открывает агенту эндпоинты /api/usage/* OmniRoute: логи вызовов, аналитика расхода, задержки по моделям, состояние бюджета и prompt-кэша. Фильтровать можно по провайдеру, модели, времени, статусу и стоимости.
Что нужно, чтобы скилл заработал?
Доступный инстанс OmniRoute и Bearer-токен: его получают через POST /api/auth/login либо выставляют REQUIRE_API_KEY=false при локальной разработке. Без токена запросы отклоняются.
Исходный текст
SKILL.md · MIT
---
name: omni-usage-logs
description: Access detailed call logs and usage analytics. Filter by provider, model, time range, status, and cost. Export logs and aggregate token usage across all connections.
---
<!-- generated by src/lib/agentSkills/generator.ts; manual edits will be overwritten -->
## Overview
Access detailed call logs and usage analytics. Filter by provider, model, time range, status, and cost. Export logs and aggregate token usage across all connections.
## Authentication
All requests require a valid Bearer token or session cookie. Obtain a token via `POST /api/auth/login` or configure `REQUIRE_API_KEY=false` for local development.
## Endpoints
### GET /api/usage/analytics
Get usage analytics
```bash
curl http://localhost:20128/api/usage/analytics \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### GET /api/usage/call-logs
Get call logs
```bash
curl http://localhost:20128/api/usage/call-logs \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### GET /api/usage/call-logs/filters
Get call log filter options
Distinct providers, models, accounts and API keys seen in call logs, plus every configured API key (id and name only). Feeds the Logs tab filter dropdowns.
```bash
curl http://localhost:20128/api/usage/call-logs/filters \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### GET /api/usage/call-logs/{id}
Get a specific call log
```bash
curl http://localhost:20128/api/usage/call-logs/{id} \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### GET /api/usage/{connectionId}
Get usage for a specific connection
```bash
curl http://localhost:20128/api/usage/{connectionId} \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### GET /api/usage/history
Get usage history
```bash
curl http://localhost:20128/api/usage/history \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### GET /api/usage/logs
Get usage logs
```bash
curl http://localhost:20128/api/usage/logs \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### GET /api/usage/proxy-logs
Get proxy logs
```bash
curl http://localhost:20128/api/usage/proxy-logs \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### GET /api/usage/request-logs
Get request logs
```bash
curl http://localhost:20128/api/usage/request-logs \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### GET /api/usage/budget
Get usage budget status
Returns current budget limits and consumption.
```bash
curl http://localhost:20128/api/usage/budget \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### POST /api/usage/budget
Configure usage budget
Set or update budget limits for usage tracking.
```bash
curl -X POST http://localhost:20128/api/usage/budget \
-H "Authorization: Bearer $OMNIROUTE_TOKEN" \
-H "Content-Type: application/json" \
-d '{}'
```
### GET /api/usage/cache-health
Get prompt-cache health summary
Summarizes the `write/read` cache ratio from `call_logs` for a time window:
distribution (p50/p90/p99/max of cache-write tokens), warm/cold/rewrite/uncached
call counts, the "heavy write" outlier share (10x the window median, floored at
1024 tokens — Anthropic's cache-creation minimum), and a per-model breakdown.
Only successful (`status = 200`) calls with a non-null cache column are counted.
```bash
curl http://localhost:20128/api/usage/cache-health \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### GET /api/usage/model-latency-stats
Get per-model/provider latency statistics
Aggregates `usage_history` rows into per-(provider, model) latency stats (avg/p50/p95/p99, std-dev, TTFT, tokens/sec) over a rolling window. Falls back from successful-only to all-sample rows when the successful count is below `minSamples`.
```bash
curl http://localhost:20128/api/usage/model-latency-stats \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### GET /api/usage/budget/bulk
GET usage › budget › bulk
```bash
curl http://localhost:20128/api/usage/budget/bulk \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### GET /api/usage/codex-reset-credit
GET usage › codex reset credit
```bash
curl http://localhost:20128/api/usage/codex-reset-credit \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### POST /api/usage/codex-reset-credit
POST usage › codex reset credit
```bash
curl -X POST http://localhost:20128/api/usage/codex-reset-credit \
-H "Authorization: Bearer $OMNIROUTE_TOKEN" \
-H "Content-Type: application/json" \
-d '{}'
```
### GET /api/usage/combo-forecast
GET usage › combo forecast
```bash
curl http://localhost:20128/api/usage/combo-forecast \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### GET /api/usage/combo-health
GET usage › combo health
```bash
curl http://localhost:20128/api/usage/combo-health \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### GET /api/usage/combo-health-autopilot
GET usage › combo health autopilot
```bash
curl http://localhost:20128/api/usage/combo-health-autopilot \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### GET /api/usage/combo-health-dashboard
GET usage › combo health dashboard
```bash
curl http://localhost:20128/api/usage/combo-health-dashboard \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### GET /api/usage/combo-scoring-inspector
GET usage › combo scoring inspector
```bash
curl http://localhost:20128/api/usage/combo-scoring-inspector \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### GET /api/usage/combo-trace/{id}
GET usage › combo trace › <id>
```bash
curl http://localhost:20128/api/usage/combo-trace/{id} \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### GET /api/usage/om-usage
GET usage › om usage
```bash
curl http://localhost:20128/api/usage/om-usage \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### GET /api/usage/provider-limits
GET usage › provider limits
```bash
curl http://localhost:20128/api/usage/provider-limits \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### POST /api/usage/provider-limits
POST usage › provider limits
```bash
curl -X POST http://localhost:20128/api/usage/provider-limits \
-H "Authorization: Bearer $OMNIROUTE_TOKEN" \
-H "Content-Type: application/json" \
-d '{}'
```
### GET /api/usage/provider-window-costs
GET usage › provider window costs
```bash
curl http://localhost:20128/api/usage/provider-window-costs \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### GET /api/usage/quota
GET usage › quota
```bash
curl http://localhost:20128/api/usage/quota \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### GET /api/usage/requests-by-provider-date
GET usage › requests by provider date
```bash
curl http://localhost:20128/api/usage/requests-by-provider-date \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### GET /api/usage/route-explain/{id}
GET usage › route explain › <id>
```bash
curl http://localhost:20128/api/usage/route-explain/{id} \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### GET /api/usage/token-limits
GET usage › token limits
```bash
curl http://localhost:20128/api/usage/token-limits \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### POST /api/usage/token-limits
POST usage › token limits
Save a per-key token limit. A key holds one limit per scope and reset interval, so daily, weekly and monthly limits for the same scope coexist. Without `id`, a new limit is added (or the key's limit for the same scope and interval is updated); with `id`, that limit is updated.
```bash
curl -X POST http://localhost:20128/api/usage/token-limits \
-H "Authorization: Bearer $OMNIROUTE_TOKEN" \
-H "Content-Type: application/json" \
-d '{}'
```
### DELETE /api/usage/token-limits
DELETE usage › token limits
```bash
curl -X DELETE http://localhost:20128/api/usage/token-limits \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
### GET /api/usage/utilization
GET usage › utilization
```bash
curl http://localhost:20128/api/usage/utilization \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
```
## Payloads
See the full OpenAPI specification at `GET /api/openapi/spec` or `docs/openapi.yaml` for detailed request/response schemas.
© cheaper-inference · MIT · cheaper-inference/OmniRoute