spicyapiДокументация
Приложения и плагины
Основное содержимое

Приложения для ролевых игр (RisuAI, Agnai, Chub, KoboldAI Lite, Janitor AI)

Подключите текстовые модели SpicyAPI к RisuAI, Agnai, Chub, KoboldAI Lite и Janitor AI. Точные поля для каждого приложения, какие модели подходят для ролевых игр, как работать с моделями с рассуждением и как ограничить расходы.

В приложениях для ролевых игр вы общаетесь с персонажами, и большинство из них позволяют подключить собственную ИИ-модель через OpenAI-совместимое подключение. SpicyAPI поддерживает этот протокол, поэтому вы можете направить такие приложения на него, выбрать любую текстовую модель SpicyAPI и платить с баланса SpicyAPI.

На этой странице рассмотрены пять веб- и десктопных приложений: RisuAI, Agnai, Chub, KoboldAI Lite и Janitor AI. О SillyTavern см. SillyTavern. Эти приложения делают другие люди, и их экраны меняются; названия полей ниже взяты из опубликованного исходного кода и справочных страниц каждого приложения, а в каждом разделе сказано, что было проверено, а что нет.

Коротко

  1. Создайте для приложения отдельный API-ключ на spicyapi.ai/console/keys и задайте ему суточный лимит расходов.
  2. В приложении выберите его OpenAI-совместимое подключение или «reverse proxy». Введите в качестве адреса https://api.spicyapi.ai/v1 (Janitor AI требует более длинный https://api.spicyapi.ai/v1/chat/completions), вставьте ключ и укажите в качестве модели идентификатор чат-модели, оканчивающийся на /chat, скопированный из актуального каталога.
  3. Для моделей с рассуждением задайте Max tokens не меньше 1000, затем отправьте сообщение.

Что понадобится

  • Аккаунт SpicyAPI с балансом. См. Подготовка аккаунта и Оплата.
  • API-ключ, начинающийся с sk-spicy-. См. Аутентификация.
  • Идентификатор модели. Текстовые модели называются <maker>/<model>/chat, здесь это записано как MODEL_ID_FROM_CATALOG. MODEL_ID_FROM_CATALOG обозначает идентификатор чат-модели, который нужно скопировать из актуального каталога (GET /api/v1/models); сам плейсхолдер вводить не нужно. Идентификатор нужно ввести точно, включая /chat в конце. Полный список находится на spicyapi.ai/models; с вашим ключом его возвращает и GET https://api.spicyapi.ai/v1/models, а идентификаторы чат-моделей оканчиваются на /chat. См. Модели.

Какое поле заполняется в каком приложении

ПриложениеКакой адрес ввестиКуда вставить ключМодельКто отправляет запрос
RisuAIhttps://api.spicyapi.ai/v1 (полный .../v1/chat/completions тоже работает)Key/PasswordRequest Model, вводится вручнуюСервер RisuAI на сайте, ваш компьютер в десктопном приложении
Agnaihttps://api.spicyapi.ai/v1 (не полный путь)API KeyВыбирается в пресете из списка, загруженного из SpicyAPIСервер Agnai
Chubhttps://api.spicyapi.ai/v1 (не полный путь)Reverse Proxy KeyВыпадающий список, загруженный из SpicyAPIВаш браузер
KoboldAI Litehttps://api.spicyapi.ai/v1Поле API key его OpenAI-подключенияВыпадающий список, загруженный из SpicyAPIВаш браузер
Janitor AIhttps://api.spicyapi.ai/v1/chat/completions (полный путь)API KeyModel Name, вводится вручнуюНе проверено, см. раздел о Janitor AI

Разница между коротким и полным адресом существенна. Приложения, которые сами добавляют /chat/completions, ломаются, если вы пишете его в адресе, а Janitor AI требует его указать явно.

Выбор модели

Для ролевых игр нужна модель, которая держится в образе, пишет длинные ответы и не отказывается от обычных сюжетных просьб. Рейтинг для ролевых игр и LLM ранжирует текстовые модели SpicyAPI по этим критериям и показывает актуальные цены. Смотрите его, а не список, записанный здесь: модели и места в рейтинге меняются.

На странице каждой модели также есть метка политики содержимого (например, unrestricted, borderline или filtered). Она показывает, насколько свободно модель отвечает; выбирайте модель, метка которой подходит для историй, которые вы хотите писать.

DeepSeek V4.1 Flash — хорошая первая модель: она находится в верхней части рейтинга и входит в число самых дешёвых. Скопируйте её идентификатор (он оканчивается на /chat) из актуального каталога на spicyapi.ai/models, а не вводите по памяти.

