Агенты для кода
Настройка OpenCode
OpenCode принимает любой API, совместимый с OpenAI, как свой провайдер. Добавьте nokeep в opencode.json, проверьте бесплатным ключом, а затем запускайте агента на модели с контекстом в миллион токенов и дешёвым закэшированным входом.
Проверено 29 октября 2026 г.
Значения
- Базовый URL
https://nokeep.ai/v1- Ключ API
sk-nokeep-test to test, then your own sk-nokeep-… key- Модель
deepseek-v4.1-flash-uncensored- Окно контекста
1000000- Максимум токенов на выходе
32768
Начните с бесплатного тестового ключа: он отвечает на каждый запрос одной фиксированной строкой без вызовов инструментов, что подтверждает правильность URL и ключа без трат. Затем вставьте свой ключ из консоли. Кредиты от $5, подписки нет.
Подключение
- В OpenCode выполните
/connect, прокрутите до Other и выберите его. - Введите
nokeepкак id провайдера. - Вставьте
sk-nokeep-testкак ключ API. OpenCode сохранит его для этого id. - Добавьте провайдер ниже в
opencode.jsonв вашем проекте или в~/.config/opencode/opencode.jsonдля всех проектов. - Выполните
/modelsи выберите DeepSeek V4.1 Flash Uncensored. - Отправьте любое сообщение. Ответ, который начинается с “Connected to”, значит, настройка работает.
- Выполните
/connectснова с тем же id и вставьте свой ключ из консоли.
{
"$schema": "https://opencode.ai/config.json",
"model": "nokeep/deepseek-v4.1-flash-uncensored",
"provider": {
"nokeep": {
"npm": "@ai-sdk/openai-compatible",
"name": "nokeep",
"options": {
"baseURL": "https://nokeep.ai/v1"
},
"models": {
"deepseek-v4.1-flash-uncensored": {
"name": "DeepSeek V4.1 Flash Uncensored",
"limit": {
"context": 1000000,
"output": 32768
}
},
"glm-5.3-flash-uncensored": {
"name": "GLM 5.3 Flash Uncensored",
"limit": {
"context": 128000,
"output": 32768
}
}
}
}
}
}id провайдера в /connect и ключ под provider должны совпадать: nokeep в обоих местах.
Чтобы читать ключ из окружения вместо /connect, добавьте "apiKey": "{env:NOKEEP_API_KEY}" в options.
Полезные настройки
limit.contextговорит OpenCode, сколько места осталось, чтобы он мог сжать разговор до переполнения. Для своей модели лимита нет, пока вы его не укажете.limit.outputотправляется как лимит токенов на каждый ответ. 32,768 хватает для длинных правок; DeepSeek допускает до 131,072.- Верхний уровень
modelделает DeepSeek моделью по умолчанию, в формеprovider/model. - Вызовы инструментов работают как есть: OpenCode отправляет свои инструменты в формате OpenAI, а DeepSeek отвечает вызовами.
Какая модель
deepseek-v4.1-flash-uncensored | glm-5.3-flash-uncensored | |
|---|---|---|
| Контекст | 1,000,000 токенов | 128,000 токенов |
| Самый длинный ответ | 131,072 токена | 32,768 токенов |
| Вызовы инструментов | Да, каждый tool_choice | Да, tool_choice auto или none |
| Читает скриншоты | Да, до 10 на запрос | Нет, только текст |
| Размышление | Выключено, если не запрошено | Всегда, коротко |
| За 1M токенов | $0.45 на входе · $0.011 в кэше · $1.75 на выходе | $0.20 на входе · $0.04 в кэше · $0.65 на выходе |
Используйте DeepSeek для работы агента. Весь репозиторий помещается в его контекст, он вызывает инструменты в любой форме, а история, которую агент повторно отправляет при каждом запросе, тарифицируется по закэшированной цене $0.011 за миллион. Используйте GLM для коротких разовых задач, которые не пересылают длинную историю: там выигрывают его более низкие цены на новый вход и выход.
У обеих моделей отказы убраны из весов, поэтому работа рядом с чувствительной темой, например тестирование безопасности своих систем или инструменты модерации, получает код вместо отказа. Сравните модели.
Размышление
DeepSeek отвечает сразу, если запрос не задаёт reasoning_effort, что подходит для быстрого цикла «правка и запуск» агента. Для планирования или сложного бага попросите его размышлять: он принимает none, low, high, max. Значения minimal, medium и xhigh из других приложений выполняются как ближайшее из этих; любое другое значение отклоняется с 400 invalid_reasoning_effort. Размышление тарифицируется как выход.
В OpenCode добавьте вариант, который отправляет уровень усилия, и переключайтесь на него клавишей variant_cycle, когда задача требует раздумий. Добавьте это в провайдер выше.
{
"provider": {
"nokeep": {
"models": {
"deepseek-v4.1-flash-uncensored": {
"variants": {
"think": {
"reasoningEffort": "high"
}
}
}
}
}
}
}Сколько стоит сессия
Агент отправляет весь разговор при каждом запросе: инструкции, файлы, которые он прочитал, каждый шаг до этого. Допустим, запрос отправляет 60,000 токенов, из них 55,000 — то же начало, что и в прошлый раз, и записывает 1,000. На DeepSeek такой запрос стоит около $0.0046, так что 200 запросов — около $0.92. Без кэша тот же запрос стоил бы $0.0288.
- Кэширование автоматическое: включать ничего не нужно. Начало около 1,000 токенов и больше, повторённое в течение нескольких минут, тарифицируется по цене кэша.
- Каждый запрос резервирует то, что может стоить: промпт и максимум выхода, а затем сходится к тому, что реально использовано. При 32,768 максимальных токенах выхода часть резерва на выход составляет около $0.0573.
- В консоли видны реальные токены, закэшированные токены и кредиты каждого запроса. Счётчик стоимости самого агента может не знать цену кэша, и тогда он показывает больше.
Если не работает
| Что показывает агент | Решение |
|---|---|
| 401 | Ключ неверный или отозван. Вставьте его заново, без пробелов и кавычек. |
| 402 | На аккаунте закончились купленные кредиты. Пополните от $5 в консоли и включите там Auto top-up, чтобы длинная задача не останавливалась на полпути: когда баланс падает ниже выбранной суммы, кредиты добавляются с вашей сохранённой карты. |
| 429 | Больше 120 запросов в минуту на один ключ или сверх дневного лимита, который вы на нём задали. Агенты, которые запускают несколько субагентов сразу, попадают сюда первыми. Подождите секунды из Retry-After, поднимите лимит в консоли или дайте каждому агенту свой ключ. |
400 invalid_reasoning_effort | Агент отправил уровень усилия, который модель не принимает. DeepSeek принимает none, low, high, max; GLM принимает low или high. |
| 404 | URL неверный или путь повторён дважды. Используйте https://nokeep.ai/v1 без /chat/completions и сверьте id модели с /v1/models. |
| 503 | Модель занята. Повторите через несколько секунд; ничего не списано. |
| Фиксированная тестовая строка | Настройка работает. Вставьте свой ключ, чтобы получать настоящие ответы. |
Каждая ошибка с решением перечислена в разделе Ошибки.
Вопросы
Мой код сохраняется?
Нет. Мы храним одну строку счётчиков на запрос: время, ключ, модель, токены, кредиты и статус. Никогда не хранятся промпт, файлы или ответ. Что мы храним.
Почему второй запрос стоит меньше первого?
Второй запрос начинается так же, как первый, поэтому это начало читается из кэша по $0.011 за миллион токенов вместо $0.45. Большая часть входа агента кэшируется после его первого запроса.
Могу ли я оставить других провайдеров?
Да. nokeep — это ещё одна запись под provider, а /models перечисляет его рядом с остальными.