KKeyDealerDocs
PUBLIC APIДокументация доступна без регистрации

Подключите модель
за один вечер.

OpenAI-совместимый API, один ключ и публичные цены в рублях. Здесь есть всё, чтобы оценить интеграцию до создания аккаунта.

OpenAI SDK cURL и обычный HTTP Streaming через SSE Настольный KD Code
01

Быстрый старт

Три шага до первого ответа

Примеры используют привычный OpenAI SDK. Меняются только ключ, Base URL и имя модели.
Для длинных агентных задач рекомендуем KD Code

Без локальной оптимизации повторная отправка истории, файлов и результатов инструментов может существенно увеличивать счёт. Для максимального эффекта от управления контекстом ведите такие задачи в KD Code.

До 90% экономии в отдельных сценариях локальной оптимизации контекста. Ориентир из исторического контрольного теста от 01.09.2026: Gemini 3 Flash, шесть выводов инструментов. Это не замер каждой модели или текущего релиза. На вашей задаче экономия может быть ниже или нулевой.

Перед большой задачей
1
Создайте ключ

После регистрации откройте «API-ключи». Полное значение показывается один раз.

2
Сохраните секрет

Положите kd_live_… в переменную KEYDEALER_API_KEY.

3
Отправьте запрос

Выберите модель из каталога и используйте пример ниже.

Что установить
cURL уже готов к работе

Можно использовать любой HTTP-клиент. SDK нужен только для удобства.

Первый запрос · curl
curl https://api.keydealer.ru/v1/chat/completions \
  -H "Authorization: Bearer $KEYDEALER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "sonnet-5",
    "messages": [
      {"role": "user", "content": "Объясни API простыми словами"}
    ]
  }'

Перед длинной сессией

Для длинных агентных задач рекомендуем KD Code

Без локальной оптимизации повторная отправка истории, файлов и результатов инструментов может существенно увеличивать счёт. Для максимального эффекта от управления контекстом ведите такие задачи в KD Code.
Установка и работа в клиенте — не одно и то же

Оптимизация KD Code работает только в задачах внутри приложения. Одна установка не уменьшает расход в другом клиенте; подключение к API само по себе не включает локальный движок KD Code.

Установить KD Code

Используйте прежний ключ KeyDealer и тот же баланс. KD Code бесплатен, запросы к моделям оплачиваются по тарифам вашего аккаунта. Экономия достигается сокращением повторного контекста, а не отдельной скидкой на токен.

До 90% экономии в отдельных сценариях локальной оптимизации контекста. Ориентир из исторического контрольного теста от 01.09.2026: Gemini 3 Flash, шесть выводов инструментов. Это не замер каждой модели или текущего релиза. На вашей задаче экономия может быть ниже или нулевой.

API остаётся доступен для собственных интеграций: контролируйте размер истории, повторные чтения и лимиты расходов. Серверные KD Trim и кэш готовых ответов имеют отдельные условия и не заменяют локальное управление контекстом KD Code.

Экономия зависит от вашей задачи

Размер экономии зависит от модели, задачи, инструментов и управления историей. На коротких запросах или уже оптимизированном контексте её может не быть. Конкретный процент заранее не гарантируется.

02

Авторизация

Один заголовок для всех моделей

Каждый запрос к защищённым методам передаёт ключ по стандартной схеме Bearer.
HTTP header
Authorization: Bearer kd_live_…
Ключ — это секрет

Не вставляйте его во frontend-код, мобильное приложение или публичный репозиторий. Делайте запросы со своего сервера.

01
Показывается один раз

KeyDealer сохраняет необратимый отпечаток, а не полное значение.

02
Отдельный ключ на проект

Так проще ограничивать расходы и отзывать доступ без остановки других систем.

03
Отзыв без ожидания

Скомпрометированный ключ можно отключить в личном кабинете.

03

Модели и цены

Каталог загружается прямо из API

Таблица показывает публичный каталог, включая позиции с нулевой ставкой, и честный статус каждого протокола: доступен или на проверке.
Загружаем каталог
МодельНазначениеВход / 1 млнВыход / 1 млнПротоколыВозможностиPrompt cache
Получаем актуальные данные из GET /v1/models
Передавайте только публичный id из каталога. Префиксные и короткие ID внутренних маршрутов поставщика не являются частью API KeyDealer и отклоняются. verified означает проверку контролируемым запросом, unsupported — известное отсутствие функции, unknown — KeyDealer пока ничего не обещает.
health.status показывает наблюдаемое состояние модели у поставщика. outage предупреждает о текущем сбое, но сам по себе не отключает маршрут: запрос продолжает использовать обычные повторы и резервные пути. Статус обновляется автоматически, а health.bars содержит почасовую историю за последние 168 часов.
Цены могут меняться

Закупочная стоимость маршрутов обновляется, поэтому ставки для будущих запросов тоже могут измениться. Актуальная базовая цена всегда опубликована в GET /v1/models, персональная — в GET /v1/balance. Уже принятый запрос рассчитывается по ставке, зафиксированной при его приёме.

04

Chat Completions

Знакомый формат запроса и ответа

Основной метод принимает историю сообщений и возвращает OpenAI-совместимый объект completion.
POST/v1/chat/completionsapplication/json
modelstring · обязательно

Публичный ID из GET /v1/models.

messagesarray · обязательно

От 1 до 1 000 сообщений с ролями system, user и assistant.

max_tokensinteger · необязательно

Максимальный объём ответа: от 1 до 65 536 токенов.

streamboolean · необязательно

true включает потоковый ответ через Server-Sent Events.

tools / functionsarray · зависит от модели

Описание функций для tool calling. Проверяйте capabilities.tools.

tool_choice / function_callstring | object

Принудительный выбор работает только при forced_tool_choice = verified.

response_formatobject · зависит от модели