Два ограничения, о которых стоит знать:

  • Некоторые модели принимают не больше 256 сообщений за запрос. В очень длинном чате приложение, отправляющее всю историю, может превысить этот предел. Найдите в приложении настройку, сколько истории отправлять, или размер контекста и уменьшите её. Ограничения модели указаны на её странице.
  • Ввод изображений работает только с моделями, которые читают изображения. Для обычного ролевого чата он не нужен.

Настройки сэмплирования

Приложения для ролевых игр отправляют с каждым сообщением целый набор настроек сэмплирования: temperature, top-p, top-k, min-p, top-a, frequency, presence и repetition penalty. Модели различаются тем, какие из них принимают.

SpicyAPI игнорирует те, которые модель не использует, вместо того чтобы отклонять сообщение. Он также игнорирует n: 1, пустой список stop и строки stop у модели, которая их не имеет. Когда что-то игнорируется, в ответе есть заголовок X-Spicy-Ignored-Params с названиями отброшенных настроек, так что вы точно видите, что не подействовало.

Если модель принимает настройку, но не присланное вами значение, SpicyAPI берёт ближайшее допустимое: temperature выше максимума модели становится максимумом, а список строк stop длиннее, чем разрешает модель, сохраняет первые. Эти изменения перечисляются в заголовке X-Spicy-Adjusted-Params, например temperature=1, stop=kept 1 of 3. Поэтому привычные пресеты можно оставить как есть.

Поля, не относящиеся к сэмплированию, — другое дело: если приложение отправляет что-то, чего модель вообще не знает, SpicyAPI всё равно отвечает ошибкой 400 с названием этого поля.

Модели с рассуждением и Max tokens

Некоторые модели сначала думают, а потом отвечают. Размышления расходуют токены, и эти токены входят в Max tokens (в разных приложениях он называется также Max output, Response length или max_new_tokens).

  • Задавайте Max tokens с запасом. Если значение совсем маленькое, например 20 или 200, модель с рассуждением может потратить весь бюджет на размышления и не вернуть текст. Вы получите ошибку upstream_failed с сообщением, что лимит вывода потрачен на рассуждения. Начните с 1000 и больше и увеличивайте, если ответы обрываются.
  • Размышления стоят денег и времени. Токены рассуждения оплачиваются как любой другой вывод, а первое слово приходит позже. Некоторым моделям можно велеть думать меньше с помощью параметра reasoning_effort. Уровни у разных моделей различаются; уровень, которого у модели нет, заменяется ближайшим из доступных, а настройки рассуждения в стиле OpenRouter (их отправляет Agnai) переводятся в reasoning_effort. Приложения с полем Additional Parameters или полем пользовательских параметров могут его передать, например reasoning_effort с меньшим значением; большинство приложений ниже сами его не отправляют.
  • Некоторые приложения выводят размышления в чат. Janitor AI оборачивает их в теги <think>. Chub их не показывает вовсе.

Держите расходы под контролем

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

Для каждого приложения создайте отдельный ключ в консоли. При создании откройте Advanced и задайте суточный лимит расходов (и месячный, если хотите). Если приложение ведёт себя странно, зацикливается или ключ утёк, ущерб остановится на лимите, а этот ключ можно отозвать, не затрагивая остальное. Ключ также можно ограничить определёнными моделями. См. Аутентификация.

Эти приложения хранят ваш ключ на своих серверах или в вашем браузере. Сайт RisuAI, Agnai и Janitor AI пропускают ваш ключ и чат через свои серверы; Chub и KoboldAI Lite отправляют запросы прямо из вашего браузера. Отдельный ключ с лимитом — правильная мера предосторожности в любом случае.

RisuAI

RisuAI работает на risuai.xyz, как десктопное приложение или на вашем собственном сервере. Проверено по исходному коду RisuAI (версия 2026.8.250).

Выберите модель Custom API

В настройках бота откройте выпадающий список моделей и выберите Custom API.

Заполните три поля

  • URL (отображается как «Reverse Proxy»): https://api.spicyapi.ai/v1. RisuAI сам добавляет /chat/completions, если адрес оканчивается на /v1, а полный https://api.spicyapi.ai/v1/chat/completions тоже работает.
  • Key/Password: ваш ключ sk-spicy-. Он отправляется как bearer-токен.
  • Request Model: идентификатор модели, MODEL_ID_FROM_CATALOG. Для пользовательских адресов в RisuAI нет списка моделей, поэтому введите его вручную.

В выпадающем списке Format выберите OpenAI Compatible.

