Перейти к содержанию
Вся документация

Сценарий

Бэкенд для приложений-компаньонов

Используйте nokeep как модель вашего приложения-компаньона: API, совместимое с OpenAI, без отказов и без хранения сообщений. DeepSeek V4.1 Flash Uncensored остаётся в роли, читает фото, которые присылают пользователи, и обходится примерно в 0,97 $ в месяц для того, кто пишет 40 сообщений каждый день.

Проверено 29 октября 2026 г.

Что нужно приложению-компаньону и что вы получаете

Приложению-компаньону нужноНа nokeep
Персонаж, который не ломаетсяНет нашего системного промпта и нет фильтра на ответ: модель читает только вашу персону. Отказы удалены из весов, поэтому посреди чата не появляется ход «как ИИ».
Взрослый разговор для взрослыхРомантика и взрослые темы разрешены для взрослых пользователей, в пределах короткого списка жёстких ограничений. Вызов, который их пересекает, получает 422 и ничего не стоит, а не тихо смягчённый ответ.
Память, которая ощущается настоящейAPI ничего не хранит, поэтому память — ваша: резюме о пользователе в системном сообщении и недавний чат после него. DeepSeek читает до 1 000 000 токенов, если хотите отправлять больше.
ФотоDeepSeek читает до 10 изображений за запрос, поэтому пользователь может поделиться фото и получить ответ о нём. Изображения.
Сообщения, которые кажутся набранными вручнуюПотоковая передача и без паузы на размышление у DeepSeek, если вы сами её не запросите.
Доверие пользователейМы не храним ни сообщений, ни ответов, только счётчики. Что мы храним.

Сколько стоит пользователь

МодельДень одного пользователя, без кэшаДень одного пользователя, повторяющееся начало в кэше
DeepSeek V4.1 Flash Uncensored$0.093$0.032
GLM 5.3 Flash Uncensored$0.041$0.019

Расчёт по сегодняшним ценам: начало в 1 700 токенов, 40 реплик по 40 токенов на входе и 120 на выходе, последние 30 реплик сохраняются, самый длинный вызов — 6 540 токенов. Короткое размышление GLM перед каждым ответом добавляет выходные токены, которых здесь нет.

Итого пользователь, который общается каждый день, обходится примерно в $0.97 в месяц на DeepSeek или $0.56 на GLM. Большинство пользователей пишут не каждый день, поэтому средняя сумма ниже. Колонка с кэшем предполагает, что одно и то же начало повторяется от сообщения к сообщению; как это поддерживать, описано в следующем разделе.

Персона, память и потоковый ответ

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

import OpenAI from "openai"

const client = new OpenAI({
  baseURL: "https://nokeep.ai/v1",
  apiKey: process.env.NOKEEP_API_KEY,
})

const persona = "You are Iris, a warm, teasing companion who loves astronomy and bad puns. Talk like a close friend texting: short messages, no lists, no lectures. Remember what the user tells you and bring it up later."

export async function reply(user, recent, send) {
  const stream = await client.chat.completions.create({
    model: "deepseek-v4.1-flash-uncensored",
    messages: [
      { role: "system", content: persona + "\n\nWhat you know about them: " + user.memory },
      ...recent,
    ],
    stream: true,
    max_tokens: 300,
    temperature: 0.9,
    prompt_cache_key: "user-" + user.id,
  })
  let text = ""
  for await (const chunk of stream) {
    const piece = chunk.choices[0]?.delta?.content ?? ""
    send(piece)
    text += piece
  }
  return text
}

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

Память, которая остаётся дешёвой

  • Обновляйте память пачками, а не на каждое сообщение. Начало вызова читается из кэша, только пока оно повторяется. Обновляйте резюме каждые 20 или 30 сообщений, и начало между обновлениями останется прежним.
  • Удаляйте старые сообщения блоками. Если убирать по одному сообщению за реплику, начало меняется каждый раз. Сверните 20 самых старых в резюме разом, а потом продолжайте добавлять.
  • Пишите резюме дешёвым вызовом. glm-5.3-flash-uncensored по $0.20 за миллион входных токенов подходит для «обнови, что ты знаешь об этом пользователе»: никто не ждёт этого ответа.
  • Храните данные на своей стороне. Ваша база содержит историю чатов и память. Шифруйте её, дайте пользователям возможность удалять, и только у вас она и будет храниться.

Какая модель

DeepSeek V4.1 Flash UncensoredGLM 5.3 Flash Uncensored
Для чегоРеплики компаньонаРезюме памяти и другие фоновые вызовы
ФотоДаНет, только текст
Начинает отвечатьСразу, размышление выключено по умолчаниюПосле короткого размышления
СэмплерыТемпература, min_p и другиеНет
Цена за 1 млн токенов$0.45 на вход, $1.75 на выход$0.20 на вход, $0.65 на выход

Чтобы голос персонажа не менялся незаметно, вызывайте идентификатор с датой deepseek-v4.1-flash-1017-uncensored: он остаётся на сборке от 17 октября 2026 года. Модели.

Приватность, которую ваши пользователи могут прочитать

Чаты с компаньоном — одни из самых личных текстов. На каждый вызов мы храним время, ключ, модель, количество токенов, кредиты и статус, 30 дней, и больше ничего. Ни email аккаунта, ни сообщений, ни ответов. DeepSeek работает на приватном уровне, который не хранит промпты и ответы, а хост GLM ничего не сохраняет после отправки ответа.

Перед запуском вызова автоматическая проверка читает самое новое сообщение по жёстким ограничениям и отвечает «да» или «нет». Прочитанное не сохраняется. Что мы храним.

Вопросы

Может ли моё приложение-компаньон разрешать взрослый контент?

Да, для взрослых пользователей. Романтика и взрослая проза между взрослыми входят в условия. Сексуальный контент с участием несовершеннолетних или реальных людей никогда не входит, а вызовы, которые пересекают жёсткое ограничение, отклоняются. Ваше приложение отвечает за проверку того, что пользователи — взрослые, а создатель каждого ключа подтверждает, что ему 18 или больше.

Модель будет выходить из роли или читать нотации пользователям?

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

Вы обучаете модели на чатах наших пользователей?

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

Как держать расходы предсказуемыми?

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