用途
omni-resilience 是 OmniRoute 的监控与健康(Monitoring & Health)技能,用于在运行时观测供应商健康状况与系统韧性相关指标:供应商健康、熔断器(circuit breaker)状态、p50/p95/p99 延迟指标、预算守卫(budget guard)告警,并可实时检查连接冷却(cooldowns)与模型锁定(model lockouts)。
主要能力
- 系统健康检查:返回 uptime、内存、活跃连接、熔断器状态、速率限制状态、缓存统计。
- 压缩结果缓存统计:提供进程内 compression result-memo 的可观测快照,包括 size、capacity、生命周期 hits/misses/hitRate 以及 1m/5m/15m/1h 窗口速率;轻量(不访问数据库、不读取供应商),适合高频轮询;响应带 Cache-Control: no-store, no-cache, must-revalidate;计数器在进程重启后重置。
- 供应商指标:按供应商返回请求数、成功率、p50/p95/p99 延迟、熔断器状态与已用 token 数。
- 熔断器:避免流量打到故障供应商;状态包括 CLOSED(正常)、OPEN(被阻断)、HALF_OPEN(探测模式,自动恢复);响应包含 circuitBreakers 数组,含每个供应商的状态与 resetAt 时间戳。
- 配额检查:返回各供应商/账户已用与总量 token 与请求数,以及 resetAt 时间戳。
- 预算守卫:可设置会话支出上限,达到上限后可降级或阻断请求;action 支持 degrade(切换到更便宜模型)、block(返回 429)、alert(继续但添加 X-Budget-Warning 响应头)。
- MCP 审计日志:OmniRoute 将每次 MCP 工具调用记录到 mcp_audit 表,可通过 /api/mcp/status 查询服务器状态、心跳与近期审计活动摘要。
- MCP 工具(若 OmniRoute 作为 MCP 服务器):omniroute_get_health、omniroute_get_provider_metrics、omniroute_get_session_snapshot、omniroute_check_quota、omniroute_db_health_check。
使用方式
所有请求需要有效的 Bearer token 或会话 cookie。可通过 POST /api/auth/login 获取 token,或在本地开发中配置 REQUIRE_API_KEY=false。使用该技能需要 OMNIROUTE_URL 与 OMNIROUTE_KEY,具体设置参见入口 SKILL。
常用接口示例:
系统健康:
curl $OMNIROUTE_URL/api/health \
-H "Authorization: Bearer $OMNIROUTE_KEY"
未认证快速检查:
curl $OMNIROUTE_URL/api/health
# → {"ok":true}
供应商熔断器:
curl $OMNIROUTE_URL/api/monitoring/health \
-H "Authorization: Bearer $OMNIROUTE_KEY"
按供应商指标(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
}
配额检查:
curl $OMNIROUTE_URL/api/quota \
-H "Authorization: Bearer $OMNIROUTE_KEY"
预算守卫(设置会话支出上限):
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"
}'
MCP 审计日志查询:
curl "$OMNIROUTE_URL/api/mcp/status" \
-H "Authorization: Bearer $OMNIROUTE_KEY"
其他接口(含 /api/monitoring/compression、/api/provider-metrics 等)均使用相同的 Bearer token 认证方式,响应与请求结构的完整 OpenAPI 规范可通过 GET /api/openapi/spec 或 docs/openapi.yaml 获取。
适用场景
- 需要实时监控多供应商路由的健康与错误率、熔断切换状态时。
- 需要观测延迟分位数(p50/p95/p99)以评估响应质量时。
- 需要在会话级别控制支出、达到预算后自动降级或阻断请求时。
- 需要审计 MCP 工具调用、检查配额余额与数据库健康时。
限制与错误处理
- 所有请求需认证;未提供 token 时仅在 REQUIRE_API_KEY=false 的本地开发场景可用。
- health 接口返回 503 表示 OmniRoute 正在启动,建议 5 秒后重试。
- 熔断器 OPEN 表示供应商被临时阻断,可通过 resetAt 判断自动恢复时间。
- 返回 429 budget_exceeded 表示预算守卫上限已到,需提高上限或等待重置。
- 压缩统计计数器在进程重启后重置,且不访问数据库或供应商。
- 关于收费、价格、具体部署平台等,资料中暂未提供。