JSON-режим заявлен только при capabilities.json_output = verified.

parallel_tool_callsboolean · зависит от модели

Параллельные вызовы имеют отдельный статус в каталоге.

Никаких молчаливых отказов

Неизвестное поле верхнего уровня возвращает 400 unsupported_parameter. Если запрошенная возможность ещё не проверена, ответ содержит x-kd-unverified-capabilities. Поля с таким статусом используйте только после собственного теста.

Все поля запроса
Пример ответа · сокращён
{
  "id": "chatcmpl_kd_…",
  "object": "chat.completion",
  "model": "sonnet-5",
  "choices": [{
    "index": 0,
    "message": { "role": "assistant", "content": "…" },
    "finish_reason": "stop"
  }],
  "usage": {
    "prompt_tokens": 9584,
    "completion_tokens": 126,
    "total_tokens": 9710,
    "prompt_tokens_details": {
      "estimated_route_context_tokens": 9500,
      "context_value_is_estimate": true
    }
  },
  "keydealer_billing": {
    "currency": "RUB",
    "charge_source": "usage",
    "input_rub_per_million": 30,
    "output_rub_per_million": 30,
    "charged_microrubles": 291300,
    "operation_id": "kd_req_…"
  }
}
05

Messages и Responses

Один ключ, разные wire-протоколы

Проверенный endpoint выбирается по задаче и статусу конкретной модели в GET /v1/models.
POST /v1/messagesAnthropic-compatible

Используется Claude Code и клиентами Messages API. Поддерживает заголовок x-api-key и Bearer-ключ KeyDealer.

POST /v1/responsesOpenAI Responses

Контракт для современных агентных клиентов. До открытия модели поле protocols.responses остаётся review.

gpt-5-6-terraCodex CLI · проверено

Работает через wire_api = "responses": streaming, terminal tools и возврат tool results подтверждены публичным E2E.

GET /v1/modelsисточник истины

Проверяйте protocols.chat_completions, protocols.anthropic_messages и protocols.responses отдельно.

GET /v1/models/info?id=…точный выбор endpoint

Для Codex выбирайте responses, для Claude Code — anthropic_messages из массива endpoints[] со статусом available. Одиночное поле endpoint оставлено только для старых клиентов.

Codex CLI · рабочая конфигурация
# ~/.codex/config.toml
model = "gpt-5-6-terra"
model_provider = "keydealer"

[model_providers.keydealer]
name = "KeyDealer"
base_url = "https://api.keydealer.ru/v1"
wire_api = "responses"
requires_openai_auth = true

# Один раз сохраните ключ в локальном хранилище Codex:
export KEYDEALER_API_KEY="kd_live_…"
printf '%s' "$KEYDEALER_API_KEY" | codex login --with-api-key
codex
Fail-closed до оплаты

Если базовый протокол не подтверждён, KeyDealer возвращает model_under_review до резерва баланса и до обращения к модельному сервису.

Подключить Claude Code
VIS

Входные изображения

Проверяйте не только значок vision

Каталог подтверждает приём изображения конкретным маршрутом, но пока не показывает, кто именно прочитал его внутри маршрута.

capabilities.vision=verified означает, что KeyDealer получил правильный ответ на контрольную картинку. Это не гарантия точного OCR, понимания любого скриншота или нативной обработки выбранной моделью. Значение unknown означает отсутствие подтверждённого результата, а не доказанное отсутствие зрения.

ПОДТВЕРЖДЁННЫЙ ВВОД

Смотрите живой каталог

Перед отправкой изображения проверяйте capabilities.vision в GET /v1/models. Список меняется после новых проб и не должен храниться в клиенте вручную.

ДВА НАБЛЮДАЕМЫХ ПУТИ

Прямой и с помощником

В проверке 7 сентября ответы маршрутов Opus сообщили, что изображение сначала читает Gemini, а выбранная модель отвечает по описанию. У ряда других маршрутов ответы указывали на прямую обработку. API пока не возвращает отдельный признак пути.

ГРАНИЦА ДОКАЗАТЕЛЬСТВА

Маршрут не раскрывает исполнителя

Определение пути основано на согласованном ответе моделей, а не на отдельном поле протокола. Для чувствительных изображений используйте Opus только если допустима обработка вспомогательной моделью.

06

Deep Research

Актуальные данные из открытого интернета

Подтверждённый встроенный исследовательский маршрут сейчас один: Grok Multi-Agent через Responses API.
POST/v1/responsesдо нескольких минут
modelобязательно

Используйте публичный ID grok-4-20-multi-agent.

inputстрока · обязательно

Опишите тему, глубину, формат результата и требования к источникам.

streamboolean · необязательно

true возвращает события SSE и завершает поток событием response.completed.

toolsне передавать

Веб-исследование встроено в этот маршрут. Клиентские функции ему не требуются.

cURL · исследование с актуальными источниками
curl https://api.keydealer.ru/v1/responses \
  -H "Authorization: Bearer $KEYDEALER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "grok-4-20-multi-agent",
    "input": "Сравни актуальные тарифы трёх сервисов, проверь официальные страницы и укажи ссылки на источники."
  }'
GET/v1/modelsClaude server web search · fail-closed
anthropic_server_web_searchсейчас unknown

Ни один Claude-маршрут сейчас не публикуется как проверенный для серверного поиска. Недоказанная возможность блокируется до резерва баланса.

web_search_20250305server tool

Gateway умеет валидировать и передавать этот инструмент, но пропустит его только после новой маршрутной пробы со статусом verified.

searchполе поставщика

Общая пометка поиска в каталоге поставщика не доказывает поддержку конкретного Messages-инструмента и не повышает capability автоматически.

usage.server_tool_useтребуется для проверки

Возврат к verified потребует наблюдаемого поискового результата, цитат, terminal usage и корректного списания.

