Руководство для OpenCode 1.x
Своя модель
в OpenCode.
Соберите настройки внешнего API, подключите модель и проверьте её на задаче с файлами и тестами.
Нужны OpenCode 1.x и доступ к внешнему API. Совместимость tokea с OpenCode ещё не подтверждена. Ниже — общее руководство по настройке клиента.
/connectВ этом руководстве ключ вводить не нужно.
Сверено с OpenCode 1.19.3 · 17 октября 2026
У вас версия 2? Откройте её документацию ↗Перед подключением
Одного ключа мало.
Вот что нужно узнать.
Внешний API даёт агенту доступ к модели. Уточните у сервиса адрес, точный ID модели, лимиты контекста и ответа. Название из чата может отличаться от ID в API.
OpenCode ветки 1.x
Проверьте opencode --version в терминале. Если клиент ещё не установлен, начните с официальной установки. У версии 2 другая схема настроек.
API для агентной работы
Эта инструкция рассчитана на Chat Completions: /chat/completions, вызовы инструментов и потоковые ответы. Уточните поддержку у сервиса для выбранной модели. Для Responses нужна другая настройка.
Отдельная тестовая папка
Для упражнения ниже нужен Node.js с командой node --test (18+). Достаточно встроенного тестового модуля, устанавливать пакеты для примера не требуется.
Проверьте условия оплаты
Подписка на чат или встроенный план клиента не означает наличие внешнего API. Уточните, какой доступ выдаёт сервис и как оплачиваются запросы. Агент может сделать несколько запросов ради одной задачи.
Файл настроек
Адрес, модель и лимиты.
Перенесите значения из документации вашего API. Помощник соберёт JSON в браузере. Сетевых запросов и проверки подключения здесь нет.
OpenCode 1.x · Chat Completions · без API-ключа
ID для команды /connect → Other
Подключение
Дальше — в самом OpenCode.
Подготовьте тестовую папку и файл
Скачайте тестовый проект и распакуйте в отдельную папку. Сохраните туда собранный
opencode.json. Перед запуском клиента выполнитеnode --test quote.test.mjs— должны пройти четыре теста. Если файл настроек уже есть, сначала сделайте копию.Запустите OpenCode в этой папке
Введите
opencodeв терминале. В клиенте выполните/connect, выберитеOtherи введите локальный ID из формы выше. По умолчанию этоexternal-api.Если ID принадлежит другому сервису, выберите новое имя в форме и пересоберите файл. Затем введите реальный API-ключ в OpenCode. Он должен принадлежать сервису, чей Base URL вы указали.
Выберите модель через
/modelsНайдите провайдера с выбранным ID и свой Model ID. Перед первым сообщением проверьте выбранную модель. Появление в списке ещё не проверяет ответы API.
Перейдите к тестовой задаче
Для правки файлов выберите агента Build. Смотрите, какие действия он запрашивает. Режим Plan предназначен для планирования и может не разрешать правку файлов.
Основа настройки: Custom provider, выбор модели и агенты OpenCode.
Проверка агента
Прочитать файл.
Изменить. Запустить тесты.
Ответ в чате проверяет только часть цепочки. В маленьком проекте видно, как модель вызывает инструменты, сохраняет результат и продолжает работу после ответа инструмента.
quote.mjs — считает сумму и проверяет входные данные
quote.test.mjs — проверяет исходное поведение
README.txt — задача и критерии
Распакуйте проект в папку с opencode.json. Для самостоятельного запуска node --test quote.test.mjs откройте второе окно терминала в этой папке. Исходные четыре теста должны пройти. Если команда не работает, проверьте node --version и установку Node.js в той же среде терминала.
Первая задача
Прочитай README.txt, quote.mjs и quote.test.mjs в этой папке.
Добавь к calcTotal(unitPrice, quantity) третий параметр discountPercent
со значением по умолчанию 0. Скидка от 0 до 100 процентов применяется
к стоимости товаров. Неверный процент должен вызывать RangeError.
Округляй итог до двух знаков. Старые вызовы должны работать.
Добавь тесты: (300, 2, 10) → 540; (300, 2, 100) → 0;
(0.1, 3, 10) → 0.27; проценты -1, 101 и NaN отклоняются.
Не меняй ожидаемые результаты существующих тестов.
Запусти node --test quote.test.mjs и покажи итог и изменения.
Пакеты и сетевые обращения для этой задачи не нужны.Повторная правка в той же сессии
Теперь добавь четвёртый параметр delivery со значением по умолчанию 0.
Скидка действует на товары; доставка прибавляется после скидки.
Доставка — конечное неотрицательное число, иначе RangeError.
Добавь тесты: (300, 2, 10, 120) → 660; (300, 2, 100, 120) → 120;
отрицательная и бесконечная доставка отклоняются.
Сохрани все предыдущие проверки, снова запусти тесты и покажи итог.Что посмотреть после запуска
Отмечайте только то, что увидели в клиенте и файлах. Эта страница не получает результаты OpenCode. Отметки остаются только в открытой странице.
Пока нет отметок. Результат API на этой странице не проверяется.
Пройденный пример показывает работу этой связки на маленькой задаче. Для больших репозиториев отдельно проверяют длинный контекст, отмену, ошибки, повторы и стоимость всего цикла.
Если не получилось
Где остановилась цепочка?
Если неясен сам формат API, начните с документации сервиса и диагностики OpenCode. Не меняйте сразу адрес, модель и пакет: так сложнее понять причину.
Куда попадают данные проекта
Для работы агент передаёт контекст выбранной модели через настроенный API. Клиент также может сохранять локальную историю. Перед реальным проектом изучите правила хранения клиента и сервиса, разрешения и настройки публикации сессий.
Наше правило «не храним промпты и ответы» относится к tokea. Оно не описывает хранение в OpenCode и других инструментах.
tokea
Модели разных разработчиков.
Один внешний API.
Выбирайте модель через OpenAI-совместимый API. Промпты и ответы не храним; сохраняем количество токенов и технические данные запросов.
О сервисе tokeaЧто нужно для подключения к OpenCode
Базовый адрес API tokea
https://llm.tokea.ru/v1- Проверенные Base URL и Model ID
- Лимиты и условия оплаты
- Подтверждённые tools и потоковые ответы
- Успешный тест полного агентного цикла
Совместимость tokea с OpenCode пока не подтверждена. После проверки здесь появятся точные настройки нашего API.
На чём основано руководство
Материал команды tokea. Сверен с документацией ветки 1 и исходниками 1.19.3 на 17 октября 2026. API tokea в клиенте не испытывался. OpenCode — отдельный продукт; это руководство не означает партнёрство с его командой.