Документация API и подключение IDE — Dikaya
Начните с текстового запроса, затем подключите редактор. Здесь — рабочие форматы конфигураций, ограничения браузерного чата и порядок расчёта запросов, включая неизвестный исход.
Быстрый старт
Создайте аккаунт по логину и паролю без email: пароль 8–128 символов, вводится дважды. В разделе «API и баланс» находится персональный ключ. Новым подходящим аккаунтам может быть выдано до 3 запросов seller-pro-2: текстовый Chat Completions, до 8192 выходных токенов вместе с рассуждением, 6000 байт контекста, 10 RPM и один запрос одновременно. Прежние квоты сохраняются; повторная регистрация не даёт новое демо.
Создать аккаунт · API и баланс
Укажите Base URL с одним /v1 и передавайте ключ в Authorization: Bearer dk_…. Примеры ниже используют переменную окружения, не настоящий ключ. Отключённые повторы SDK предотвращают незаметный новый платный запрос при ошибке связи. Проверяйте статус и расход до ручного повтора. Демо не разрешает агентные инструменты; после пополнения действуют разрешения ключа.
cURL
curl https://dikaya.cc/v1/chat/completions \
-H "Authorization: Bearer $DIKAYA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "seller-pro-2",
"max_tokens": 8192,
"messages": [
{
"role": "user",
"content": "Предложи три проверки для небольшого API."
}
]
}'Python · OpenAI SDK
import os
from openai import OpenAI
client = OpenAI(
base_url="https://dikaya.cc/v1",
api_key=os.environ["DIKAYA_API_KEY"],
max_retries=0,
)
response = client.chat.completions.create(
model="seller-pro-2",
max_tokens=8192,
messages=[{"role": "user", "content": "Предложи три проверки для небольшого API."}],
)
print(response.choices[0].message.content)
print(response.usage)JavaScript / TypeScript · OpenAI SDK
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://dikaya.cc/v1",
apiKey: process.env.DIKAYA_API_KEY,
maxRetries: 0,
});
const response = await client.chat.completions.create({
model: "seller-pro-2",
max_tokens: 8192,
messages: [{ role: "user", content: "Предложи три проверки для небольшого API." }],
});
console.log(response.choices[0].message.content);
console.log(response.usage);Браузер: файлы, поиск и ветки
История хранится в аккаунте. Поиск в списке разговоров фильтрует названия, не тексты сообщений; скрытие панели не удаляет историю. Сохранённый разговор возвращает свою модель и настройки. Новая беседа начинается с пустой системной инструкцией и рассуждением по умолчанию. Невысланные неиспользуемые файлы-черновики истекают через 24 часа и очищаются при новых загрузках.
Диалоги и варианты сохраняются на сервере. Редактирование вопроса с новой генерацией создаёт ветку; повтор ответа сохраняет предыдущую версию. Просмотр сохранённого варианта не запускает модель. «Стоп» отменяет работу, но не уже возникший расход.
В платном чате — до четырёх приватных файлов: UTF-8 текст/код до 32 КиБ каждый, 48000 байт текста вместе, PNG/JPEG/WebP до 2 МиБ и 20 млн пикселей. Хранение — до 64 МиБ на аккаунт. Это не универсальный просмотр PDF или любых документов.
Поиск включается явно: поисковикам передаётся видимая строка, а не скрытая история или файлы. До пяти реальных выдержек сохраняются с ответом. Отдельной поисковой наценки нет; выдержки и ответ расходуют обычные модельные токены. При ошибке поиска генерация без источников не запускается молча.
Настройки и границы контекста
Платный чат позволяет системную инструкцию до 8000 символов: она сохраняется для конкретного разговора после принятого запроса, не глобально. low/high/max появляются только по метаданным модели; default не отправляет reasoning_effort. Демо эти настройки не меняет. В Responses используется reasoning.effort. Рассуждение входит в бюджет выхода и не оплачивается второй раз.
Браузер отправляет до 40 сообщений / 60000 байт текстового JSON на платном доступе и 24 / 5800 в демо, включая системную инструкцию. Старая часть может не отправляться, но остаётся в сохранённой истории. Это не точный счёт токенов. Отдельно проверяются контекст модели, тело API 16 МиБ и изображения; ограничения вложений действуют дополнительно.
Панель API-запроса показывает выбранную модель, историю и текущие настройки с dk_YOUR_KEY, не раскрывая секрет. Открытие или копирование ничего не отправляет. Для файлов и поиска неполный текстовый cURL отключён: будущие выдержки и изображения не выдаются за точно посчитанный контекст. Код копируется, скачивается и разворачивается как текст, не исполняется; Markdown не встраивает исполняемый HTML и внешние картинки.
Подключение к редактору
Нужен клиент с OpenAI-compatible / Custom API. Название OpenAI означает формат, а запрос идёт на Dikaya; отдельный ключ OpenAI не требуется. Сначала проверьте ключ через /v1/models и /v1/balance, затем текстовый чат. После пополнения проверьте небольшой проект и инструменты отдельно: клиент может многократно пересылать историю и файлы, оплачиваемые как вход. Поиск браузера не добавляет интернет-инструмент публичному API.
curl https://dikaya.cc/v1/models \
-H "Authorization: Bearer $DIKAYA_API_KEY"
curl https://dikaya.cc/v1/balance \
-H "Authorization: Bearer $DIKAYA_API_KEY"OpenCode V2
Установите OpenCode по официальной инструкции. В корне проекта создайте opencode.jsonc или добавьте блок dikaya в существующий providers, не удаляя прочие настройки. Формат V2 использует providers, package и settings.baseURL; старые примеры V1 с другим синтаксисом сюда не подходят. Секрет остаётся в переменной DIKAYA_API_KEY, не в проектном файле.
{
"$schema": "https://opencode.ai/config.json",
"model": "dikaya/seller-pro-2",
"providers": {
"dikaya": {
"name": "Dikaya",
"env": [
"DIKAYA_API_KEY"
],
"package": "@opencode/ai/providers/openai-compatible",
"settings": {
"baseURL": "https://dikaya.cc/v1"
},
"models": {
"seller-flash": {
"name": "Dikaya Flash"
},
"seller-pro": {
"name": "Dikaya Pro"
},
"seller-pro-2": {
"name": "Dikaya Pro 2"
},
"seller-glm-5-3": {
"name": "GLM 5.3 Abliterated"
},
"seller-glm-5-3-flash": {
"name": "GLM 5.3 Flash Abliterated"
},
"seller-qwen-3-8-flash-next": {
"name": "Qwen3.8 Flash Next Abliterated"
},
"seller-deepseek-v4-1-flash": {
"name": "DeepSeek V4.1 Flash Abliterated"
},
"seller-deepseek-v4-1-flash-1017": {
"name": "DeepSeek V4.1 Flash 1017 (Safeguards)"
}
}
}
}
}Задайте переменную в терминале проекта и запустите opencode --standalone. Этот отдельный сервер получит окружение текущего терминала; общий ранее запущенный сервер мог стартовать без ключа. Команды приведены для macOS/Linux и PowerShell. Через /models выберите Dikaya и нужный точный ID.
macOS / Linux
export DIKAYA_API_KEY="dk_YOUR_KEY"
opencode --standaloneWindows / PowerShell
$env:DIKAYA_API_KEY = "dk_YOUR_KEY"
opencode --standaloneНачните с просьбы объяснить структуру проекта без изменений. При отсутствии модели проверьте каталог, JSON и окружение, затем перезапустите этот экземпляр. Агентные задания требуют пополнения и разрешённых инструментов. Следите за расходом в кабинете; большой контекст и многократные шаги агента не бесплатны.
Cursor: собственный ключ
Откройте Cursor Settings → Models → API Keys (обычно Cmd+Shift+J на macOS, Ctrl+Shift+J на Windows/Linux). В OpenAI API Key вставьте ключ Dikaya и включите Use OpenAI API Key. Активируйте Override OpenAI Base URL с адресом ниже. Через Add Custom Model добавьте seller-pro-2, включите его и выберите в новом чате Ask. При необходимости добавьте другие разрешённые API-ID.
Base URL: https://dikaya.cc/v1
API Key: dk_YOUR_KEY
Model ID: seller-pro-2Названия пунктов зависят от версии. Персональные ключи/BYOK могут требовать разрешения администратора команды. Cursor Tab не переключается на Dikaya; Agent проверяйте отдельно. Если Verify использует встроенную отсутствующую модель, проверяйте свой ID в чате и через cURL. При возврате к встроенным моделям отключите Override: он может перенаправлять и их запросы.
Continue / VS Code и JetBrains
Установите Continue, откройте настройки моделей и локальный конфиг. Для YAML это обычно ~/.continue/config.yaml. Добавьте модель, сохранив остальные записи; ниже конфигурация для платного режима. Выберите модель в панели Continue и при необходимости перезагрузите расширение. Для демо оставьте текстовый режим и допустимый демо-лимит.
name: Dikaya
version: 1.0.0
schema: v1
models:
- name: Dikaya Pro 2
provider: openai
model: seller-pro-2
apiBase: https://dikaya.cc/v1
apiKey: YOUR_DIKAYA_KEY
defaultCompletionOptions:
maxTokens: 16384
- name: Dikaya Flash
provider: openai
model: seller-flash
apiBase: https://dikaya.cc/v1
apiKey: YOUR_DIKAYA_KEY
defaultCompletionOptions:
maxTokens: 8192Замените YOUR_DIKAYA_KEY своим ключом только в локальном файле и не включайте секрет в репозиторий. Если ваша версия использует другой интерфейс, добавьте OpenAI-совместимую модель вручную с теми же Base URL и ID. Назначение ролей и инструментов зависит от версии Continue, не от одного адреса API.
Cline / Roo Code
Установите расширение и откройте настройки API. Выберите OpenAI Compatible (иногда OpenAI с пользовательским Base URL), задайте адрес, ключ и seller-pro-2. Для платного режима пример использует 16384 выходных токена, включая рассуждение. Сохраните, проверьте короткий вопрос, затем объяснение одного файла небольшого проекта.
Base URL: https://dikaya.cc/v1
API Key: dk_YOUR_KEY
Model ID: seller-pro-2Агентный режим требует пополнения; демо не разрешает tool-вызовы и большой контекст. Схемы инструментов в версиях расширения могут отличаться. При ошибке tool-вызова отдельно проверьте текстовый запрос, выбранную модель и формат tools. Больший предел ответа требует большего резерва даже для короткого вопроса.
Claude Code / терминал IDE
Откройте терминал VS Code, JetBrains или другой среды. Задайте ANTHROPIC_BASE_URL без /v1: клиент добавляет путь сам. ANTHROPIC_AUTH_TOKEN содержит ваш ключ Dikaya. Команда с seller-pro-2[1m] использует совместимый суффикс контекста; API-ID модели остаётся seller-pro-2. Для агентного режима нужен оплаченный доступ.
macOS / Linux
export ANTHROPIC_BASE_URL="https://dikaya.cc"
export ANTHROPIC_AUTH_TOKEN="dk_YOUR_KEY"
claude --model 'seller-pro-2[1m]'Windows / PowerShell
$env:ANTHROPIC_BASE_URL = "https://dikaya.cc"
$env:ANTHROPIC_AUTH_TOKEN = "dk_YOUR_KEY"
claude --model 'seller-pro-2[1m]'Переменные действуют в текущем терминале. Если запросы уходят не в Dikaya, проверьте настройки окружения и проекта на конфликтующий ключ или адрес. Это подключение через Messages, не обещание поддержки всех внутренних расширений Claude: для новых моделей разрешены текст и обычные function tools, неподдерживаемые расширения отклоняются до запуска.
Antigravity: OpenCode в терминале
Официальная справка не подтверждает штатную настройку произвольного OpenAI Base URL для встроенного агента Antigravity. Ключ Dikaya нельзя подставить вместо Google API key. Откройте проект и терминал Antigravity, установите OpenCode, добавьте конфиг из раздела выше, задайте DIKAYA_API_KEY и запустите opencode --standalone.
Выберите модель через /models. OpenCode работает с файлами проекта как отдельный помощник; встроенная модель Antigravity не заменяется. Способ не меняет вход в Google, сертификаты и внутренние API. Не запускайте двух помощников одновременно на правку одних файлов. Если версия получит официальный Custom Provider, используйте опубликованные условия этой версии, а не предположение о поддержке.
Эндпоинты и протоколы
GET /v1/models возвращает каталог, с ключом — разрешённые модели и персональные цены; GET /v1/balance — баланс и лимиты. POST /v1/chat/completions принимает Chat Completions, POST /v1/responses — Responses, POST /v1/messages — Messages. Для SSE укажите stream: true; стриминг не создаёт отдельной ставки токенов.
GET /v1/models
GET /v1/balance
POST /v1/chat/completions
POST /v1/responses
POST /v1/messagesНовые модели используют нативные Chat Completions и Responses. Messages адаптирует текст и обычные function tools; неподдерживаемые thinking/cache/media-расширения не теряются молча, а отклоняются до резервирования. Изображения новых моделей доступны через мост в Chat Completions и Responses. Для OpenAI-стрима шлюз запрашивает финальный usage. Выбор протокола не добавляет клиенту файловую систему или инструменты.
Текущие модели и розничные цены
Контекст и тарифы ниже берутся из конфигурации, не из статичного рекламного списка. seller-pro-2 — доработанная GLM-5.3. Четыре новых варианта GLM/Qwen/DeepSeek модифицированы, DeepSeek V4.1 Flash 1017 (Safeguards) — отдельный оригинальный вариант. Наличие в каталоге не доказывает текущую доступность: неподтверждённый тариф выбранной модели останавливает запрос до генерации. Поддерживаемые уровни reasoning_effort показаны без выдуманных опций.
| Модель | API-ID | Контекст, токенов | Обработка изображений | Вход | Кэшированный вход | Выход | reasoning_effort |
|---|---|---|---|---|---|---|---|
| Dikaya Flash | seller-flash | 256 000 | Непосредственно | 2 | 0,2 | 6 | — |
| Dikaya Pro | seller-pro | 1 000 000 | Через текстовое описание | 6 | 0,6 | 10 | — |
| Dikaya Pro 2 | seller-pro-2 | 1 000 000 | Через текстовое описание | 6 | 0,6 | 10 | — |
| GLM 5.3 Abliterated | seller-glm-5-3 | 1 048 576 | Через текстовое описание | 4 | 0,7 | 6 | low / high / max |
| GLM 5.3 Flash Abliterated | seller-glm-5-3-flash | 1 048 576 | Через текстовое описание | 0,5 | 0,3 | 1,6 | low / high / max |
| Qwen3.8 Flash Next Abliterated | seller-qwen-3-8-flash-next | 262 144 | Через текстовое описание | 0,36 | 0,18 | 1,2 | low / high / max |
| DeepSeek V4.1 Flash Abliterated | seller-deepseek-v4-1-flash | 1 048 576 | Через текстовое описание | 1,2 | 0,3 | 3,2 | low / high / max |
| DeepSeek V4.1 Flash 1017 (Safeguards) | seller-deepseek-v4-1-flash-1017 | 1 048 576 | Через текстовое описание | 0,1 | 0,008 | 0,3 | low / high / max |
Каталог не является проверкой текущей доступности каждого варианта. Для выбранной модели действуют разрешения ключа и проверка тарифа; если условия не подтверждены, запрос останавливается до генерации. Персональные цены смотрите через /v1/models со своим ключом.
import os
from openai import OpenAI
client = OpenAI(
base_url="https://dikaya.cc/v1",
api_key=os.environ["DIKAYA_API_KEY"],
max_retries=0,
)
response = client.chat.completions.create(
model="seller-glm-5-3",
max_tokens=1024,
reasoning_effort="low",
messages=[{"role": "user", "content": "Предложи три проверки для небольшого API."}],
)
print(response.choices[0].message.content)
print(response.usage)Резерв, usage и итоговый расход
До обращения к модели атомарно резервируется консервативная оценка входа и предела выхода. Известный usage определяет фактический расход, неиспользованный остаток освобождается; одни средства нельзя зарезервировать параллельно дважды. Кэш уже включён во вход, рассуждение — в выход. Картинки могут добавлять отдельный этап; расходы обоих этапов видны в истории.
Текстовая оценка: ((вход − кэш) × цена входа + кэш × цена кэша + выход × цена выхода) / 1 000 000. Кэш уже входит в общий вход; рассуждение входит в выход, когда используется. Изображения и дополнительные запросы могут добавить отдельные этапы.
При явном HTTP-отказе исполнения резерв возвращается. При обрыве, таймауте или отсутствии usage работа уже могла начаться: оценочный резерв сохраняется до сверки. Потерянное подтверждение не доказывает, что запрос не сохранён или ничего не стоил. Закрытие вкладки и «Стоп» не отменяют уже выполненную работу. Финансовые спорные случаи рассматриваются вручную через поддержку аккаунта, без обещания автоматического возврата.
Если клиент не указал предел, используется личный default ключа, иначе общий платный default 16384. Явный предел клиента выше обоих; максимум шлюза — 65536 с учётом модели. Демо Pro 2 — до 8192, legacy Flash — 512; меньший явный предел сохраняется. Большой резерв может дать 402 при положительном балансе: уменьшите контекст или лимит, либо пополните.
Пополнение и счета
Чат и API используют один свободный баланс. Счёт создаётся в аккаунте для доступной настроенной сети: USDT в TRON, TON, BNB Smart Chain, Ethereum или BTC при подключённом кошельке. Само создание счёта не зачисляет деньги. Срок — 30 минут; для BTC курс фиксируется при создании и нужны три подтверждения. Автозачисление зависит от подтверждений и работающего мониторинга.
Отправьте точную сумму, комиссию сети оплатите отдельно. Не округляйте идентификационную добавку: ожидаемые баланс и бонус указаны в счёте. Неверная сумма или просрочка требуют поддержки. Бонус считается по одному подтверждённому платежу, не сумме прошлых оплат. Нет подписки, автоматических ежемесячных списаний или срока сгорания. Активационный код даёт отдельный бюджет по своим условиям, не подтверждает оплату и не начисляет пакетный бонус.
| Пакет | Оплата, USD | На баланс, USD | Бонус |
|---|---|---|---|
| Start | 5 | 5 | 0% |
| Builder | 20 | 21 | 5% |
| Studio | 50 | 55 | 10% |
| Scale | 100 | 115 | 15% |
Бонус определяется одним подтверждённым платежом. Отдельные оплаты не складываются для повышения уровня; создание счёта не начисляет средства. Индивидуальные и оптовые условия не переоценивают старую историю.
Ошибки и безопасное восстановление
400: проверьте JSON, ID модели, лимит и ограничения демо. 401: отсутствующий, отозванный или неверный ключ либо блокировка. 402: не хватает свободных средств для резерва. 404: проверьте Base URL и единственный /v1 (Claude Code — без него). 429: лимит ключа; снизьте параллелизм и повторите позже. 502/503: недоступность исполнения или неподтверждённые условия; прочитайте error.message, type и code.
413 означает превышение тела JSON 16 МиБ: сократите историю, файлы или результаты инструментов. Отказ по этому входному пределу происходит до генерации и не списывает баланс; контекст модели проверяется отдельно. Большое окно модели не отменяет лимит тела или более строгий предел браузера.
Известный HTTP-отказ и пропавший сетевой ответ — разные случаи. Не включайте автоматический повтор POST, если исход неясен. В браузере проверьте состояние уже принятого запроса; ручное восстановление использует прежний request ID. Прямой новый API-запрос или повтор SDK может стать новой оплачиваемой работой. Не делайте вывод о нулевом расходе только из локального исключения.
{"error":{"message":"…","type":"…","code":"…"}}Изображения: прямое зрение и мост
seller-flash обрабатывает изображения непосредственно. Платные Pro/Pro 2 сначала получают текстовое описание через Flash, затем выбранная модель отвечает; она не подменяется. До запуска обязательны два резерва, стадии оплачиваются отдельно. Описание может потерять детали. Новые модели используют мост в Chat Completions/Responses; демо остаётся текстовым.
До восьми разных изображений в API-запросе. Встроенные data/base64-изображения кэшируются на 24 часа отдельно для ключа; повтор в истории не запускает новый разбор. HTTP/HTTPS URL не кэшируются: содержимое может меняться. Для Pro/Pro 2 мост поддерживает Chat Completions, Responses и Messages. Браузерное ограничение четырёх вложений строже API-границы изображений.
X-Dikaya-Vision-Bridge, X-Dikaya-Vision-Cost-Usd и X-Dikaya-Vision-Cache-Hits показывают мост. dikaya_image_handling: reject запрещает его и требует явного отказа на изображении. Если разбор не удался, основная модель не запускается и её резерв возвращается; завершённый Flash оплачивается, неизвестный usage удерживает оценочный резерв. Поддержка картинки не равна чтению произвольного документа.
{
"model": "seller-pro-2",
"max_tokens": 1024,
"dikaya_image_handling": "reject",
"messages": [
{
"role": "user",
"content": [
{
"type": "text",
"text": "Предложи три проверки для небольшого API."
},
{
"type": "image_url",
"image_url": {
"url": "data:image/png;base64,IMAGE_BYTES"
}
}
]
}
]
}Данные, ключи и доступ
История браузера хранится на сервере. Вопросы, ответы и сведения о расходе сохраняются для ручной модерации; администратору доступны защищённая консоль и приватные Telegram-уведомления. Нужные материалы передаются внешней инфраструктуре исполнения. Не публикуйте ключ в фронтенде, репозитории или чате; перевыпуск в аккаунте сразу отзывает старый секрет, сохраняя баланс. Удаление не стирает автоматически отдельные финансовые/модерационные записи, уведомления и резервные копии. Условия и политика доступны по ссылкам внизу.
Частые вопросы
HTTP 200 не гарантирует непустой message.content. В агентном режиме ответ может содержать tool_calls, которые клиент должен выполнить и вернуть. При finish_reason: length выход мог закончиться на рассуждении до финального текста. Проверяйте причину завершения и usage.completion_tokens_details.reasoning_tokens, а не только content. Не запускайте обрезанный запрос автоматически заново.
Для seller-flash в Chat Completions рассуждение по умолчанию выключено, если его не задали явно; это не относится ко всем моделям со словом Flash. Pro/Pro 2 сохраняют свой режим. Демо reasoning_effort=none у Pro 2 — низкий уровень со скрытой трассой, не обещание нулевых токенов рассуждения или непустого ответа. Большой контекст не означает столь же длинный ответ.
RPM и лимит ответа конкретного ключа видны в аккаунте и /v1/balance. Демо — 10 RPM и один одновременно; единого обещанного RPM для всех платных аккаунтов нет. Совместимые инструменты редактора требуют поддержки, настройки и разрешений: само подключение Base URL не даёт доступ к файлам, интернету или выполнению команд.
Подписки нет, баланс не сгорает. Для вопросов об оплате, расходе и доступе используйте поддержку в аккаунте; рассмотрение ручное, без обещания автоматического возврата или срока ответа. Отдельный публичный канал восстановления пароля не опубликован, автоматическое восстановление не реализовано.
Официальные справочники клиентов
Ссылки ниже объясняют настройки сторонних инструментов. Их интерфейсы и возможности меняются по версии; документация клиента не расширяет права вашего ключа Dikaya. Примеры здесь не выполняются, копирование не отправляет запрос. Практические статьи этой языковой версии доступны отдельно.