Не отправляйте Claude server search по старому примеру

После обновления маршрута ранее подтверждённая модель перестала принимать инструмент. До новой успешной пробы используйте Grok Multi-Agent выше либо отдельные методы /v1/search и /v1/web/fetch.

GPT Research пока не заявлен доступным

o3-deep-research не опубликован в живом GET /v1/models, поэтому KeyDealer не принимает его и не резервирует баланс. Маршрут откроется только после появления модели и завершённого теста web_search_preview с usage.

Списание только по завершённому usage

Исследование может использовать много внутренних рассуждений. KeyDealer списывает фактические входные и выходные токены только после корректно завершённого ответа; при оборванном потоке резерв возвращается.

Как считается цена
07

Интернет для агентов

Поиск и чтение страниц — двумя простыми методами

Оба метода доступны любому агенту с ключом KeyDealer и управляются одним переключателем «Доступ к интернету» в деталях ключа.
Обычный запрос к модели не выходит в интернет автоматически

/v1/chat/completions, обычный /v1/responses и /v1/messages работают только с переданным контекстом. Для актуальных данных используйте Grok Multi-Agent выше либо вызовите /v1/search или /v1/web/fetch и передайте результат модели.

POST /v1/searchактуальный веб-поиск

Принимает query и необязательный max_results от 1 до 10. Возвращает готовый ответ, найденные ссылки, usage и точное списание.

POST /v1/web/fetchчтение конкретной страницы

Принимает единственное поле url и возвращает очищенный текст публичной HTTP(S)-страницы размером до 2 МБ. Квоты по ключу и ограничения параллельности по ключу нет.

cURL · search и fetch
curl https://api.keydealer.ru/v1/search \
  -H "Authorization: Bearer $KEYDEALER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query":"Что изменилось в Node.js за последний месяц?","max_results":5}'

curl https://api.keydealer.ru/v1/web/fetch \
  -H "Authorization: Bearer $KEYDEALER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://nodejs.org/en/blog"}'
Внутренняя сеть не становится доступной

fetch блокирует localhost, частные и служебные IP, cloud metadata, домены KeyDealer, нестандартные порты и повторно проверяет каждый redirect. Cookies, клиентские заголовки и авторизация на страницу не пересылаются.

search выполняет полноценное исследование через Grok 4.20 Multi-Agent, поэтому может занять несколько минут и списывает фактические токены. fetch включён в сервис без отдельного списания. Новые и существующие ключи получают доступ по умолчанию; его можно целиком выключить для конкретного ключа.
08

Image API · 11 моделей

Генерация и редактирование изображений

GPT Image, Gemini, Nano Banana и Grok работают по опубликованной цене за изображение. FLUX — без списаний после подтверждённого пополнения от 100 ₽.
POST/v1/images/generationsapplication/json
Платные GPT Image и бесплатные FLUX после пополненияЗагружаем цены
МодельРазмерLowMediumHighФорматы
Получаем актуальные цены из GET /v1/models
modelобязательно

Выберите любую image-модель из живого GET /v1/models?kind=image: GPT Image, Gemini, Nano Banana, Grok Imagine или FLUX.

promptобязательно

Текстовое описание изображения. Текст не сохраняется в истории кабинета.

qualitylow | medium | high

По умолчанию medium. Чем выше качество, тем выше фиксированная цена.

size3 размера

1024x1024, 1024x1536 или 1536x1024.

output_formatпо каталогу модели

Допустимые PNG, JPEG или WebP перечислены в capabilities.output_formats. Изображение возвращается в b64_json.

nтолько 1

Один запрос создаёт одно изображение. Для серии отправляйте отдельные запросы.

image / imagesпо возможностям модели

До двух PNG, JPEG или WebP референсов для моделей с image_references: verified. Внешние URL не скачиваются.

seed / stepsтолько FLUX

Воспроизводимый seed и число шагов от 1 до 100. FLUX сейчас возвращает JPEG 1024×1024.

X-KD-Idempotency-Key и X-KD-Idempotency-Scope обязательны. Перед генерацией получите свежий image_idempotency_scope из GET /v1/balance. Для каждой логической генерации создавайте новый ключ длиной 16–128 ASCII-символов; после неопределённого ответа повторяйте неизменённый запрос с тем же ключом и scope.
cURL · GPT Image
KD_IMAGE_SCOPE="$(
  curl -fsS https://api.keydealer.ru/v1/balance \
    -H "Authorization: Bearer $KEYDEALER_API_KEY" | \
  python3 -c 'import json,sys; print(json.load(sys.stdin)["image_idempotency_scope"])'
)"
KD_IMAGE_REQUEST_ID="$(uuidgen)"
curl https://api.keydealer.ru/v1/images/generations \
  -H "Authorization: Bearer $KEYDEALER_API_KEY" \
  -H "Content-Type: application/json" \
  -H "X-KD-Idempotency-Key: $KD_IMAGE_REQUEST_ID" \
  -H "X-KD-Idempotency-Scope: $KD_IMAGE_SCOPE" \
  -d '{
    "model": "gpt-image-2",
    "prompt": "Предметная фотография кроссовок на светлом фоне",
    "quality": "medium",
    "size": "1024x1024",
    "output_format": "png"
  }'
cURL · бесплатная FLUX
KD_IMAGE_SCOPE="$(
  curl -fsS https://api.keydealer.ru/v1/balance \
    -H "Authorization: Bearer $KEYDEALER_API_KEY" | \
  python3 -c 'import json,sys; print(json.load(sys.stdin)["image_idempotency_scope"])'
)"
KD_IMAGE_REQUEST_ID="$(uuidgen)"
curl https://api.keydealer.ru/v1/images/generations \
  -H "Authorization: Bearer $KEYDEALER_API_KEY" \
  -H "Content-Type: application/json" \
  -H "X-KD-Idempotency-Key: $KD_IMAGE_REQUEST_ID" \
  -H "X-KD-Idempotency-Scope: $KD_IMAGE_SCOPE" \
  -d '{
    "model": "flux-2-klein-4b",
    "prompt": "Плакат кофейни в конструктивистском стиле",
    "seed": 42,
    "steps": 28
  }'
