После регистрации откройте «API-ключи». Полное значение показывается один раз.
Подключите модель
за один вечер.
OpenAI-совместимый API, один ключ и публичные цены в рублях. Здесь есть всё, чтобы оценить интеграцию до создания аккаунта.
Быстрый старт
Три шага до первого ответа
Примеры используют привычный OpenAI SDK. Меняются только ключ, Base URL и имя модели.Без локальной оптимизации повторная отправка истории, файлов и результатов инструментов может существенно увеличивать счёт. Для максимального эффекта от управления контекстом ведите такие задачи в KD Code.
До 90% экономии в отдельных сценариях локальной оптимизации контекста. Ориентир из исторического контрольного теста от 01.09.2026: Gemini 3 Flash, шесть выводов инструментов. Это не замер каждой модели или текущего релиза. На вашей задаче экономия может быть ниже или нулевой.
Положите kd_live_… в переменную KEYDEALER_API_KEY.
Выберите модель из каталога и используйте пример ниже.
cURL уже готов к работеМожно использовать любой HTTP-клиент. SDK нужен только для удобства.
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.
Используйте прежний ключ KeyDealer и тот же баланс. KD Code бесплатен, запросы к моделям оплачиваются по тарифам вашего аккаунта. Экономия достигается сокращением повторного контекста, а не отдельной скидкой на токен.
До 90% экономии в отдельных сценариях локальной оптимизации контекста. Ориентир из исторического контрольного теста от 01.09.2026: Gemini 3 Flash, шесть выводов инструментов. Это не замер каждой модели или текущего релиза. На вашей задаче экономия может быть ниже или нулевой.
API остаётся доступен для собственных интеграций: контролируйте размер истории, повторные чтения и лимиты расходов. Серверные KD Trim и кэш готовых ответов имеют отдельные условия и не заменяют локальное управление контекстом KD Code.
Размер экономии зависит от модели, задачи, инструментов и управления историей. На коротких запросах или уже оптимизированном контексте её может не быть. Конкретный процент заранее не гарантируется.
Авторизация
Один заголовок для всех моделей
Каждый запрос к защищённым методам передаёт ключ по стандартной схеме Bearer.Authorization: Bearer kd_live_…Не вставляйте его во frontend-код, мобильное приложение или публичный репозиторий. Делайте запросы со своего сервера.
KeyDealer сохраняет необратимый отпечаток, а не полное значение.
Так проще ограничивать расходы и отзывать доступ без остановки других систем.
Скомпрометированный ключ можно отключить в личном кабинете.
Модели и цены
Каталог загружается прямо из 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. Уже принятый запрос рассчитывается по ставке, зафиксированной при его приёме.
Chat Completions
Знакомый формат запроса и ответа
Основной метод принимает историю сообщений и возвращает OpenAI-совместимый объект completion./v1/chat/completionsapplication/jsonmodelstring · обязательноПубличный 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_…"
}
}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/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Если базовый протокол не подтверждён, KeyDealer возвращает model_under_review до резерва баланса и до обращения к модельному сервису.
Входные изображения
Проверяйте не только значок vision
Каталог подтверждает приём изображения конкретным маршрутом, но пока не показывает, кто именно прочитал его внутри маршрута.capabilities.vision=verified означает, что KeyDealer получил правильный ответ на контрольную картинку. Это не гарантия точного OCR, понимания любого скриншота или нативной обработки выбранной моделью. Значение unknown означает отсутствие подтверждённого результата, а не доказанное отсутствие зрения.
Смотрите живой каталог
Перед отправкой изображения проверяйте capabilities.vision в GET /v1/models. Список меняется после новых проб и не должен храниться в клиенте вручную.
Прямой и с помощником
В проверке 7 сентября ответы маршрутов Opus сообщили, что изображение сначала читает Gemini, а выбранная модель отвечает по описанию. У ряда других маршрутов ответы указывали на прямую обработку. API пока не возвращает отдельный признак пути.
Маршрут не раскрывает исполнителя
Определение пути основано на согласованном ответе моделей, а не на отдельном поле протокола. Для чувствительных изображений используйте Opus только если допустима обработка вспомогательной моделью.
Deep Research
Актуальные данные из открытого интернета
Подтверждённый встроенный исследовательский маршрут сейчас один: Grok Multi-Agent через Responses API./v1/responsesдо нескольких минутmodelобязательноИспользуйте публичный ID grok-4-20-multi-agent.
inputстрока · обязательноОпишите тему, глубину, формат результата и требования к источникам.
streamboolean · необязательноtrue возвращает события SSE и завершает поток событием response.completed.
toolsне передаватьВеб-исследование встроено в этот маршрут. Клиентские функции ему не требуются.
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": "Сравни актуальные тарифы трёх сервисов, проверь официальные страницы и укажи ссылки на источники."
}'/v1/modelsClaude server web search · fail-closedanthropic_server_web_searchсейчас unknownНи один Claude-маршрут сейчас не публикуется как проверенный для серверного поиска. Недоказанная возможность блокируется до резерва баланса.
web_search_20250305server toolGateway умеет валидировать и передавать этот инструмент, но пропустит его только после новой маршрутной пробы со статусом verified.
searchполе поставщикаОбщая пометка поиска в каталоге поставщика не доказывает поддержку конкретного Messages-инструмента и не повышает capability автоматически.
usage.server_tool_useтребуется для проверкиВозврат к verified потребует наблюдаемого поискового результата, цитат, terminal usage и корректного списания.
После обновления маршрута ранее подтверждённая модель перестала принимать инструмент. До новой успешной пробы используйте Grok Multi-Agent выше либо отдельные методы /v1/search и /v1/web/fetch.
o3-deep-research не опубликован в живом GET /v1/models, поэтому KeyDealer не принимает его и не резервирует баланс. Маршрут откроется только после появления модели и завершённого теста web_search_preview с usage.
Исследование может использовать много внутренних рассуждений. KeyDealer списывает фактические входные и выходные токены только после корректно завершённого ответа; при оборванном потоке резерв возвращается.
Интернет для агентов
Поиск и чтение страниц — двумя простыми методами
Оба метода доступны любому агенту с ключом 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 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 включён в сервис без отдельного списания. Новые и существующие ключи получают доступ по умолчанию; его можно целиком выключить для конкретного ключа.Image API · 11 моделей
Генерация и редактирование изображений
GPT Image, Gemini, Nano Banana и Grok работают по опубликованной цене за изображение. FLUX — без списаний после подтверждённого пополнения от 100 ₽./v1/images/generationsapplication/json| Модель | Размер | Low | Medium | High | Форматы |
|---|---|---|---|---|---|
Получаем актуальные цены из 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.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"
}'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-файл и точное нулевое либо платное списание.
data:image/...;base64,...; это исключает скачивание произвольных клиентских URL через наш сервер. Повтор с тем же idempotency key не запускает модель и не списывает генерацию второй раз. Готовый base64-результат сервер не хранит и повторно не выдаёт.Rerank
Бесплатно пересортируйте найденные документы
Два проверенных маршрута ранжируют фрагменты по релевантности запросу. После подтверждённых пополнений от 100 ₽ отдельного списания нет./v1/rerankapplication/jsonmodelобязательноВыберите публичный ID из GET /v1/models/rerank. Внутренние префиксные маршруты не принимаются.
queryобязательноСтрока или объект {"text":"…"} до 32 000 символов.
documentsобязательноСтроки или объекты с полем text. Лимит — 1 000 либо 512 документов в зависимости от модели.
top_nнеобязательноСколько лучших результатов вернуть. Точный максимум опубликован в capabilities.max_documents.
return_documentsbooleanПри true KeyDealer возвращает исходный текст документа из вашего запроса вместе с оценкой.
truncateEND | NONEEND разрешает усечение длинного текста, NONE требует принять его целиком.
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.
До 90% экономии в отдельных сценариях локальной оптимизации контекста. Ориентир из исторического контрольного теста от 01.09.2026: Gemini 3 Flash, шесть выводов инструментов. Это не замер каждой модели или текущего релиза. На вашей задаче экономия может быть ниже или нулевой.
Токены и списания
Формулу можно проверить
Фактический usage приходит вместе с ответом, а точное списание связывается с операцией в истории кабинета./v1/balanceBearer API keyМетод возвращает точный остаток, персональный коэффициент и фактические ставки аккаунта. Ответ не кэшируется.
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
}]
}+ 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. Кэш привязан к вашему ключу, модели и полному телу запроса. Совпадение даёт готовый ответ без нового списания; первый запрос оплачивается обычно.
{"model":"PUBLIC_MODEL_ID","messages":[{"role":"user","content":"Кратко объясни HTTP"}],"temperature":0,"stream":false,"kd_cache":true}Это явное исключение из режима без хранения содержимого: тело ответа хранится зашифрованным с TTL (текущая настройка — 24 часа). Текст запроса не сохраняется в кэше; для поиска используется отпечаток. Без kd_cache: true запись не создаётся. Не включайте кэш, если хранение ответа вам не подходит. Наличие опции не гарантирует попадание в кэш; результат проверяйте по served_from_cache и фактическому списанию.
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На коротких запросах экономия может быть нулевой. Списание считается по фактически отправленным токенам, поэтому результат зависит от длины задачи и модели.
API остаётся доступен для собственных интеграций: контролируйте размер истории, повторные чтения и лимиты расходов. Серверные KD Trim и кэш готовых ответов имеют отдельные условия и не заменяют локальное управление контекстом KD Code.
KD Code 0.3.44
Настольный агент с одной командой установки
Вы выбираете проект сами, запускаете сессии, работаете с файлами и моделями KeyDealer, а приложение показывает фактические списания и уменьшает повторный служебный контекст в длинных задачах.macOS 13+ на Apple Silicon, Windows 10/11 x64 или Linux x64 и ключ KeyDealer из кабинета. Управление рабочим контекстом уже встроено в приложение.
Оптимизация KD Code работает только в задачах внутри приложения. Одна установка не уменьшает расход в другом клиенте; подключение к API само по себе не включает локальный движок KD Code.
Используйте прежний ключ KeyDealer и тот же баланс. KD Code бесплатен, запросы к моделям оплачиваются по тарифам вашего аккаунта. Экономия достигается сокращением повторного контекста, а не отдельной скидкой на токен.
До 90% экономии в отдельных сценариях локальной оптимизации контекста. Ориентир из исторического контрольного теста от 01.09.2026: Gemini 3 Flash, шесть выводов инструментов. Это не замер каждой модели или текущего релиза. На вашей задаче экономия может быть ниже или нулевой.
Одна команда для вашей системы
Установщик проверит отдельную bootstrap-подпись манифеста, затем размер и SHA-256 пакета, установит и запустит KD Code.
curl -fsSL https://keydealer.ru/downloads/kd-code/install.sh | shirm https://keydealer.ru/downloads/kd-code/install.ps1 | iexcurl -fsSL https://keydealer.ru/downloads/kd-code/install-linux.sh | shLinux: Ubuntu 24.04 с графической сессией, Python 3, libsecret-tools и системной связкой ключей. Для профиля AppArmor установщик может один раз запросить sudo.
Введите ключ KeyDealer
Приложение проверит ключ и сохранит его в Keychain на macOS, Credential Manager на Windows или системной связке Secret Service на Linux. Он не записывается в файлы выбранного проекта.
Создайте или выберите проект
KD Code не подключает папки автоматически. Работа начинается в выбранном проекте, а доступ к пути за его пределами требует отдельного подтверждения.
Проекты и изолированные сессии, работа с файлами и командами, выбор моделей, продолжение после перезапуска, управление рабочим контекстом и фактическая стоимость каждой сессии.
Новая установка получает профиль balanced + active: Gemini 3 Flash (gemini-3-flash) находит нужные файлы, а KD Engine передаёт их основной модели как уже выполненные чтения. Выбранная модель по-прежнему пишет код и отвечает пользователю. Недоказанные экспериментальные этапы скрыты и не могут быть включены из клиентского интерфейса.
После первого уже разрешённого успешного теста KD Code автоматически подхватывает только простую безопасную команду длительностью до 15 секунд, записывает её в .kd/validation.json и повторяет после правок. Shell-цепочки, команды записи и медленные наборы не включаются; для них доступна адресная настройка. Финальный полный прогон обязателен. Оба доказанных этажа можно отключить или вернуть кнопкой «Вернуть рекомендуемые настройки».
Поиск по публичному 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 Locate заранее находит нужные файлы, а KD Verify запускает разрешённую быструю проверку сразу после правки без отдельного обращения к модели. Оба этажа включены одним рекомендуемым тумблером; их можно отключить, перенастроить или вернуть к рекомендуемым значениям.
Экономия, которая не стирает память
После первого хода крупные вложения остаются в локальном архиве. Длинные выводы тестов, линтера, typecheck и сборки превращаются в точный дайджест с exit code и ошибками; полный оригинал можно дочитать. В платном A/B на 10 задачах стоимость снизилась на 15,05% к обычному архиву при одинаковой приёмке результатов.
Семейства моделей под одним ключом
Claude, GPT, Gemini, GLM и остальной каталог KeyDealer выбираются в приложении. Рядом с моделью видно цену, статус и поддержку инструментов.
Ваши приложения рядом с проектом
Подключайте GitHub, Linear, Notion и другие сервисы из каталога или добавляйте свой MCP-сервер. В разделе «Приложения» — 12 пресетов, 7 категорий и подборки по задачам. Доступ выдаёте вы; права аккаунта и лимиты сервиса продолжают действовать.
Image Studio внутри KD Code
Опубликованные модели изображений, их размеры, качество, форматы и цены собираются из каталога KeyDealer. Каталог обновляется при смене модели, возвращении в приложение и раз в несколько минут, поэтому серверные изменения появляются без перезапуска. Создание запускается только в настольном приложении, а референсы добавляются только вами.
Файлы, команды и тесты, а не только чат
Агент читает и меняет файлы выбранного проекта, запускает команды и прогоняет тесты. Каждый шаг виден в диалоге и остаётся проверяемым.
Поставьте задачу через Telegram
Включите KD Code Remote, привяжите @KeyDealer_robot и разрешите конкретный проект. Каждая команда /kd создаёт новую изолированную локальную сессию; Plan включён по умолчанию, а Build разрешается отдельно на этом компьютере. Обычные сообщения и поддержка агента не запускают.
Работа продолжается после перезапуска
Сессии и состояние хранятся на этом компьютере. После закрытия приложения можно вернуться к задаче, а не начинать её заново.
Сохраняйте подход, а не повторяйте объяснение
По вашей просьбе агент сохраняет описание процедуры локально, находит его и проверяет, изменились ли указанные файлы. Каждое обращение требует одноразового согласия. В обычные запросы память не добавляется автоматически; её использование всё равно расходует токены.
Границы задаёте вы
Папка не подключается сама. По умолчанию обращение за пределы выбранного проекта требует подтверждения. Явный режим «Полный доступ» разрешает работать без повторных запросов, пока вы его не отключите.
Личный Jarvis связывает ваши проекты
Вы сами выбираете папки через системное окно и отдельно подтверждаете доступ. Jarvis локально строит визуальную карту файлов и связей, отвечает с реальными источниками и передаёт модели только подходящие фрагменты для конкретного вопроса. Доступ можно отозвать одной кнопкой.
Скиллы подключаются по запросу
Каталоги скиллов из других агентских приложений не подмешиваются в обычный запрос. На чужой машине такой каталог занимал больше двадцати тысяч токенов в каждом обращении.
Уточнение не сбивает текущий ход
Следующее сообщение ждёт, пока агент закончит. Вмешаться немедленно можно отдельным действием «Скорректировать».
Отдельная история приложения
Сессии и настройки других агентских приложений не импортируются и не смешиваются с вашей работой.
Обновление видно прямо в приложении
KD Code проверяет общий канал и показывает заметное уведомление всем установкам, когда выходит новая версия. Установка запускается только по вашему нажатию; перед ней приложение проверяет Ed25519-подпись, размер и SHA-256 архива.
KD Code распространяется напрямую с сайта. Первая установка проверяет detached SSH-подпись манифеста встроенным bootstrap-ключом, затем размер и SHA-256 пакета. Команды curl | sh и irm | iex до запуска этой проверки доверяют HTTPS-домену keydealer.ru; fingerprint bootstrap-ключа опубликован на странице KD Code для независимой сверки. Gatekeeper или SmartScreen всё равно могут показать предупреждение.
KD Layers · KD Code 0.3.42+
Два доказанных этажа одной настройкой
KD Locate сокращает первичный поиск основной моделью, а KD Verify локально проверяет правку без отдельного модельного хода.Как включить: откройте KD Code → Настройки → в разделе KD Engine выберите Маршрутизация → включите «Рекомендуемая маршрутизация». Если приложение не показывает пометку об изменённых расширенных настройках, больше ничего настраивать не нужно.
Настройки → KD Engine → Маршрутизация
Это единственный экран управления KD Layers. Экспериментальные этапы здесь не показываются.
Рекомендуемая маршрутизация
Тумблер включает KD Locate и KD Verify вместе. Основная выбранная модель продолжает писать код и проверять итог.
Вернуть рекомендуемые настройки
Используйте эту кнопку, если меняли исполнителя, режим передачи файлов или локальную проверку и хотите вернуться к доказанной конфигурации.
Поиск нужных файлов
По умолчанию gemini-3-flash находит файлы, а режим «Готовые чтения · рекомендуется» передаёт их основной модели как уже прочитанные. В расширенных настройках можно выбрать другую доступную модель, основную модель или локальный исполнитель.
Проверка после правки
Рекомендуемое значение — «Запускать затронутые тесты». Проверку выполняет локальный runtime проекта, поэтому сам запуск не расходует токены. Финальный полный прогон остаётся обязательным.
Основная модель остаётся автором
Вспомогательная модель выполняет только подписанный поисковый этап. Сложную правку, объяснение и итог даёт выбранная пользователем основная модель.
Когда нужны расширенные настройки
Открывайте их только для конкретной задачи: заменить модель KD Locate, вернуть совместимый режим передачи файлов, выключить проверку после правки или настроить адресные проверки долгого проекта. Для обычной работы оставьте рекомендуемые значения.
Оставьте «Готовые чтения»
Режим history доказан: он не просто показывает модели выдержку, а представляет найденные файлы как выполненные чтения. system оставлен для совместимости и диагностики.
Найти → проверить → подтвердить
Выберите проект, нажмите «Найти безопасные команды», просмотрите список и только затем нажмите «Подтвердить и создать карту». До подтверждения ничего не запускается и существующий файл не перезаписывается.
Проверьте runtime проекта
Если Node.js, Python, Go, Rust или нужный тестовый сценарий не установлен, KD Verify не сможет выполнить тест. Установите runtime или добавьте обычную тестовую команду и повторите поиск.
Только уже разрешённая пользователем, успешно завершившаяся простая тестовая команда из белого списка с первым временем до 15 секунд. Shell-цепочки, перенаправления, команды записи, coverage, watch, обновление снапшотов и медленные полные наборы автоматически не включаются. KD Layers не получает новых разрешений.
Сначала проверить версию KD Code, затем вести по пути «Настройки → KD Engine → Маршрутизация». Без конкретной причины не менять расширенные настройки; при сомнении предлагать «Вернуть рекомендуемые настройки». Не включать скрытые экспериментальные этапы, не складывать проценты двух этажей и не объявлять локальный тест успешным без runtime и фактического результата.
KD Research · KDX-01
Исследование проекта до первой правки
Функция KD Engine автоматически работает во время поиска и чтения кода, даже если пользователь остаётся в режиме Build.KD Research связывает формулировку задачи с определениями, местами вызова и точными диапазонами в разрешённых файлах. Для точного символа он возвращает его тело, связи и используемые определения того же файла за границами тела с явной пометкой области видимости. После первого успешного edit, write или apply_patch исследовательский инструмент засыпает. Уже найденный результат один раз передаётся следующему успешному обращению модели, после чего не повторяется в дальнейшей истории.
Быстрее понимает задачу
Даже в большом проекте агент быстрее находит точку старта и переходит к делу.
Не тратится на повторы
Меньше лишних шагов уходит на повторный поиск уже найденной информации.
Оставляет бюджет на результат
Вы меньше платите за знакомство с проектом и больше вкладываете в готовое решение.
−15,33%
стоимости предварительного разбора
−25%
оплаченных обращений: 12 → 9
4/4
качество ответа во всех восьми попытках
В четырёх парных прогонах одной задачи обычный KD Engine стоил 3,39 ₽, а KD Engine с KD Research — 2,87 ₽. Число оплаченных обращений снизилось с 12 до 9. Результат зависит от проекта, задачи и выбранной модели.
KD Research не обучает модель и не меняет её веса. KDX-01 — внутреннее имя технологии, KD Research — название функции для пользователя, KD Engine — движок, в котором она работает.
KD Code 0.3.18
Большое текстовое вложение не пересылается целиком на каждом ходу
Функция включена автоматически внутри KD Code на крупных сессиях. Обычные запросы через API не меняются.На первом ходу выбранная модель получает текстовое вложение полностью. В следующих ходах KD Engine хранит оригинал на вашем компьютере и передаёт модели короткую карту и подходящие точные фрагменты. Если для ответа нужен другой участок, агент может дочитать локальный оригинал. Изображения, PDF и другие бинарные блоки архив не переписывает.
Полный текст
Модель знакомится с исходным вложением без предварительного сокращения. Архив не включается на короткой сессии, где дополнительная обработка не окупается.
Карта и нужные строки
Историческая копия не едет заново целиком. Выдержки выбираются под текущий вопрос, а ответ по-прежнему даёт выбранная вами модель.
Оригинал остаётся доступен
Локальное хранилище ограничено 512 МБ и очищает старые записи через 30 дней. Явное отключение архива сохраняется для диагностики.
−75,82% стоимости
Парный тест: 12/12 в обоих плечах, 41,92 → 10,13 ₽; медиана полного хода 20,51 → 12,75 с.
−51,40% стоимости
Парный тест на фактическом диапазоне 68–82 тыс. входных токенов; архив строго 12/12. Результат включает дополнительные дочитывания.
12/12 одним вызовом
Финальная проверка качества: 12 основных запросов на 12 задач. Свежего контрольного плеча в этом прогоне не было.
Максимальный эффект получен на повторяющемся большом файле. На разных вложениях экономия оказалась ниже. Эти замеры подтверждают конкретные корпуса и маршруты, а не обещают тот же процент каждому проекту.
Потоковые ответы
Показывайте результат сразу
Установитеstream: true, чтобы получать части ответа по мере генерации.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 приходит в одном из последних событий.
Ошибки API
Стабильные коды без внутренних деталей
Ошибки возвращаются в едином JSON-конверте. Добавляйтеrequest_id в обращение в поддержку.Исправьте тело запроса. Неизвестные поля и заведомо неподдерживаемые возможности не выполняются и не тарифицируются.
Выбранный протокол модели ещё проверяется. Запрос блокируется до резерва денег и обращения к модельному сервису.
Передайте действующий ключ. Автоматически повторять запрос с тем же ключом не нужно.
Пополните баланс либо выберите более доступную модель, затем повторите запрос.
FLUX бесплатна после подтверждённых пополнений суммарно от 100 ₽. Приветственный и рекламные бонусы в порог не входят.
Обновите каталог через GET /v1/models или проверьте адрес метода.
Уменьшите тело запроса. Текущий лимит опубликован в GET /v1.
Лимита ключа не хватает на активные запросы и максимальный вывод нового запроса. Это не обязательно означает, что весь лимит уже списан. Дождитесь завершения активных запросов, уменьшите max_tokens или измените лимит ключа; один только backoff проблему не решает.
Модель или поставщик временно перегружены. Повторите с exponential backoff и jitter; учитывайте Retry-After, если он передан.
Средства за некорректный ответ не списываются. Повторите позже с backoff или выберите другую модель.
{
"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. Доступность поставщика и модели по-прежнему учитывается.
Данные и безопасность
Публичная модель. Закрытая инфраструктура.
Вы всегда знаете, какую модель вызываете. Внутренние маршруты и технические секреты остаются внутри KeyDealer.Для учёта сохраняются модель, число токенов, статус, стоимость и время. Тексты запросов и ответов в истории кабинета не показываются.
Клиент работает с kd_live_… и доменом api.keydealer.ru. Внутренние credentials не передаются наружу.
Ответы и идентификаторы перестраиваются по разрешённой схеме. Заголовки и технические ошибки внутреннего маршрута не проксируются.
OpenAPI, llms.txt, тарифы и формула списания доступны до регистрации.
10 ₽ на баланс
для первого теста.
Создайте аккаунт, выпустите ключ и отправьте запрос на своей задаче.