Настройки агентных инструментов
Агентные инструменты на каждом шаге отправляют содержимое файлов, вывод команд и всю историю переписки. Такой большой prompt может обрабатываться десятки секунд, прежде чем придёт первый токен. Если ваше приложение сдастся раньше, запрос всё равно учитывается, а вы ничего не получите. Настройте таймаут, streaming, повторы и размер контекста, как показано ниже.
Почему это важно
- Запросы, прерванные до получения ответа, всё равно учитываются. Как только запрос поступает, AI-сервер начинает обрабатывать весь prompt. Если ваше приложение обрывает его раньше (таймаут, кнопка «Стоп», обрыв соединения), затраты на обработку уже понесены, а ответа вы не получите.
- Огромным prompt нужно больше 30 секунд до первого токена. Агентные prompt на сотни КБ с тысячами сообщений могут превысить стандартный лимит многих приложений (30 или 60 секунд) ещё до того, как выйдет хоть один токен.
- Streaming поддерживает соединение живым. При включённом streaming наш сервер сразу отправляет заголовки, а затем каждые 10 секунд сигнал keepalive, пока ждёт ответ. Оборвать соединение всё ещё может общий лимит времени вашего приложения, поэтому установите его не менее 300 секунд.
- Для большого контекста выбирайте быструю модель. Для долгих сессий или больших репозиториев используйте более быструю модель, а крупные модели оставьте для шагов, где они действительно нужны. Сравните их на странице Цены.
Рекомендации для всех инструментов
- Таймаут
- Не менее 300 секунд. Следите за единицами: одни инструменты используют секунды (
300), другие — миллисекунды (300000). - Streaming
- Включите его. Без streaming данные не передаются, пока ответ не будет готов целиком, поэтому прокси и приложения сдаются раньше.
- Повторы
- Держите их низкими (0–3). Повтор после таймаута — это новый запрос, который тоже оплачивается. Сначала исправьте таймаут, а не увеличивайте число повторов.
- Контекст
- Держите его небольшим. Используйте автоматическое сжатие/резюмирование, начинайте новую сессию для каждой задачи и исключайте большие папки (node_modules, build, data).
Claude Code
- Base URL и ключ
- Следуйте руководству по Claude Code:
ANTHROPIC_BASE_URL=https://ai.geraikita.com(без /v1) иANTHROPIC_AUTH_TOKEN= ваш ключ gk-. Переменные можно указать в блокеenvфайла~/.claude/settings.json. - Таймаут
API_TIMEOUT_MS(миллисекунды): сколько каждая попытка ждёт заголовков ответа, по умолчанию 600000 (10 минут). Не уменьшайте его; если когда-то уменьшали, верните не менее300000.- Streaming
- Всегда использует streaming. Настройки, чтобы его отключить, нет.
- Повторы
CLAUDE_CODE_MAX_RETRIES, по умолчанию 10, включая таймауты до начала потоковой передачи ответа. Для больших prompt установите 2–3, чтобы один шаг не оплачивался снова и снова.- Контекст
/compactрезюмирует переписку,/clearначинает новую. Автосжатие включено по умолчанию (autoCompactEnabled); более низкое значениеCLAUDE_AUTOCOMPACT_PCT_OVERRIDE(например, 60) запускает сжатие раньше.
{
"env": {
"ANTHROPIC_BASE_URL": "https://ai.geraikita.com",
"ANTHROPIC_AUTH_TOKEN": "gk-xxxxxxxx",
"API_TIMEOUT_MS": "600000",
"CLAUDE_CODE_MAX_RETRIES": "3",
"CLAUDE_AUTOCOMPACT_PCT_OVERRIDE": "60"
}
}Cline
- Base URL и ключ
- Следуйте руководству по Cline: провайдер OpenAI Compatible (Base URL
https://ai.geraikita.com/v1) или Anthropic с Use custom base URLhttps://ai.geraikita.com. - Таймаут
- В официальной документации Cline нет настройки таймаута для провайдеров OpenAI Compatible и Anthropic (Request Timeout — только для Ollama). Чтобы первый токен пришёл быстрее: уменьшите контекст и выберите более быструю модель для большого контекста.
- Streaming
- В официальной документации нет настройки streaming; менять ничего не нужно.
- Повторы
- В официальной документации нет настройки повторов.
- Контекст
- Auto Compact автоматически резюмирует, когда контекст почти заполнен.
/smol(псевдоним/compact) резюмирует вручную,/newtaskпереносит резюме в новую задачу. Укажите Context Window size в Model Configuration в соответствии с моделью.
Roo Code
- Base URL и ключ
- Примечание: расширение Roo Code официально прекратило работу 15 мая 2026 года. Если вы всё ещё им пользуетесь: провайдер OpenAI Compatible, Base URL
https://ai.geraikita.com/v1, ваш ключ gk- (как в Cline). - Таймаут
roo-cline.apiRequestTimeoutв settings.json VS Code, в секундах (по умолчанию 600, диапазон 0–3600, 0 = без ограничения). Не опускайте ниже300.- Streaming
- Убедитесь, что в профиле OpenAI Compatible флажок Enable streaming остаётся включённым.
- Повторы
- При включённом Auto-Approve неудачные запросы повторяются автоматически с растущими задержками; отдельного переключателя нет.
- Контекст
- Intelligent Context Condensing (Settings → Context): снизьте порог со стандартных 100%, чтобы сжатие начиналось раньше, или нажмите Condense Context. Исключайте большие папки через
.rooignore.
Kilo Code
- Base URL и ключ
- Settings → Providers → Custom provider → OpenAI Compatible, Base URL
https://ai.geraikita.com/v1, ваш ключ gk-. Или используйте файл~/.config/kilo/kilo.jsonc, как в примере ниже. - Таймаут
options.timeoutу провайдера (миллисекунды) охватывает ожидание заголовков и первого байта. По умолчанию 300000 — впритык к лимиту; установите600000. Не делайтеchunkTimeoutслишком маленьким.- Streaming
- В официальной документации нет настройки streaming; менять ничего не нужно.
- Повторы
- В официальной документации нет настройки повторов.
- Контекст
compaction.auto(по умолчаниюtrue) и/compact. Для каждой модели обязательно задайтеlimit.context(меньшее число — более раннее сжатие): без него автосжатие не запускается. Исключайте большие папки через.kilocodeignoreили правила разрешений.
{
"provider": {
"geraikita": {
"npm": "@ai-sdk/openai-compatible",
"name": "Geraikita AI",
"options": {
"baseURL": "https://ai.geraikita.com/v1",
"apiKey": "gk-xxxxxxxx",
"timeout": 600000
},
"models": {
"claude-sonnet-5": {
"name": "Claude Sonnet 5",
"limit": { "context": 128000, "output": 16000 }
}
}
}
},
"compaction": { "auto": true }
}Cursor
- Base URL и ключ
- Cursor Settings → Models → OpenAI API key. Официальная документация Cursor не описывает собственный base URL; если ваша версия Cursor показывает Override OpenAI Base URL, введите
https://ai.geraikita.com/v1. Собственный API-ключ работает только для чат-моделей (Tab по-прежнему использует встроенные модели Cursor), а запросы проходят через серверы Cursor. - Таймаут
- В официальной документации нет настраиваемого таймаута. Вместо этого: уменьшите контекст, начинайте новый чат для каждой задачи и выбирайте быструю модель, чтобы первый токен пришёл до лимита приложения.
- Streaming
- Этим управляет Cursor; настройки нет.
- Повторы
- В официальной документации нет настройки повторов.
- Контекст
- Cursor автоматически резюмирует старые части переписки, когда контекст почти заполнен. Начинайте новый чат при каждой смене задачи и исключайте большие файлы через
.cursorignore.
OpenCode
- Base URL и ключ
- Следуйте руководству по OpenCode: провайдер
@ai-sdk/openai-compatibleсbaseURLhttps://ai.geraikita.com/v1. - Таймаут
- В
provider.geraikita.options(миллисекунды):headerTimeout(ожидание заголовков, по умолчанию 300000) иchunkTimeout(интервал между фрагментами потока, по умолчанию 300000).timeout(общий лимит) по умолчанию выключен; если задаёте его, используйте не менее300000. - Streaming
- Всегда использует streaming. Настройки, чтобы его отключить, нет.
- Повторы
- В официальной документации нет настройки повторов. Если запросы постоянно обрываются, исправьте таймаут и уменьшите контекст.
- Контекст
compaction.auto(по умолчаниюtrue) автоматически резюмирует сессию, когда контекст заполнен./compactрезюмирует вручную,/newначинает новую сессию.
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"geraikita": {
"npm": "@ai-sdk/openai-compatible",
"options": {
"baseURL": "https://ai.geraikita.com/v1",
"apiKey": "{env:GERAIKITA_API_KEY}",
"headerTimeout": 300000,
"chunkTimeout": 300000
}
}
},
"compaction": { "auto": true }
}Continue
- Base URL и ключ
- В
config.yaml:provider: openai,apiBase: https://ai.geraikita.com/v1,apiKey= ваш ключ gk-. - Таймаут
requestOptions.timeoutв секундах (по умолчанию 7200). Укажите не менее300, а не 300000.- Streaming
- Провайдер
openaiвсегда использует streaming. - Повторы
- В официальной документации нет настройки повторов.
- Контекст
defaultCompletionOptions.contextLengthиmaxTokensограничивают размер контекста и ответа. Начинайте новый чат для каждой задачи; в Continue CLI есть/compactи/clear.
models:
- name: Claude Sonnet 5 (Geraikita)
provider: openai
model: claude-sonnet-5
apiBase: https://ai.geraikita.com/v1
apiKey: gk-xxxxxxxx
requestOptions:
timeout: 600 # секунды, не миллисекунды
defaultCompletionOptions:
contextLength: 64000 # меньше = история обрезается
maxTokens: 8192n8n
- Base URL и ключ
- Учётные данные OpenAI: укажите в Base URL
https://ai.geraikita.com/v1и ваш API-ключ gk-. Учётные данные Anthropic: Base URLhttps://ai.geraikita.com. - Таймаут
- Узел OpenAI Chat Model → Options → Timeout (миллисекунды). По умолчанию 60000 (60 секунд) — частая причина обрывов на 60-й секунде; установите не менее
300000. У узла HTTP Request → Options → Timeout тоже в миллисекундах. Self-hosted: не устанавливайтеEXECUTIONS_TIMEOUT(секунды) ниже этого значения. - Streaming
- AI Agent → Options → Enable Streaming (включено по умолчанию; нужен Chat Trigger или Webhook с Response Mode Streaming). Anthropic Chat Model → Stream Responses. У OpenAI Chat Model нет опции streaming, поэтому полагайтесь на достаточно длинный Timeout.
- Повторы
- OpenAI Chat Model → Options → Max Retries, по умолчанию 2. Повторы после таймаута тоже оплачиваются; сначала исправьте Timeout.
- Контекст
- Подузел Simple Memory → Context Window Length = сколько прошлых взаимодействий отправляется. Держите значение небольшим, например 5–10.
OpenAI SDK (Python и Node.js)
- Base URL и ключ
base_url/baseURL=https://ai.geraikita.com/v1,api_key/apiKey= ваш ключ gk-. Базовый пример — в разделе Первый запрос.- Таймаут
timeout: секунды в Python, миллисекунды в Node.js. По умолчанию в SDK 10 минут — это нормально, если не опускать ниже 300 секунд.- Streaming
stream=True(Python) /stream: true(Node.js).- Повторы
max_retries/maxRetries, по умолчанию 2, включая повтор запросов, завершившихся по таймауту. Для больших prompt установите 0–1.- Контекст
- Отправляйте только нужную историю: обрезайте старые сообщения или резюмируйте их перед отправкой.
from openai import OpenAI
client = OpenAI(
base_url="https://ai.geraikita.com/v1",
api_key="gk-xxxxxxxx",
timeout=600.0, # секунды
max_retries=1, # повторы после таймаута тоже оплачиваются
)
stream = client.chat.completions.create(
model="claude-sonnet-5",
messages=[{"role": "user", "content": "Halo!"}],
stream=True,
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)Anthropic SDK (Python и Node.js)
- Base URL и ключ
base_url/baseURL=https://ai.geraikita.com(без /v1, SDK сам добавляет /v1/messages),api_key/apiKey= ваш ключ gk-.- Таймаут
timeout: секунды в Python, миллисекунды в Node.js; по умолчанию 10 минут. SDK отклоняет запросы без streaming, которые предположительно займут больше примерно 10 минут, поэтому используйте streaming.- Streaming
client.messages.stream(...)илиstream=True/stream: trueвmessages.create.- Повторы
max_retries/maxRetries, по умолчанию 2. Для больших prompt установите 0–1.- Контекст
- Отправляйте только нужную историю; ограничьте
max_tokensтем, что действительно нужно ответу.
import anthropic
client = anthropic.Anthropic(
base_url="https://ai.geraikita.com", # без /v1
api_key="gk-xxxxxxxx",
timeout=600.0, # секунды
max_retries=1, # повторы после таймаута тоже оплачиваются
)
with client.messages.stream(
model="claude-sonnet-5",
max_tokens=4096,
messages=[{"role": "user", "content": "Halo!"}],
) as stream:
for text in stream.text_stream:
print(text, end="", flush=True)curl
- Base URL и ключ
- Заголовок
Authorization: Bearer gk-...наhttps://ai.geraikita.com/v1/chat/completions. Базовый пример — в разделе Первый запрос. - Таймаут
- Без
--max-timecurl не ограничивает общую длительность. Если используете его, установите не менее300(секунды). - Streaming
"stream": trueв теле запроса, плюс-N(--no-buffer), чтобы фрагменты ответа появлялись сразу.- Повторы
--retryпо умолчанию 0 и повторяет запрос в том числе при таймауте. Не добавляйте его для больших prompt.- Контекст
- Тело запроса вы собираете сами: отправляйте только нужные сообщения.
curl https://ai.geraikita.com/v1/chat/completions \
--max-time 600 -N \
-H "Authorization: Bearer gk-xxxxxxxx" \
-H "Content-Type: application/json" \
-d '{"model":"claude-sonnet-5","stream":true,"messages":[{"role":"user","content":"Halo!"}]}'Условия оплаты
Запросы, отменённые на стороне покупателя (таймаут приложения, кнопка «Стоп», обрыв соединения) до получения ответа, всё равно оплачиваются. Пустой вывод компенсируется только при проблемах на нашей стороне (сервер вернул пустой ответ или ошибку либо не было вывода ≥60 секунд). Действует с 1 ноября 2026 года.
Условия использования, Статья 10Частые вопросы
Моё приложение отвалилось по таймауту, вывод пустой. С меня всё равно спишут оплату?
Да, если ваше приложение оборвало запрос до получения ответа: AI-сервер уже обработал ваш prompt. Это закреплено в Условиях использования и действует с 1 ноября 2026 года.
Когда пустой вывод компенсируется?
Когда проблема на нашей стороне: сервер вернул пустой ответ или ошибку либо вывода не было совсем 60 секунд и дольше.
Почему бы просто не увеличить число повторов?
Каждый повтор — это новый запрос. Если причина в слишком коротком таймауте, повторы лишь повторяют оплату без результата. Увеличьте таймаут минимум до 300 секунд и включите streaming.
У меня огромный prompt. Что поможет больше всего?
Резюмируйте или начните новую сессию, исключите большие папки и используйте более быструю модель для большого контекста. Сравните модели на странице Цены.