Доступ и результат проверяемы

GET /v1/balance → image_equivalents заранее показывает цену и access.eligible. Тестовый бонус не открывает FLUX: учитываются только платежи со статусом approved суммарно от 100 ₽. Успешный ответ содержит base64-файл и точное нулевое либо платное списание.

Полный контракт
GPT Image работает по тексту. FLUX дополнительно принимает референсы только как data:image/...;base64,...; это исключает скачивание произвольных клиентских URL через наш сервер. Повтор с тем же idempotency key не запускает модель и не списывает генерацию второй раз. Готовый base64-результат сервер не хранит и повторно не выдаёт.
09

Rerank

Бесплатно пересортируйте найденные документы

Два проверенных маршрута ранжируют фрагменты по релевантности запросу. После подтверждённых пополнений от 100 ₽ отдельного списания нет.
POST/v1/rerankapplication/json
modelобязательно

Выберите публичный ID из GET /v1/models/rerank. Внутренние префиксные маршруты не принимаются.

queryобязательно

Строка или объект {"text":"…"} до 32 000 символов.

documentsобязательно

Строки или объекты с полем text. Лимит — 1 000 либо 512 документов в зависимости от модели.

top_nнеобязательно

Сколько лучших результатов вернуть. Точный максимум опубликован в capabilities.max_documents.

return_documentsboolean

При true KeyDealer возвращает исходный текст документа из вашего запроса вместе с оценкой.

truncateEND | NONE

END разрешает усечение длинного текста, NONE требует принять его целиком.

cURL · бесплатный rerank
curl https://api.keydealer.ru/v1/rerank \
  -H "Authorization: Bearer $KEYDEALER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "nemotron-rerank-vl-1b-v2",
    "query": "как уменьшить задержку API",
    "documents": ["Включите streaming", "Увеличьте размер картинки", "Используйте connection pooling"],
    "top_n": 2,
    "return_documents": true
  }'
Проверяемо и без скрытого списания

GET /v1/balance → rerank_access показывает доступ. Успешный ответ содержит terminal usage и charged_microrubles: "0". В журнале остаются только счётчики, статус и время — не запрос и не документы.

Полный контракт
Для длинных агентных задач рекомендуем KD Code

Без локальной оптимизации повторная отправка истории, файлов и результатов инструментов может существенно увеличивать счёт. Для максимального эффекта от управления контекстом ведите такие задачи в KD Code.

До 90% экономии в отдельных сценариях локальной оптимизации контекста. Ориентир из исторического контрольного теста от 01.09.2026: Gemini 3 Flash, шесть выводов инструментов. Это не замер каждой модели или текущего релиза. На вашей задаче экономия может быть ниже или нулевой.

Контекст и расходы
10

Токены и списания

Формулу можно проверить

Фактический usage приходит вместе с ответом, а точное списание связывается с операцией в истории кабинета.
GET/v1/balanceBearer API key

Метод возвращает точный остаток, персональный коэффициент и фактические ставки аккаунта. Ответ не кэшируется.

cURL · проверка остатка
curl https://api.keydealer.ru/v1/balance \
  -H "Authorization: Bearer $KEYDEALER_API_KEY"

{
  "object": "balance",
  "currency": "RUB",
  "pricing_scope": "account_effective",
  "balance_microrubles": "6320000",
  "balance_rub": "6.32",
  "price_multiplier_bps": 10000,
  "token_equivalents": [{
    "model": "sonnet-5",
    "pricing_scope": "account_effective",
    "input_tokens": "210666",
    "output_tokens": "210666",
    "input_rub_per_million": 30,
    "output_rub_per_million": 30
  }]
}
СТОИМОСТЬprompt_tokens × цена входа
+ completion_tokens × цена выхода
Ставки указаны в рублях за 1 000 000 токенов
До запроса

Две области цены

GET /v1/models показывает базовый каталог, а GET /v1/balance — ваши account-effective ставки и индивидуальные условия.

При приёме

Ставка фиксируется

Изменение каталога не пересчитывает уже принятый запрос: фактический usage оплачивается по ставке, с которой создан резерв.

В кабинете

Операция совпадает

x-request-id и keydealer_billing.operation_id ведут к той же записи в истории.

Что входит во входные токены

prompt_tokens может включать служебный контекст выбранного маршрута. Каталог публикует оценку, а после измерений — p50, p95 и размер выборки. Объём может зависеть от запроса; источник истины — фактический usage.

Политика биллинга
Кэш

Response cache

Повторный ответ без нового списания

Отдельная добровольная настройка запроса, не режим хранения обычного журнала.

Для поддерживаемого запроса Chat Completions укажите kd_cache: true, temperature: 0 и stream: false. Инструменты и вызовы функций исключены; n не задан или равен 1. Кэш привязан к вашему ключу, модели и полному телу запроса. Совпадение даёт готовый ответ без нового списания; первый запрос оплачивается обычно.

Тело POST /v1/chat/completions · замените PUBLIC_MODEL_ID на ID из каталога
{"model":"PUBLIC_MODEL_ID","messages":[{"role":"user","content":"Кратко объясни HTTP"}],"temperature":0,"stream":false,"kd_cache":true}

Это явное исключение из режима без хранения содержимого: тело ответа хранится зашифрованным с TTL (текущая настройка — 24 часа). Текст запроса не сохраняется в кэше; для поиска используется отпечаток. Без kd_cache: true запись не создаётся. Не включайте кэш, если хранение ответа вам не подходит. Наличие опции не гарантирует попадание в кэш; результат проверяйте по served_from_cache и фактическому списанию.

