llm-ping is an open-source LLM API health diagnostics platform. It helps teams verify connectivity, authentication, model availability, protocol compatibility, latency, usage metadata, streaming capability, and operational stability across many LLM providers.
Think of it as ping for LLM APIs, with the workflows of Postman, Uptime Kuma, and AI infrastructure monitoring in one local-first toolkit.
- Multi-provider adapter architecture for OpenAI, OpenAI Compatible gateways, Anthropic Claude, Google Gemini, Azure OpenAI, Vertex AI Gemini, Ollama, LM Studio, LocalAI, and custom providers.
- CLI commands for
check,providers,init,monitor,export, anddoctor. - A local Fastify API service bound to
127.0.0.1. - A Web UI built with React, TypeScript, Vite, and Tailwind.
- A Tauri desktop shell for Windows, macOS, and Linux.
- SQLite storage for provider configuration and redacted check history.
- Export support for JSON, CSV, Markdown, and HTML reports.
- Unified error classification with repair suggestions.
- Redaction for API keys, tokens, authorization headers, and other sensitive headers.
corepack enable
pnpm install
pnpm buildpnpm --filter @llm-ping/cli dev init
pnpm --filter @llm-ping/cli dev providers
pnpm --filter @llm-ping/cli dev check --output pretty
pnpm --filter @llm-ping/cli dev monitor --interval 60Pure JSON output is safe for automation:
pnpm --filter @llm-ping/cli dev check --output jsonBy default, CLI commands read providers from the local SQLite database llm-ping.db. You can change the database path with --db <path> or LLM_PING_DB.
pnpm --filter @llm-ping/server devEndpoints include:
GET /healthGET /providersPOST /providersDELETE /providers/:idPOST /checks/:idPOST /checksGET /historyGET /export?format=json|csv|markdown|html
pnpm --filter @llm-ping/server dev
pnpm --filter @llm-ping/web devOpen http://127.0.0.1:5173.
The UI includes Dashboard, Provider management, batch checks, Monitor, History, Export, and Settings screens.
Typical workflow:
- Open
Providers. - Add a Provider with type, Base URL, API key or access token, model name, timeout, retry count, headers, and streaming options.
- Click the test button in the Provider list to run a single check.
- Open
Batchto check all enabled Providers. - Open
Historyto inspect previous results. - Open
Exportto download JSON, CSV, Markdown, or HTML reports.
Provider configuration and check history are stored in llm-ping.db by default. The Web UI, local API server, and CLI share the same database.
docker compose up --buildThe API is exposed only on localhost: 127.0.0.1:4545.
Adapters live in packages/core/src/adapters. Each adapter owns:
- Request construction
- Authentication headers
- Model list checks
- Minimal generation checks
- Usage parsing
- Provider-specific response parsing
- Error hints
Register new adapters in packages/core/src/adapters/registry.ts.
llm-ping redacts API keys, access tokens, authorization headers, and custom secret headers before storing or exporting results. Debug output must never include full secrets.
pnpm typecheck
pnpm test
pnpm lint
pnpm buildTests use mocks and must not require real API keys.
MIT