Telesis/

LLM provider uptime with real inference

Check OpenRouter, OpenAI, Anthropic, and Gemini with real inference requests, bounded token usage, model restrictions, and organization-scoped credentials.

Measure generated output

A healthy check requires HTTP 200, valid JSON, and nonempty generated text. Empty output, blocked responses, rate limits, authentication failures, and provider errors fail the check.

Each request asks for Reply with OK. and allows at most 64 output tokens. There are no executor retries. Choose a model compatible with this small budget; reasoning can consume the budget without returning visible text. OpenRouter may route between upstream providers.

Configure the provider and model

For openrouter, openai, anthropic, or gemini, configure TELESIS_LLM_<PROVIDER>_API_KEY and TELESIS_LLM_<PROVIDER>_MODEL. The check model must exactly match the environment setting. Doctor reports presence, never key values.

  • OpenRouter: https://openrouter.ai/api/v1/chat/completions
  • OpenAI: https://api.openai.com/v1/chat/completions
  • Anthropic: https://api.anthropic.com/v1/messages
  • Gemini: https://generativelanguage.googleapis.com/v1beta/models/MODEL:generateContent
Configure the provider and modelbash
# Supply TELESIS_LLM_OPENROUTER_API_KEY through your secret manager.
export TELESIS_LLM_OPENROUTER_MODEL=openai/gpt-4.1-nano
telesis doctor --output=json
telesis check https://openrouter.ai/api/v1/chat/completions \
  --type=uptime --mode=local --timeout=30s --output=json \
  --config='{"llm":{"provider":"openrouter","model":"openai/gpt-4.1-nano"}}'

Read the evidence and its limits

Results retain provider, configured model, latency, generated-text presence, and output-token count. Prompt text, generated text, and keys are not stored in result evidence.

The result describes this model, credential, and runner region. An OpenRouter probe measures the routed service, not the uptime of every upstream provider. Each execution consumes provider credits; hourly checks are the starting default.

Prepare scheduled inference

Configure TELESIS_LLM_ORG_ID on the runner to match the monitored organization's ID. Other organizations cannot use those configured credentials. Create a service with the exact provider endpoint; redirects are not followed.

After deploying the updated API and runner, select the provider under an uptime monitor's Probe type, or generate a monitor specification from model environment variables. Check organization capacity before applying it.

Prepare scheduled inferencebash
node scripts/llm-monitor-spec.mjs YOUR_ORGANIZATION_ID > /tmp/llm-monitors.json
node plugins/telesis-dev/skills/telesis-dev/scripts/ensure-uptime-checks.mjs \
  /tmp/llm-monitors.json --dry-run
node plugins/telesis-dev/skills/telesis-dev/scripts/ensure-uptime-checks.mjs \
  /tmp/llm-monitors.json