No Persistent Health Monitoring
ManyAI does not implement a background health check system. There is no polling of provider endpoints, no uptime tracking, and no stored health state. Provider status is discovered reactively — a provider is considered failed only when a live API call returns an error.
Session Failure Tracking
The closest equivalent to health monitoring is session-scoped failure tracking via the failedProviders useRef in the main chat component.
- When a provider returns an error, it is added to
failedProviders. - On each subsequent message in the same session, failed providers are skipped by
pickProvider(). - This state is reset when the app is restarted — there is no persistence between launches.
- Up to
MAX_RETRIES = 8providers are tried before giving up on a single message.
No Provider Penalty System
ManyAI does not implement weighted scoring or penalty-based routing. Provider selection is based solely on the static ROUTING_ORDER and bestFor task-type matching. A provider that failed in the last session is treated as fully available when the app is reopened.
Comparison with ManyAI Desktop
ManyAI Desktop implements a persistent health check system (lib/healthCheck.ts) that polls providers on a configurable interval and applies a getPenalty() score to downweight degraded providers in smart routing. ManyAI mobile has no equivalent — the mobile app prioritizes simplicity and low background resource usage.