Разделы базы знаний ▾
Навигация
▸ Начните здесь По ролямКатегории
- Cursor + Gonka AI — дешёвый LLM для кодинга
- Claude Code + Gonka AI — LLM для терминала
- OpenClaw + Gonka AI — доступные AI-агенты
- OpenCode: своя модель в терминале
- Continue.dev + Gonka AI — AI для VS Code/JetBrains
- Cline + Gonka AI — AI-агент в VS Code
- Aider + Gonka AI — парное программирование с AI
- LangChain + Gonka AI — AI-приложения за копейки
- n8n + Gonka AI — автоматизация с дешёвым AI
- Open WebUI + Gonka AI — свой ChatGPT
- LibreChat + Gonka AI — open-source ChatGPT
- Hermes Agent + DeepSeek в сети Gonka — автономный агент за копейки
- Kilo Code + Gonka AI — AI-агент в VS Code
- Roo Code + Gonka AI — автономный AI-агент в VS Code
- LlamaIndex + Gonka AI — RAG-приложения за копейки
- PydanticAI + Gonka — типизированные AI-агенты за копейки
- Vercel AI SDK + Gonka AI — AI-приложения на TypeScript за копейки
- TanStack AI + Gonka — AI-приложения на TypeScript за копейки
- API быстрый старт — curl, Python, TypeScript
- JoinGonka Gateway — полный обзор
- Management Keys — SaaS на Gonka
- Самый дешёвый AI API: сравнение провайдеров 2026
- Как купить токены AI и API-ключ: 3 способа в 2026
- Лимит запросов Cursor Pro исчерпан — разбор и дешёвая альтернатива
- Claude Code дешевле — разбор счёта и переключение
- Cline сжигает деньги — почему агент тратит так много
- OpenClaw дорого обходится — почему агент жжёт токены и как сэкономить
- OpenRouter: дешёвая альтернатива — сравнение с JoinGonka Gateway
- Лучшая AI-модель для кодинга в 2026: сравнение и цены
- Дешёвая альтернатива GitHub Copilot без лимитов
- Дешёвая альтернатива Windsurf без кредитов и лимитов
- Самый дешёвый API для AI-агентов в 2026
- ZCode: дешёвый GLM-инференс вместо GLM Coding Plan
- JetBrains IDE + JoinGonka Gateway — свой endpoint вместо кредитов
- GitHub Copilot BYOK — свои модели вместо квоты
- Zed + JoinGonka Gateway — дешёвый инференс в редакторе
- Pi + JoinGonka Gateway — терминальный агент на дешёвом инференсе
- Codex CLI: свой ключ вместо подписки
- DeepSeek Harness: свой провайдер через JoinGonka Gateway
- MiniMax Code: агент MiniMax на своём ключе через Gonka
- Warp + JoinGonka Gateway — агент терминала на своём endpoint
- Trae + JoinGonka Gateway — модели сети Gonka в AI-IDE
- Cherry Studio + JoinGonka Gateway — настольный AI-клиент
- omp (Oh My Pi) + JoinGonka Gateway: агент с ролями моделей
- OpenHands + JoinGonka Gateway: агент на своём endpoint
- Qwen Code после закрытия qwen-oauth: работа через JoinGonka Gateway
- Goose + JoinGonka Gateway: свой провайдер и ключ в keyring
- Crush + JoinGonka Gateway: агент Charm на моделях сети Gonka
- Zoo Code + JoinGonka Gateway: переезд с Roo Code на модели Gonka
- Kimi Code CLI: агент Moonshot AI на своём ключе через Gonka
- Factory Droid + JoinGonka Gateway: BYOK на моделях сети Gonka
- MiMo Code + JoinGonka Gateway: агент Xiaomi на моделях сети Gonka
Инструменты
omp (Oh My Pi) + JoinGonka Gateway: агент с ролями моделей
omp (Oh My Pi) — терминальный coding-агент, форк минималистичного Pi, в который добавили всё, чего не хватало для большой работы: языковые серверы (LSP) на каждой записи файла, управление настоящим отладчиком, субагентов в изолированных рабочих копиях, постоянные ячейки Python и JavaScript. Ядро написано на Rust, и один и тот же бинарник работает на macOS, Linux и Windows.
Провайдеры в omp описываются декларативно: любой endpoint, говорящий на OpenAI Chat Completions, добавляется десятком строк в ~/.omp/agent/models.yml. JoinGonka Gateway именно такой, поэтому подключение сводится к одной команде установщика или к двум коротким YAML-файлам. После этого агент работает на моделях децентрализованной сети Gonka — DeepSeek V4 Flash, GLM-5.3 Flash и MiniMax M2.7 — по единой цене: $0.0069 за миллион входных токенов.
Главное отличие omp от родителя — роли моделей: обычные ходы, глубокий разбор, режим планирования и фоновые мелочи можно отдать разным моделям и подстраховать цепочкой запасных. Ниже — быстрый путь, ручная настройка, таблица «какую модель на какую роль» и разбор ошибок. Команды и сообщения сверены живым прогоном omp 18.2.8 через шлюз 21 сентября 2026. После подтверждения адреса на счёт придут 3M бесплатных токенов — их хватит, чтобы повторить всё это самому.
Быстрый старт: установка и одна команда
Шаг 1: поставить omp. Официальные способы из README проекта:
# macOS and Linux
curl -fsSL https://omp.sh/install | sh
# Homebrew
brew install can1357/tap/omp
# via Bun (requires Bun 1.3.14 or newer)
bun install -g @oh-my-pi/pi-coding-agent
# Windows (PowerShell)
irm https://omp.sh/install.ps1 | iexШаг 2: получить ключ. Зарегистрируйтесь на gate.joingonka.ai/register, подтвердите адрес и создайте ключ с префиксом jg- в разделе «API-ключи». Один ключ и один баланс действуют для всех моделей сети.
Шаг 3: запустить установщик.
npx @joingonka/setup --tool ompУстановщик спросит ключ — в аргументах командной строки он не передаётся, чтобы не осесть в истории оболочки, — и сделает четыре вещи:
- пропишет провайдера
joingonkaв~/.omp/agent/models.yml: адрес шлюза, протоколopenai-completions, ключ литералом и три модели сети с настоящими окнами контекста и потолками ответа; файл получит права600; - поставит модель по умолчанию —
modelRoles.defaultв~/.omp/agent/config.yml— на DeepSeek V4 Flash, но только если роль пуста или указывает на модель, ушедшую из сети: чужой выбор он не перехватывает, а подсказывает, как переключиться; - перед записью сделает резервную копию прежнего файла, а остальные провайдеры, роли и комментарии оставит как были;
- в конце отправит живой запрос на шлюз и прямо скажет, приняты ли ключ, адрес и модель.
Другую модель по умолчанию задаёт флаг --model с сокращением deepseek, glm или minimax — явно указанная модель записывается всегда. Для дотфайлов и серверов есть режим без вопросов, ключ в нём берётся из переменной окружения:
JOINGONKA_API_KEY=jg-your-key npx @joingonka/setup --tool omp --model glm --non-interactiveНестандартное расположение конфигов установщик учитывает сам: именованный профиль (OMP_PROFILE) и перенесённый каталог агента (PI_CODING_AGENT_DIR). Наследный models.json он переносит в models.yml так же, как сделал бы сам omp, — прежние провайдеры не пропадут. А если рядом лежит старый settings.json без config.yml, установщик не станет создавать config.yml, чтобы omp не пропустил собственный перенос настроек: он попросит один раз запустить omp и повторить команду.
Ручная настройка: два YAML-файла
Всё, что делает установщик, можно написать руками. Файлов два, и у каждого своя работа: models.yml описывает провайдеров и модели, config.yml хранит настройки — в том числе то, какая модель стоит на какой роли.
# ~/.omp/agent/models.yml
providers:
joingonka:
baseUrl: https://gate.joingonka.ai/v1
api: openai-completions
apiKey: jg-your-key
models:
- id: deepseek-ai/DeepSeek-V4-Flash-0731
name: DeepSeek V4 Flash (Gonka)
input: [text]
contextWindow: 380000
maxTokens: 32768
reasoning: true
- id: zai-org/GLM-5.3-Flash
name: GLM-5.3 Flash (Gonka)
input: [text]
contextWindow: 390000
maxTokens: 8192
reasoning: true
- id: MiniMaxAI/MiniMax-M2.7
name: MiniMax M2.7 (Gonka)
input: [text]
contextWindow: 200000
maxTokens: 8192# ~/.omp/agent/config.yml
modelRoles:
default: joingonka/deepseek-ai/DeepSeek-V4-Flash-0731| Поле | Значение | Что важно |
|---|---|---|
baseUrl | https://gate.joingonka.ai/v1 | Обязательно с /v1 на конце: путь /chat/completions omp дописывает сам |
api | openai-completions | Транспорт Chat Completions — на нём проверена вся эта инструкция |
apiKey | ваш ключ jg-… | omp сначала ищет переменную окружения с таким именем и, не найдя, берёт строку как сам ключ. Значение, которое начинается с !, — команда, чей вывод станет ключом |
contextWindow, maxTokens | по списку моделей выше | Без них omp подставит 128000 и 16384 — моделям сети это не соответствует. По окну контекста агент считает, когда пора сжимать историю |
input | [text] | Модели сети принимают текст |
reasoning | true | Отметка рассуждающей модели: установщик ставит её DeepSeek V4 Flash и GLM-5.3 Flash, запись MiniMax M2.7 обходится без неё |
Ключ литералом — самый беспроблемный вариант: omp стартует из любого окружения, а файл достаточно закрыть командой chmod 600 ~/.omp/agent/models.yml. Хотите держать ключ вне файла — впишите в apiKey имя переменной, например JOINGONKA_API_KEY, и экспортируйте её в оболочке, откуда запускаете omp: именно такой порядок разрешения ключа описан в документации проекта.
Необязательное поле cost (цена за миллион токенов) нужно только для оценки стоимости сессии в интерфейсе omp. Установщик вписывает туда живую цену шлюза на момент установки; в ручном конфиге поле можно опустить — к вашему счёту эта оценка отношения не имеет, фактический расход показывает кабинет.
Селектор модели записывается как provider/model-id. Имя провайдера отделяется по первой косой черте, поэтому идентификаторы сети с собственной косой чертой пишутся как есть: joingonka/deepseek-ai/DeepSeek-V4-Flash-0731. Вместо правки config.yml роль можно назначить из интерфейса — командой /model внутри сессии или в мастере omp setup.
Роли моделей: какую модель на какую работу
В omp модель выбирается не одна на всё, а по ролям — это и есть главный рычаг настройки. Встроенные роли для диалога: default, smol, slow, plan, commit, task, tiny, memory, advisor и vision. Назначать все не нужно: незаданные smol и slow сначала берут модель роли default, субагенты без роли task работают на модели текущей сессии, commit и tiny идут следом за smol. Конфигурация из одной строки default — полностью рабочая.
Делить роли между моделями сети стоит не ради экономии — цена у DeepSeek V4 Flash, GLM-5.3 Flash и MiniMax M2.7 одна, — а ради поведения и ёмкости: рассуждающая модель лучше планирует, модель с длинным ответом лучше пишет, а фоновые мелочи незачем ставить в одну очередь с основной задачей.
| Роль | Что на ней выполняется | Модель сети | Почему |
|---|---|---|---|
default | обычные ходы агента: чтение, правки, команды | DeepSeek V4 Flash | Контекст 380K и потолок ответа 32768 — запас для длинных сессий с инструментами; её же ставит установщик |
smol, task, commit | быстрые подзадачи, субагенты, разбор изменений для коммитов | не задавать — по наследованию придут к DeepSeek V4 Flash | Все они вызывают инструменты, а отдельная «дешёвая» модель при единой цене ничего не экономит |
slow | глубокий разбор: запутанная логика, поиск причины | GLM-5.3 Flash | Рассуждает перед ответом; потолок ответа 8192, и часть его уходит на рассуждения — для длинного текста верните DeepSeek V4 Flash |
plan | режим планирования | GLM-5.3 Flash | План — короткий текст, в котором ход мысли важнее объёма |
tiny | заголовки сессий и служебная классификация — короткие запросы без инструментов | MiniMax M2.7 | У модели самая большая ёмкость в сети, и фон не спорит за слоты с основной задачей |
advisor | вторая модель, которая читает каждый ход основной и вставляет замечания | GLM-5.3 Flash, по желанию | Советнику полезно отличаться от исполнителя; включается командой /advisor on |
vision | задачи с картинками | не задавать | Модели сети текстовые: роль оставьте провайдеру с vision-моделью |
# ~/.omp/agent/config.yml
modelRoles:
default: joingonka/deepseek-ai/DeepSeek-V4-Flash-0731
slow: joingonka/zai-org/GLM-5.3-Flash
plan: joingonka/zai-org/GLM-5.3-Flash
tiny: joingonka/MiniMaxAI/MiniMax-M2.7
retry:
fallbackChains:
default:
- joingonka/zai-org/GLM-5.3-FlashБлок retry.fallbackChains — страховка на час пик: когда основная модель упорно отвечает 429, omp передаёт остаток хода следующей записи цепочки, а после паузы возвращается к основной. Ключом цепочки может быть роль, конкретная модель или весь провайдер (joingonka/*).
На один запуск роль переопределяется флагом: omp --model slow запускает сессию на модели роли slow, а --smol, --slow и --plan подменяют модель самой роли. Внутри сессии Ctrl+P листает модели ролей, а /model открывает выбор; во вкладке Roles там же назначаются роли и их запасные.
К значению роли можно дописать уровень размышлений — :low, :medium, :high. Это синтаксис omp, а как уровень понимает конкретная модель, зависит от неё самой: у GLM-5.3 Flash, например, это двоичный переключатель — подробности в обзоре модели. И ещё одна полезная деталь: роли можно переопределить для одного репозитория файлом <repo>/.omp/config.yml с тем же блоком modelRoles. Провайдеры и ключи при этом остаются в домашнем каталоге, так что ключ в репозиторий не попадёт.
Проверка: что должно произойти
Сначала убедитесь, что omp видит провайдера:
omp models joingonkaВ ответ приходит таблица из трёх строк с окнами контекста и потолками ответа из models.yml, округлёнными до тысяч (вывод сокращён: у omp есть ещё колонки thinking и images):
joingonka (3)
model context max-out
deepseek-ai/DeepSeek-V4-Flash-0731 380K 33K
MiniMaxAI/MiniMax-M2.7 200K 8.2K
zai-org/GLM-5.3-Flash 390K 8.2KЗатем — разовый прогон без интерфейса. Положите в пустой каталог файл с очевидной ошибкой и попросите её найти:
omp -p "Read calc.py and tell me in one sentence whether it has a bug."Агент должен сам вызвать инструмент чтения и ответить по существу — с указанием выражения, где ошибка. В нашем прогоне 21 сентября 2026 этот цикл — запрос, вызов инструмента, результат, ответ — чисто прошли DeepSeek V4 Flash и GLM-5.3 Flash; про MiniMax M2.7 — последняя строка таблицы ниже.
Третья проверка — со стороны шлюза: в кабинете в разделе «Использование» запрос появится в разбивке «По моделям», а в блоке «По ключам» обновится время последнего запроса. Если там пусто, omp ходит к другому провайдеру: посмотрите, что стоит на ролях, командой omp config get modelRoles.
Если что-то пошло не так, диагноз обычно читается прямо из сообщения:
| Что видно | Что это значит | Что сделать |
|---|---|---|
Bun runtime must be >= 1.3.14 | omp поставлен через Bun, а сам Bun старый | Обновите Bun (bun upgrade) или поставьте готовый бинарник: curl -fsSL https://omp.sh/install | sh -s -- --binary |
401 Invalid API key | Шлюз не принял ключ | Проверьте apiKey: ключ целиком, без пробелов и кавычек-опечаток. Если там имя переменной — она должна быть экспортирована в той оболочке, откуда запущен omp |
405 Not Allowed и HTML-страница nginx | В baseUrl потерялся суффикс | Адрес должен заканчиваться на /v1 |
404 Invalid URL (POST /v1/v1/chat/completions) | В baseUrl лишний хвост | Оставьте ровно https://gate.joingonka.ai/v1 — остальное omp допишет сам |
400 Model … not found. Available: … | Опечатка в id модели | Шлюз сам перечисляет доступные идентификаторы; полный список — GET https://gate.joingonka.ai/v1/models |
Warning: models.yml validation failed — custom providers disabled, затем No models matching "joingonka" | Файл не прошёл проверку: опечатка в имени обязательного поля или битый YAML. omp при этом продолжает работать на встроенных моделях | Причина названа строкой ниже предупреждения; исправьте поле и повторите omp models joingonka |
429 | У ключа исчерпан минутный лимит запросов либо у модели в час пик закончилась ёмкость | omp сам повторяет запрос с нарастающей паузой. Затянулось — смените модель через /model или настройте retry.fallbackChains; состояние сети видно на странице статуса |
402 | На балансе закончились средства | Пополните счёт в разделе «Биллинг»; ключ при этом рабочий |
Ход завершился, а видимого ответа нет (в режиме -p — пустая строка) | Наблюдали 21 сентября 2026 на MiniMax M2.7 в ходах после вызова инструмента: ответ пришёл внутри блока рассуждений, и omp показал его как размышление | Поставьте на роли с инструментами DeepSeek V4 Flash или GLM-5.3 Flash, а MiniMax M2.7 оставьте для коротких задач без инструментов |
Сколько это стоит
Агентный инструмент тратит токены иначе, чем чат: к каждой вашей фразе omp добавляет системный промпт и описания инструментов, а задача обычно занимает несколько ходов. В нашем прогоне даже с единственным включённым инструментом чтения каждый ход нёс около 3,5 тысячи входных токенов; с полным набором будет больше. Поэтому цена за токен здесь решает.
Через JoinGonka Gateway токены стоят $0.0069 за миллион на входе и $0.021 за миллион на выходе — цена одинакова для всех моделей сети и подставляется на этой странице из живого источника.
| Сценарий | Расход | Через Gateway |
|---|---|---|
| Разовая задача: прочитать файл, найти ошибку | от 7K токенов | доли цента |
| День активной работы | 3-7M токенов | единицы центов |
| Месяц активной разработки | ~150M токенов | около доллара |
Оценки в правой колонке — по ценам на сентябрь 2026. Для сравнения — как вообще можно платить за модели в omp:
| Способ | Модель оплаты | Что ограничивает |
|---|---|---|
Подписка на coding plan (вход через /login) | фиксированная сумма в месяц | квоты и окна обновления лимитов на стороне вендора |
| Ключ вендора напрямую | за токены по прайсу вендора | счёт растёт вместе с длиной сессий; цена зависит от выбранной модели |
| JoinGonka Gateway | за токены, предоплаченный баланс | расход виден в кабинете; подписки и месячных квот нет |
Строка состояния omp показывает оценку стоимости сессии. Считается она по полю cost из models.yml: установщик вписывает туда цену шлюза на момент установки, а долларовая цена в сети плавает вместе с курсом GNK, поэтому оценка — ориентир. Точный расход и остаток — в кабинете, в разделах «Использование» и «Биллинг». Почему выбор по умолчанию пал на DeepSeek V4 Flash, подробно разобрано в обзоре модели.
Что учесть в работе
Режим подтверждений. По умолчанию omp работает в режиме yolo: сам одобряет чтение, запись и запуск команд. На своём проекте это удобно, на чужом коде — повод ужесточить режим или уйти в контейнер:
omp config set tools.approvalMode writeВ режиме write агент спрашивает разрешение только на исполнение команд, в always-ask — ещё и на запись. На один запуск то же задаёт флаг --approval-mode. Это свойство самого omp, от провайдера модели оно не зависит.
Pi и omp — родственники с разными конфигами. Настройка одного инструмента второму не передаётся: каталоги, форматы и имена полей у них свои.
| Pi | omp | |
|---|---|---|
| Каталог настроек | ~/.pi/agent | ~/.omp/agent |
| Провайдеры | models.json | models.yml |
| Модель по умолчанию | settings.json: defaultProvider и defaultModel | config.yml: modelRoles.default |
| Выбор модели под задачу | /model в сессии | роли modelRoles и цепочки retry.fallbackChains |
| Проверка | pi --list-models | omp models joingonka |
| Установщик | --tool pi | --tool omp |
Несколько окружений. Именованный профиль (omp --profile work или переменная OMP_PROFILE) переносит все настройки в ~/.omp/profiles/<name>/agent — удобно развести рабочие и личные ключи. Текущий каталог агента печатает omp config path.
Если агент нужен в редакторе. omp умеет работать внутри Zed по протоколу ACP — это тот же агент с теми же настройками, второй раз провайдера и роли прописывать не нужно.
npx @joingonka/setup --tool omp — или двумя файлами: провайдер joingonka в ~/.omp/agent/models.yml (baseUrl с /v1, api: openai-completions, ключ jg-…, модели с честными contextWindow и maxTokens) и modelRoles.default в config.yml. Дальше работает главный рычаг omp — роли: DeepSeek V4 Flash на обычные ходы, GLM-5.3 Flash на разбор и планирование, MiniMax M2.7 на фоновые мелочи, цепочка fallbackChains на час пик. Проверка — omp models joingonka и раздел «Использование» в кабинете; цена у всех моделей сети одна, поэтому роли выбираются по поведению, а не по бюджету.Хотите узнать больше?
Изучите другие разделы или начните зарабатывать GNK прямо сейчас.
Получить ключ и бесплатные токены →