11

KD Trim

Галочка, которая режет счёт на длинных сессиях

Настройка ключа на стороне шлюза: устаревшие выводы инструментов не пересылаются модели целиком. Ставить ничего не нужно.

Агент с каждым ходом пересылает всю историю заново, включая логи, диффы и содержимое файлов, прочитанные десять шагов назад. KD Trim заменяет тела таких устаревших выводов короткой пометкой прямо перед отправкой. Модель не подменяется: отвечает выбранная вами модель, но по укороченному входу, поэтому ответ может отличаться от ответа на полную историю. Свежие результаты остаются целиком. Для Responses API (Codex) Trim пока не применяется.

НАСТРОЙКА КЛЮЧА

Новые ключи — включено

Для новых ключей KD Trim включён по умолчанию. Настройки существующих ключей сохранены. Проверить и изменить: «API-ключи» → нужный ключ → KD Trim. В KD Code локальная архивация отключает повторную серверную обрезку.

ИЛИ ЗАГОЛОВКОМ

Для одного запроса

Заголовок x-kd-trim: 1 включает обрезку, x-kd-trim: off выключает. Явный заголовок всегда сильнее настройки ключа.

x-kd-trim: 1
ЧТО В ОТВЕТЕ

Видимый след

Заголовок x-kd-trim сообщает, сколько выводов и символов вырезано. В журнале кабинета появляется оценка сэкономленного.

cleared_tool_results=4
Границы честности

На коротких запросах экономия может быть нулевой. Списание считается по фактически отправленным токенам, поэтому результат зависит от длины задачи и модели.

KD Code для длинных задач

API остаётся доступен для собственных интеграций: контролируйте размер истории, повторные чтения и лимиты расходов. Серверные KD Trim и кэш готовых ответов имеют отдельные условия и не заменяют локальное управление контекстом KD Code.

12

KD Code 0.3.44

Настольный агент с одной командой установки

Вы выбираете проект сами, запускаете сессии, работаете с файлами и моделями KeyDealer, а приложение показывает фактические списания и уменьшает повторный служебный контекст в длинных задачах.
Что понадобится

macOS 13+ на Apple Silicon, Windows 10/11 x64 или Linux x64 и ключ KeyDealer из кабинета. Управление рабочим контекстом уже встроено в приложение.

Создать ключ
Экономия включается в работе внутри KD Code

Оптимизация KD Code работает только в задачах внутри приложения. Одна установка не уменьшает расход в другом клиенте; подключение к API само по себе не включает локальный движок KD Code.

Используйте прежний ключ KeyDealer и тот же баланс. KD Code бесплатен, запросы к моделям оплачиваются по тарифам вашего аккаунта. Экономия достигается сокращением повторного контекста, а не отдельной скидкой на токен.

До 90% экономии в отдельных сценариях локальной оптимизации контекста. Ориентир из исторического контрольного теста от 01.09.2026: Gemini 3 Flash, шесть выводов инструментов. Это не замер каждой модели или текущего релиза. На вашей задаче экономия может быть ниже или нулевой.

1
УСТАНОВКА

Одна команда для вашей системы

Установщик проверит отдельную bootstrap-подпись манифеста, затем размер и SHA-256 пакета, установит и запустит KD Code.

macOS · Terminal
curl -fsSL https://keydealer.ru/downloads/kd-code/install.sh | sh
Windows · PowerShell
irm https://keydealer.ru/downloads/kd-code/install.ps1 | iex
Linux x64 · Терминал
curl -fsSL https://keydealer.ru/downloads/kd-code/install-linux.sh | sh

Linux: Ubuntu 24.04 с графической сессией, Python 3, libsecret-tools и системной связкой ключей. Для профиля AppArmor установщик может один раз запросить sudo.

2
ПОДКЛЮЧЕНИЕ

Введите ключ KeyDealer

Приложение проверит ключ и сохранит его в Keychain на macOS, Credential Manager на Windows или системной связке Secret Service на Linux. Он не записывается в файлы выбранного проекта.

3
ПРОЕКТ

Создайте или выберите проект

KD Code не подключает папки автоматически. Работа начинается в выбранном проекте, а доступ к пути за его пределами требует отдельного подтверждения.

Что входит в KD Code

Проекты и изолированные сессии, работа с файлами и командами, выбор моделей, продолжение после перезапуска, управление рабочим контекстом и фактическая стоимость каждой сессии.

Все преимущества и загрузка
Проверенные настройки уже выставлены

Новая установка получает профиль balanced + active: Gemini 3 Flash (gemini-3-flash) находит нужные файлы, а KD Engine передаёт их основной модели как уже выполненные чтения. Выбранная модель по-прежнему пишет код и отвечает пользователю. Недоказанные экспериментальные этапы скрыты и не могут быть включены из клиентского интерфейса.

После первого уже разрешённого успешного теста KD Code автоматически подхватывает только простую безопасную команду длительностью до 15 секунд, записывает её в .kd/validation.json и повторяет после правок. Shell-цепочки, команды записи и медленные наборы не включаются; для них доступна адресная настройка. Финальный полный прогон обязателен. Оба доказанных этажа можно отключить или вернуть кнопкой «Вернуть рекомендуемые настройки».

Как настроить
12 из 12 верных ответов за один запрос основной модели

Поиск по публичному tRPC · 06.09.2026 · Sonnet 5. Автоматический поисковый профиль: 4,36 ₽ за 12 задач, медиана до ответа 9,44 с, 144 900 входных токенов.

Живой прогон выполнен на KD Code 0.3.15. На всех 12 задачах движок подготовил полные выдержки до ответа; внешних вызовов библиотекаря и исполнения программ не потребовалось. В 0.3.16 исправлен выбор профиля на составных запросах; нового платного замера не было.

