关于 omni-resilience
omni-resilience 是面向运维人员的 OmniRoute 监控与健康检查技能。它通过 API 端点报告服务商健康状况、延迟百分位、断路器、配额和预算保护状态,并说明相关 MCP 工具。
主要功能
- 01检查系统和服务商健康状况
- 02查看断路器状态
- 03查看服务商延迟百分位
- 04监控配额余额和重置时间
- 05配置预算保护操作
适用场景
- 01诊断服务商故障和延迟
- 02检查断路器是否阻断流量
- 03跟踪配额用量和重置时间
- 04设置超出消费限额时的处理方式
MCP 相关
将 OmniRoute 用作 MCP 服务时,可提供健康状况、服务商指标、会话快照、配额检查和数据库健康检查工具。技能还介绍了通过 API 查询 MCP 服务状态和审计活动。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ cheaper-inference/ omniroute --skill omni-resilience安装后在 Claude Code 中输入/omni-resilience确认已加载。
详细介绍
概述
监控提供商健康状态、熔断器状态、p50/p95/p99 延迟指标,以及预算防护警报。实时检查连接冷却时间和模型锁定状态。
身份验证
所有请求都需要有效的 Bearer 令牌或会话 Cookie。通过 POST /api/auth/login 获取令牌,或在本地开发时配置 REQUIRE_API_KEY=false。
端点
GET /api/monitoring/health
系统健康检查
返回系统健康信息,包括运行时间、内存、熔断器和速率限制
curl http://localhost:20128/api/monitoring/health \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
GET /api/monitoring/compression
获取压缩结果备忘录统计信息
进程内压缩结果备忘录可观测性快照——包含大小、容量、生命周期命中数/未命中数/命中率,以及 1m/5m/15m/1h 时间窗口的速率。轻量级(不访问数据库,也不读取提供商数据),可配合 GET /api/monitoring/health 使用,适合频繁轮询。响应会附带 Cache-Control: no-store, no-cache, must-revalidate。计数器会在进程重启时重置。
curl http://localhost:20128/api/monitoring/compression \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
GET /api/provider-metrics
获取提供商指标
curl http://localhost:20128/api/provider-metrics \
-H "Authorization: Bearer $OMNIROUTE_TOKEN"
负载
有关详细的请求/响应架构,请参阅完整的 OpenAPI 规范 GET /api/openapi/spec 或 docs/openapi.yaml。
OmniRoute — 监控与健康状态
需要 OMNIROUTE_URL 和 OMNIROUTE_KEY。有关设置,请参阅 入口点 SKILL。
系统健康状态
curl $OMNIROUTE_URL/api/health \
-H "Authorization: Bearer $OMNIROUTE_KEY"
返回:运行时间、内存、活动连接、熔断器状态、速率限制状态、缓存统计信息。
无需身份验证的快速检查:
curl $OMNIROUTE_URL/api/health
# → {"ok":true}
提供商熔断器
熔断器可防止流量到达故障提供商。
状态:CLOSED(正常)、OPEN(已阻止)、HALF_OPEN(探测模式——自动恢复)。
curl $OMNIROUTE_URL/api/monitoring/health \
-H "Authorization: Bearer $OMNIROUTE_KEY"
响应包含 circuitBreakers 数组,其中包含各提供商的状态和 resetAt 时间戳。
各提供商指标(p50/p95/p99)
curl $OMNIROUTE_URL/api/providers/metrics \
-H "Authorization: Bearer $OMNIROUTE_KEY"
各提供商的响应结构:
{
"provider": "anthropic",
"requests": 1247,
"successRate": 0.994,
"latency": { "p50": 820, "p95": 2100, "p99": 3800 },
"circuitState": "CLOSED",
"tokensUsed": 2847000
}
通过 MCP(如果 OmniRoute 是你的 MCP 服务)
omniroute_get_health → full system health snapshot
omniroute_get_provider_metrics → p50/p95/p99 + circuit state per provider
omniroute_get_session_snapshot → cost, tokens, errors for current session
omniroute_check_quota → quota balance + percent remaining + reset time
omniroute_db_health_check → diagnose + auto-repair database drift
配额检查
curl $OMNIROUTE_URL/api/quota \
-H "Authorization: Bearer $OMNIROUTE_KEY"
返回各提供商/账户已使用和总计的令牌数与请求数,以及 resetAt 时间戳。
预算防护(支出限额)
设置会话支出限额;达到限额时会降低请求处理级别或阻止请求:
curl -X POST $OMNIROUTE_URL/api/budget/guard \
-H "Authorization: Bearer $OMNIROUTE_KEY" \
-H "Content-Type: application/json" \
-d '{
"limitUsd": 5.00,
"action": "degrade",
"degradeTo": "openai/gpt-4o-mini"
}'
action 选项:
degrade— 达到限额时切换到更便宜的模型block— 达到限额时返回 429alert— 继续处理,但添加X-Budget-Warning标头
MCP 审计日志
OmniRoute 会将每次 MCP 工具调用记录到 mcp_audit 表中。通过 API 查询:
curl "$OMNIROUTE_URL/api/mcp/status" \
-H "Authorization: Bearer $OMNIROUTE_KEY"
返回:服务状态、心跳、近期审计活动摘要。
错误
- 健康端点返回
503→ OmniRoute 正在启动;5 秒后重试 - 熔断器状态为
OPEN→ 提供商暂时被阻止;查看resetAt,了解自动恢复时间 429 budget_exceeded→ 已达到预算防护限额;提高限额或等待重置