freemodelлокальный LLM-шлюз
проверка…

Любой протокол → любая модель

Клиент может говорить на OpenAI или Anthropic — прокси сам переводит. Все включённые провайдеры работают одновременно; модель уходит к тому провайдеру, который её обслуживает.

POST /v1/chat/completions POST /v1/messages GET /v1/models

База: http://127.0.0.1:11440 · ключ на клиенте любой (прокси подставляет свой из пула).

Лог запросов

Все запросы через все провайдеры — время, модель/провайдер, статус.

запросов пока нет
Документация эндпоинты · провайдеры · ключи · клиенты

Эндпоинты

Базовый URL
http://127.0.0.1:11440
Anthropic
POST /v1/messages — любая модель любого включённого провайдера
OpenAI
POST /v1/chat/completions — любая модель любого включённого провайдера
Модели
GET /v1/models — объединённый список всех включённых провайдеров
Указать провайдера
"model":"opencode/glm-5.2" — префикс provider/model форсирует провайдера
Авторизация
необязательна (любое значение; прокси подставляет ключ из пула провайдера)

Провайдеры

GET /api/providers
PUT /api/providers/<id>   { "enabled": false }   # выключить конкретный (единственный переключатель)
POST /api/providers    { "id","kind":"openai-compat","baseUrl","name" }
DELETE /api/providers/<id>

Ключи (per-provider)

GET    /api/keys?provider=opencode
POST   /api/keys?provider=opencode   { "keys":["sk-…","sk-…"] }
DELETE /api/keys?provider=opencode   { "index":0 }
POST   /api/keys/reset?provider=opencode   # сбросить bad/limited метки (0 запросов)

Статусы ключей формируются от реальных запросов: 401→битый, 429→лимит, 200→ok. Прокси не делает proactive-проверок — это экономит токены.

Клиенты

# Claude Code (Anthropic)
export ANTHROPIC_BASE_URL=http://127.0.0.1:11440 ANTHROPIC_API_KEY=dummy; claude "…"
# OpenAI SDK / Cursor / Cline (OpenAI) — любая модель
base_url=http://127.0.0.1:11440/v1  api_key=dummy  model=glm-5.2   # или claude-opus-4-8 / gpt-5.4-mini
# Pi CLI (~/.pi/agent/models.json)
{ "providers":{ "fm":{ "baseUrl":"http://127.0.0.1:11440", "api":"anthropic-messages", "apiKey":"dummy", "models":[{ "id":"claude-opus-4-8" }] } } }

CLI

node keys.js add sk-…        # добавить в активный провайдер
node keys.js                 # список
node keys.js rm 0            # удалить по индексу
node keys.js reset           # сбросить метки