Один публичный репозиторий, 12 фиксированных задач и одна основная модель. Относительно исторического v27 стоимость ниже на 9,85%, но медиана времени выше на 19,19%. Это не гарантия такой же скорости, цены или точности на другом проекте. PROOF-LEDGER №58.

ВСТРОЕНО В KD ENGINE

Поиск по проекту с локальным индексом

KD Engine внутри приложения находит определения, использования и подходящие файлы в разрешённых папках. При неоднозначном вопросе библиотекарь помогает выбрать выдержки. Индекс хранится локально; выбранные данные передаются моделям для ответа. Модель ответа выбираете вы.

ЛЕДЖЕР В РУБЛЯХ

Сколько стоила сессия, видно сразу

Рядом с каждой сессией стоит сумма завершённых списаний в рублях. Не прогноз интерфейса и не счёт в конце месяца.

KD LAYERS · 2 ЭТАЖА

Два доказанных этажа работают из коробки

KD Locate заранее находит нужные файлы, а KD Verify запускает разрешённую быструю проверку сразу после правки без отдельного обращения к модели. Оба этажа включены одним рекомендуемым тумблером; их можно отключить, перенастроить или вернуть к рекомендуемым значениям.

−15,05% В ИЗМЕРЕННОМ A/B

Экономия, которая не стирает память

После первого хода крупные вложения остаются в локальном архиве. Длинные выводы тестов, линтера, typecheck и сборки превращаются в точный дайджест с exit code и ошибками; полный оригинал можно дочитать. В платном A/B на 10 задачах стоимость снизилась на 15,05% к обычному архиву при одинаковой приёмке результатов.

ОДИН КЛЮЧ

Семейства моделей под одним ключом

Claude, GPT, Gemini, GLM и остальной каталог KeyDealer выбираются в приложении. Рядом с моделью видно цену, статус и поддержку инструментов.

КАТАЛОГ + СВОИ MCP

Ваши приложения рядом с проектом

Подключайте GitHub, Linear, Notion и другие сервисы из каталога или добавляйте свой MCP-сервер. В разделе «Приложения» — 12 пресетов, 7 категорий и подборки по задачам. Доступ выдаёте вы; права аккаунта и лимиты сервиса продолжают действовать.

ТЕКСТ + РЕФЕРЕНСЫ

Image Studio внутри KD Code

Опубликованные модели изображений, их размеры, качество, форматы и цены собираются из каталога KeyDealer. Каталог обновляется при смене модели, возвращении в приложение и раз в несколько минут, поэтому серверные изменения появляются без перезапуска. Создание запускается только в настольном приложении, а референсы добавляются только вами.

ФАЙЛЫ + TERMINAL

Файлы, команды и тесты, а не только чат

Агент читает и меняет файлы выбранного проекта, запускает команды и прогоняет тесты. Каждый шаг виден в диалоге и остаётся проверяемым.

ТОЛЬКО ПО ВАШЕМУ РАЗРЕШЕНИЮ

Поставьте задачу через Telegram

Включите KD Code Remote, привяжите @KeyDealer_robot и разрешите конкретный проект. Каждая команда /kd создаёт новую изолированную локальную сессию; Plan включён по умолчанию, а Build разрешается отдельно на этом компьютере. Обычные сообщения и поддержка агента не запускают.

ЛОКАЛЬНО

Работа продолжается после перезапуска

Сессии и состояние хранятся на этом компьютере. После закрытия приложения можно вернуться к задаче, а не начинать её заново.

ПО ЗАПРОСУ · ЛОКАЛЬНО

Сохраняйте подход, а не повторяйте объяснение

По вашей просьбе агент сохраняет описание процедуры локально, находит его и проверяет, изменились ли указанные файлы. Каждое обращение требует одноразового согласия. В обычные запросы память не добавляется автоматически; её использование всё равно расходует токены.

ПОД ВАШИМ КОНТРОЛЕМ

Границы задаёте вы

Папка не подключается сама. По умолчанию обращение за пределы выбранного проекта требует подтверждения. Явный режим «Полный доступ» разрешает работать без повторных запросов, пока вы его не отключите.

ЛОКАЛЬНАЯ КАРТА · ВАШ КОНТРОЛЬ

Личный Jarvis связывает ваши проекты

Вы сами выбираете папки через системное окно и отдельно подтверждаете доступ. Jarvis локально строит визуальную карту файлов и связей, отвечает с реальными источниками и передаёт модели только подходящие фрагменты для конкретного вопроса. Доступ можно отозвать одной кнопкой.

БЕЗ СКРЫТОГО РАСХОДА

Скиллы подключаются по запросу

Каталоги скиллов из других агентских приложений не подмешиваются в обычный запрос. На чужой машине такой каталог занимал больше двадцати тысяч токенов в каждом обращении.

БЕЗ СЛУЧАЙНЫХ ПЕРЕБИВАНИЙ

Уточнение не сбивает текущий ход

Следующее сообщение ждёт, пока агент закончит. Вмешаться немедленно можно отдельным действием «Скорректировать».

ИЗОЛИРОВАНО

Отдельная история приложения

Сессии и настройки других агентских приложений не импортируются и не смешиваются с вашей работой.

BETA

Обновление видно прямо в приложении

KD Code проверяет общий канал и показывает заметное уведомление всем установкам, когда выходит новая версия. Установка запускается только по вашему нажатию; перед ней приложение проверяет Ed25519-подпись, размер и SHA-256 архива.

Без Apple Developer ID и Authenticode