Задайте Max tokens и отправьте сообщение

Если вы выбрали модель с рассуждением, увеличьте максимальную длину ответа (см. выше), затем общайтесь.

Откуда приходят запросы. На risuai.xyz RisuAI обычно ретранслирует запросы через свой сервер, поэтому ваш ключ и чат проходят через него. Десктопное приложение и собственный сервер отправляют запросы напрямую с вашей машины. Только параметр сайта «Force Plain Fetch», спрятанный среди нерекомендуемых настроек, отправляет запросы из браузера; SpicyAPI принимает и их.

Сэмплирование. Настройки Custom API в RisuAI по умолчанию отправляют frequency, presence и repetition penalty, min-p и top-a. SpicyAPI игнорирует те, которые модель не использует, так что значения по умолчанию работают.

Agnai

Agnai находится на agnai.chat. Проверено по исходному коду Agnai (ветка dev, 6 октября 2026 года). SpicyAPI нет во встроенном списке провайдеров Agnai, поэтому его добавляют как пользовательское OpenAI-совместимое подключение.

Добавьте провайдера

В Settings откройте страницу управления провайдерами и добавьте провайдера типа OpenAI Compat (или Remotely Hosted, затем Other (Generic OpenAI)). Название может быть любым.

Введите адрес и ключ

  • URL: https://api.spicyapi.ai/v1 (или https://api.spicyapi.ai; Agnai добавит /v1, если его нет). Не вводите полный путь .../chat/completions, иначе Agnai удвоит его.
  • API Key: ваш ключ sk-spicy-.

Выберите модель в пресете

В пресете, с которым вы общаетесь, выберите модель из списка. Agnai заполняет список из списка моделей SpicyAPI. Выберите идентификатор, оканчивающийся на /chat.

Откуда приходят запросы. Если провайдер добавлен таким образом, запрос отправляет сервер Agnai, поэтому ваш ключ хранится у Agnai.

Сэмплирование. Agnai всегда отправляет temperature и top-p, которые некоторые модели не принимают. Для таких моделей SpicyAPI их игнорирует, поэтому модели вроде DeepSeek V4 и Kimi K3 работают.

Не рекомендуется: режимы с прямым обращением из браузера. В Agnai есть также тип подключения Self-Host и переключатель Use Local Requests в старых пресетах, из-за которых ваш браузер обращается к адресу напрямую. Судя по исходному коду, эти режимы добавляют поле think, которое SpicyAPI не принимает, а на неизвестные поля SpicyAPI отвечает 400. С SpicyAPI это не тестировалось. Если вы получили там 400, вернитесь к настройке провайдера, описанной выше.

Chub

Chub (chub.ai) отправляет запросы прямо из вашего браузера на указанный вами адрес. Проверено по опубликованному фронтенд-коду Chub (сборка от 28 июня 2026 года); с тех пор экраны Chub могли измениться. Подключение из браузера работает, потому что SpicyAPI разрешает запросы с веб-страниц.

Добавьте reverse proxy в Secrets

Откройте Secrets, найдите блок OpenAI и выберите Reverse Proxy вместо My Own API Key.

Введите адрес и ключ

  • Open AI Reverse Proxy: https://api.spicyapi.ai/v1. Chub сам добавляет /chat/completions, поэтому не включайте его.
  • Reverse Proxy Key: ваш ключ sk-spicy-.

Нажмите Check Proxy. Успешная проверка заодно загружает список моделей.

Выберите OpenAI / Proxy и модель

В Configuration > Prompt Structure задайте API OpenAI / Proxy и выберите модель из выпадающего списка (идентификатор, оканчивающийся на /chat).

На собственной странице настроек Chub предупреждает, что при использовании reverse proxy ваш IP-адрес и журнал чата могут записываться. Это замечание Chub, а не SpicyAPI.

Что показывает исходный код и что может удивить:

  • Chub перестаёт читать потоковый ответ через 120 секунд. Модель с рассуждением, которая долго думает, может быть оборвана; снизьте её усилие рассуждения или выберите модель, отвечающую быстрее.
  • Chub не показывает размышления модели, только её ответ.

KoboldAI Lite

KoboldAI Lite — это одна веб-страница на lite.koboldai.net. Проверено по опубликованному index.html. Она обращается к адресу напрямую из вашего браузера, что работает, потому что SpicyAPI разрешает запросы с веб-страниц.

Выберите подключение OpenAI

Откройте Settings и выберите подключение OpenAI API (пользовательский адрес).

Введите адрес и ключ