KD Code распространяется напрямую с сайта. Первая установка проверяет detached SSH-подпись манифеста встроенным bootstrap-ключом, затем размер и SHA-256 пакета. Команды curl | sh и irm | iex до запуска этой проверки доверяют HTTPS-домену keydealer.ru; fingerprint bootstrap-ключа опубликован на странице KD Code для независимой сверки. Gatekeeper или SmartScreen всё равно могут показать предупреждение.

12A

KD Layers · KD Code 0.3.42+

Два доказанных этажа одной настройкой

KD Locate сокращает первичный поиск основной моделью, а KD Verify локально проверяет правку без отдельного модельного хода.

Как включить: откройте KD Code → Настройки → в разделе KD Engine выберите Маршрутизация → включите «Рекомендуемая маршрутизация». Если приложение не показывает пометку об изменённых расширенных настройках, больше ничего настраивать не нужно.

1
ОТКРОЙТЕ

Настройки → KD Engine → Маршрутизация

Это единственный экран управления KD Layers. Экспериментальные этапы здесь не показываются.

2
ВКЛЮЧИТЕ

Рекомендуемая маршрутизация

Тумблер включает KD Locate и KD Verify вместе. Основная выбранная модель продолжает писать код и проверять итог.

3
ВОССТАНОВИТЕ

Вернуть рекомендуемые настройки

Используйте эту кнопку, если меняли исполнителя, режим передачи файлов или локальную проверку и хотите вернуться к доказанной конфигурации.

ЭТАЖ 1 · KD LOCATE

Поиск нужных файлов

По умолчанию gemini-3-flash находит файлы, а режим «Готовые чтения · рекомендуется» передаёт их основной модели как уже прочитанные. В расширенных настройках можно выбрать другую доступную модель, основную модель или локальный исполнитель.

ЭТАЖ 2 · KD VERIFY

Проверка после правки

Рекомендуемое значение — «Запускать затронутые тесты». Проверку выполняет локальный runtime проекта, поэтому сам запуск не расходует токены. Финальный полный прогон остаётся обязательным.

БЕЗ СКРЫТОЙ ПОДМЕНЫ

Основная модель остаётся автором

Вспомогательная модель выполняет только подписанный поисковый этап. Сложную правку, объяснение и итог даёт выбранная пользователем основная модель.

Когда нужны расширенные настройки

Открывайте их только для конкретной задачи: заменить модель KD Locate, вернуть совместимый режим передачи файлов, выключить проверку после правки или настроить адресные проверки долгого проекта. Для обычной работы оставьте рекомендуемые значения.

ПЕРЕДАЧА ФАЙЛОВ

Оставьте «Готовые чтения»

Режим history доказан: он не просто показывает модели выдержку, а представляет найденные файлы как выполненные чтения. system оставлен для совместимости и диагностики.

АДРЕСНЫЕ ПРОВЕРКИ

Найти → проверить → подтвердить

Выберите проект, нажмите «Найти безопасные команды», просмотрите список и только затем нажмите «Подтвердить и создать карту». До подтверждения ничего не запускается и существующий файл не перезаписывается.

НЕТ КОМАНД

Проверьте runtime проекта

Если Node.js, Python, Go, Rust или нужный тестовый сценарий не установлен, KD Verify не сможет выполнить тест. Установите runtime или добавьте обычную тестовую команду и повторите поиск.

Что именно считается безопасным автоподхватом

Только уже разрешённая пользователем, успешно завершившаяся простая тестовая команда из белого списка с первым временем до 15 секунд. Shell-цепочки, перенаправления, команды записи, coverage, watch, обновление снапшотов и медленные полные наборы автоматически не включаются. KD Layers не получает новых разрешений.

Как должна помогать LLM

Сначала проверить версию KD Code, затем вести по пути «Настройки → KD Engine → Маршрутизация». Без конкретной причины не менять расширенные настройки; при сомнении предлагать «Вернуть рекомендуемые настройки». Не включать скрытые экспериментальные этапы, не складывать проценты двух этажей и не объявлять локальный тест успешным без runtime и фактического результата.

12B

KD Research · KDX-01

Исследование проекта до первой правки

Функция KD Engine автоматически работает во время поиска и чтения кода, даже если пользователь остаётся в режиме Build.

KD Research связывает формулировку задачи с определениями, местами вызова и точными диапазонами в разрешённых файлах. Для точного символа он возвращает его тело, связи и используемые определения того же файла за границами тела с явной пометкой области видимости. После первого успешного edit, write или apply_patch исследовательский инструмент засыпает. Уже найденный результат один раз передаётся следующему успешному обращению модели, после чего не повторяется в дальнейшей истории.

01 / БЫСТРЕЕ

Быстрее понимает задачу

Даже в большом проекте агент быстрее находит точку старта и переходит к делу.

02 / ТОЧНЕЕ

Не тратится на повторы

Меньше лишних шагов уходит на повторный поиск уже найденной информации.

03 / ЭКОНОМНЕЕ

Оставляет бюджет на результат

Вы меньше платите за знакомство с проектом и больше вкладываете в готовое решение.

ЖИЗНЕННЫЙ ЦИКЛ

−15,33%

стоимости предварительного разбора

ЖИЗНЕННЫЙ ЦИКЛ

−25%

оплаченных обращений: 12 → 9

ЖИЗНЕННЫЙ ЦИКЛ

4/4

качество ответа во всех восьми попытках

Меньше цена. Меньше обращений. Тот же результат: 4/4 во всех восьми попытках.

В четырёх парных прогонах одной задачи обычный KD Engine стоил 3,39 ₽, а KD Engine с KD Research — 2,87 ₽. Число оплаченных обращений снизилось с 12 до 9. Результат зависит от проекта, задачи и выбранной модели.

KD Research не обучает модель и не меняет её веса. KDX-01 — внутреннее имя технологии, KD Research — название функции для пользователя, KD Engine — движок, в котором она работает.

Посмотреть на странице продукта
12C

KD Code 0.3.18

Большое текстовое вложение не пересылается целиком на каждом ходу

Функция включена автоматически внутри KD Code на крупных сессиях. Обычные запросы через API не меняются.

На первом ходу выбранная модель получает текстовое вложение полностью. В следующих ходах KD Engine хранит оригинал на вашем компьютере и передаёт модели короткую карту и подходящие точные фрагменты. Если для ответа нужен другой участок, агент может дочитать локальный оригинал. Изображения, PDF и другие бинарные блоки архив не переписывает.

ПЕРВЫЙ ХОД

Полный текст

Модель знакомится с исходным вложением без предварительного сокращения. Архив не включается на короткой сессии, где дополнительная обработка не окупается.

СЛЕДУЮЩИЕ ХОДЫ

Карта и нужные строки

Историческая копия не едет заново целиком. Выдержки выбираются под текущий вопрос, а ответ по-прежнему даёт выбранная вами модель.

НА ВАШЕМ КОМПЬЮТЕРЕ

Оригинал остаётся доступен

Локальное хранилище ограничено 512 МБ и очищает старые записи через 30 дней. Явное отключение архива сохраняется для диагностики.

WINDOWS · ОДИН БОЛЬШОЙ ФАЙЛ

−75,82% стоимости

Парный тест: 12/12 в обоих плечах, 41,92 → 10,13 ₽; медиана полного хода 20,51 → 12,75 с.

39 РАЗНЫХ ФАЙЛОВ · ASTRA

−51,40% стоимости

Парный тест на фактическом диапазоне 68–82 тыс. входных токенов; архив строго 12/12. Результат включает дополнительные дочитывания.

macOS · ФИНАЛЬНЫЙ КОД

12/12 одним вызовом

Финальная проверка качества: 12 основных запросов на 12 задач. Свежего контрольного плеча в этом прогоне не было.

Процент зависит от задачи

Максимальный эффект получен на повторяющемся большом файле. На разных вложениях экономия оказалась ниже. Эти замеры подтверждают конкретные корпуса и маршруты, а не обещают тот же процент каждому проекту.

13

Потоковые ответы

Показывайте результат сразу

Установите stream: true, чтобы получать части ответа по мере генерации.
Node.js · streaming
const stream = await client.chat.completions.create({
  model: "sonnet-5",
  messages: [{ role: "user", content: "Напиши короткий план" }],
  stream: true
});

for await (const chunk of stream) {
  process.stdout.write(chunk.choices[0]?.delta?.content || "");
}

События приходят в формате text/event-stream. Поток завершается строкой data: [DONE]; итоговый usage приходит в одном из последних событий.

14

Ошибки API

Стабильные коды без внутренних деталей

Ошибки возвращаются в едином JSON-конверте. Добавляйте request_id в обращение в поддержку.
400
invalid_request / unsupported_parameter

Исправьте тело запроса. Неизвестные поля и заведомо неподдерживаемые возможности не выполняются и не тарифицируются.

400
model_under_review

Выбранный протокол модели ещё проверяется. Запрос блокируется до резерва денег и обращения к модельному сервису.

401
invalid_api_key

Передайте действующий ключ. Автоматически повторять запрос с тем же ключом не нужно.

402
insufficient_balance

Пополните баланс либо выберите более доступную модель, затем повторите запрос.

402
paid_topup_required

FLUX бесплатна после подтверждённых пополнений суммарно от 100 ₽. Приветственный и рекламные бонусы в порог не входят.

404
model_not_found / not_found

Обновите каталог через GET /v1/models или проверьте адрес метода.

413
invalid_request

Уменьшите тело запроса. Текущий лимит опубликован в GET /v1.

429
key_limit_exceeded

Лимита ключа не хватает на активные запросы и максимальный вывод нового запроса. Это не обязательно означает, что весь лимит уже списан. Дождитесь завершения активных запросов, уменьшите max_tokens или измените лимит ключа; один только backoff проблему не решает.

429
rate_limit_exceeded

Модель или поставщик временно перегружены. Повторите с exponential backoff и jitter; учитывайте Retry-After, если он передан.

502/503
model_service_unavailable

Средства за некорректный ответ не списываются. Повторите позже с backoff или выберите другую модель.

Error envelope
{
  "error": {
    "message": "Недостаточно средств на балансе.",
    "type": "billing_error",
    "code": "insufficient_balance",
    "request_id": "kd_req_…"
  }
}
Тело запроса

4 MiB

Текущее значение возвращается как limits.max_request_bytes в GET /v1.

Ответ и время

32 MiB · 10 минут

Обычный запрос получает до 10 минут, Deep Research — до 30 минут. Актуальные значения публикуются в service contract.

Частота

Без квоты KeyDealer

Для операций с действующим API-ключом нет ограничения частоты или параллельности со стороны KeyDealer. Доступность поставщика и модели по-прежнему учитывается.

15

Данные и безопасность

Публичная модель. Закрытая инфраструктура.

Вы всегда знаете, какую модель вызываете. Внутренние маршруты и технические секреты остаются внутри KeyDealer.
Контент не нужен кабинету

Для учёта сохраняются модель, число токенов, статус, стоимость и время. Тексты запросов и ответов в истории кабинета не показываются.

Только ваш ключ

Клиент работает с kd_live_… и доменом api.keydealer.ru. Внутренние credentials не передаются наружу.

Без сырых ошибок

Ответы и идентификаторы перестраиваются по разрешённой схеме. Заголовки и технические ошибки внутреннего маршрута не проксируются.

Контракт можно скачать

OpenAPI, llms.txt, тарифы и формула списания доступны до регистрации.

ГОТОВЫ ПРОВЕРИТЬ?

10 ₽ на баланс
для первого теста.

Создайте аккаунт, выпустите ключ и отправьте запрос на своей задаче.

Получить API-ключ