Укажите в качестве адреса https://api.spicyapi.ai/v1, а в поле ключа — свой ключ sk-spicy-. Если вы вставите /chat/completions в конце, приложение его отбросит.

Загрузите список моделей

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

Оставьте «CORS Proxy» выключенным. В KoboldAI Lite есть параметр, направляющий запросы через прокси, который содержит его автор. Для SpicyAPI он не нужен, а если его включить, ваш ключ пройдёт через чужой сервер.

Сэмплирование. Его настройка повтора отправляется в API как presence penalty. Для моделей, которые её не используют, SpicyAPI её игнорирует.

Janitor AI

Не проверено

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

Функция «proxy» в Janitor AI отправляет ваш чат на выбранный вами адрес. Согласно справочному центру Janitor, нужные поля находятся под значком шестерёнки на странице чата, в разделе API Settings, затем Add Configuration.

Добавьте конфигурацию

Заполните:

  • Config Name: что угодно, например SpicyAPI.
  • Model Name: идентификатор модели, вводится вручную: MODEL_ID_FROM_CATALOG.
  • Proxy URL: полный адрес, https://api.spicyapi.ai/v1/chat/completions. В Janitor есть кнопка «Add /chat/completions», которая сделает это за вас после ввода https://api.spicyapi.ai/v1.
  • API Key: ваш ключ sk-spicy-.

Сохраните и отправьте сообщение

Собственную кнопку Janitor Check Key/Model справочный центр Janitor описывает как ненадёжную, поэтому проверьте настройку реальным сообщением.

Если Janitor показывает сетевую ошибку или ошибку подключения, например «A network error occurred», скорее всего, страница Janitor блокирует запросы к адресам, отличным от адреса OpenAI. У веб-страницы Janitor есть политика безопасности, разрешающая прямые запросы только к одному стороннему ИИ-адресу — адресу OpenAI. Когда Janitor отправляет запрос из вашего браузера, браузер отказывает ещё до того, как запрос увидит SpicyAPI, и SpicyAPI на это повлиять не может. Если в консоли у вашего ключа нет использования, а эта ошибка появляется, причина именно в этом.

Если вы с этим столкнулись, используйте вместо этого SillyTavern или RisuAI.

Другие факты из справочного центра Janitor и кода страницы:

  • У некоторых ботов Janitor авторы отключили прокси, поэтому бот может отказываться общаться через прокси независимо от того, что вы введёте.
  • Janitor показывает размышления модели в тегах <think>. Чтобы они были короче, увеличьте Max tokens или снизьте усилие рассуждения.
  • Janitor ограничивает длину одного вводимого вами сообщения.

Устранение неполадок

Что вы видитеЧто делать
401 или «invalid API key»Скопируйте ключ заново из консоли. Отозванный ключ перестаёт работать сразу, и нужен именно ключ sk-spicy-, а не пароль аккаунта.
402 или «insufficient balance»Пополните баланс в консоли или проверьте, не достигнут ли суточный лимит расходов ключа. См. Оплата.
404 или «model not found»Идентификатор модели неверный. Он должен оканчиваться на /chat и быть написан так же, как в https://api.spicyapi.ai/v1/models.
404 на самом адресе с удвоенным путём вроде /chat/completions/chat/completionsПриложение само добавляет путь. Используйте https://api.spicyapi.ai/v1 (RisuAI, Agnai, Chub, KoboldAI Lite). Полный путь нужен только Janitor AI.
400 с названием поляПриложение отправило то, чего модель не принимает и что не относится к сэмплированию. Удалите или отключите названное поле.
400 про число сообщенийИстория чата длиннее лимита сообщений модели. Уменьшите историю или размер контекста в приложении.
upstream_failed, «the output budget was spent on reasoning»Увеличьте Max tokens или снизьте усилие рассуждения модели. См. Модели с рассуждением и Max tokens.
Ответ обрывается на полусловеMax tokens слишком мал или (в Chub) достигнут лимит в 120 секунд.
«Network error» или «Failed to fetch» в приложении и нет запроса в журналах вашей консолиЗапрос не дошёл до SpicyAPI. В Janitor AI это страница блокирует адрес; в остальных случаях проверьте адрес на опечатки и доступность сайта.
429Слишком много запросов одновременно. Подождите несколько секунд; общие приложения могут отправлять запросы многих пользователей с одного адреса.

Коды ошибок описаны в разделе Ошибки и повторы. Каждая ошибка заканчивается на request_id; сообщите его в поддержку, и запрос можно будет найти точно. Ваши запросы также видны в разделе Logs в консоли — это самый быстрый способ понять, дошёл ли запрос до SpicyAPI вообще.

На этой странице