Работа с OpenCode
Как установить OpenCode, выбрать модель и подключить агента к GitHub Actions.
OpenCode это агент для разработки на основе языковых моделей, который работает в терминале. На нём построены курсы по разработке с ИИ: агент читает код проекта, правит файлы, запускает команды и умеет отвечать на задачи в GitHub.
Установка
Скачайте OpenCode со страницы загрузки и выберите вариант для своей операционной системы. После установки проверьте версию:
opencode --version
В выводе должна быть вторая версия, например opencode v2.0.13. Инструкции ниже написаны для неё. Если стоит версия 1.x, удалите её и поставьте OpenCode заново со страницы загрузки. На старой версии часть команд называется иначе, а в списке интеграций нет нужных пунктов.
Запустите агента командой opencode в каталоге проекта.
Выбор модели
Модель выбирается внутри OpenCode командой /models. Модели тратят токены по-разному, поэтому под простую задачу стоит брать недорогую модель.
Бесплатные модели
OpenCode даёт набор бесплатных моделей. Для них не нужны ни вход в аккаунт, ни ключ, ни карта: после установки они сразу видны в /models. В названии такой модели обычно стоит free.
Состав бесплатных моделей OpenCode меняет, поэтому модель из урока через месяц может пропасть из списка. Актуальный список лежит в документации OpenCode. Если модели из урока нет, возьмите любую другую бесплатную.
У бесплатных моделей есть дневной лимит запросов. Кроме того, запросы к части из них OpenCode и авторы моделей используют для обучения, поэтому личные данные, пароли и чужой закрытый код туда не отправляйте.
Платные модели
Для платных моделей нужен аккаунт OpenCode. Выполните в терминале:
opencode auth login opencode
OpenCode спросит способ входа:
┌ Connect an integration
│
◆ Select login method
│ ● OpenCode Console account
│ ○ API key (service account)
└
Выберите OpenCode Console account, это вход через браузер. Второй пункт нужен для ключа сервисного аккаунта, в терминале он не используется. OpenCode напечатает код и адрес:
┌ Connect an integration
│
◇ Select login method
│ OpenCode Console account
│
◇ Authorization started
│
● Enter code: CDDW-LVGK
│
● https://opencode.ai/console/device?user_code=CDDW-LVGK&client_id=opencode-cli
│
◐ Waiting for authorization.
Откройте адрес в браузере, проверьте код и войдите через Google или GitHub. После подтверждения команда завершится сама. Внутри OpenCode то же самое делает команда /connect.

Проверить подключение можно командой:
opencode auth list
В выводе стоит интеграция, имя пространства и статус stored:
OpenCode Console Default stored
Оплата и расход живут в кабинете opencode.ai/console. Ключ другого провайдера, например OpenAI или Anthropic, подключается той же командой /connect.
Доступ к моделям от Хекслета
В части программ Хекслет даёт студентам доступ к платным моделям через пространство Hexlet Students в OpenCode. Устройство OpenCode и команды остаются теми же, что описаны выше. Меняется пространство, из которого идут запросы. Ключ для GitHub Actions выпускается по шагам ниже, только в поле Workspace выберите Hexlet Students.
Если куратор не сообщал вам о доступе к Hexlet Students, пользуйтесь бесплатными моделями из разделов выше.
Приглашение в пространство
Приглашение приходит на почту, которую вы указали в анкете курса. Войти в OpenCode можно только через Google или GitHub, поэтому почта аккаунта, через который вы входите, должна совпадать с почтой из анкеты. Какая почта привязана к GitHub, видно в настройках GitHub.

Если приглашение пришло на student@gmail.com, а вы входите через GitHub с почтой student@yandex.ru, OpenCode создаст новый пустой аккаунт без доступа к моделям курса.
Если письма нет, проверьте папку «Спам» и зайдите на opencode.ai/console напрямую: доступ уже выдан на почту из анкеты, и письмо для входа не требуется.
Подключение
-
Откройте opencode.ai/console. По умолчанию там открывается ваше личное пространство. В переключателе пространств в левом верхнем углу выберите Hexlet Students.

-
В терминале выполните
opencode auth login opencodeи войдите через браузер с той же почтой. -
Проверьте подключение командой
opencode auth list. В выводе должна быть строка с Hexlet Students:OpenCode Console Hexlet Students stored -
Запустите OpenCode и выберите модель командой
/models.

Для проверки напишите агенту ping, он должен ответить.

Если OpenCode просит оплату, активен аккаунт личного пространства. Переключитесь командой opencode auth switch и выберите Hexlet Students. Если пространства Hexlet Students нет в переключателе, почта входа не совпала с анкетой: напишите куратору, с какой почты вы вошли.


В OpenCode список подключений открывает команда /connect. У активного аккаунта курса рядом с OpenCode Console стоит Hexlet Students.

Лимит
У каждого студента в пространстве Hexlet Students есть личный бюджет $20 в месяц. Из него оплачивается и работа в терминале, и запросы агента в GitHub Actions. Бюджет обновляется первого числа каждого месяца. Остаток виден в кабинете на вкладке Overview в блоке Monthly budget, отдельные запросы с ценой лежат на вкладке Logs.
Агент в GitHub Actions запускается сам на каждый пулреквест, комментарий или по расписанию, поэтому расход копится незаметно. Одно ревью пулреквеста моделью kimi-k3 стоит от $0.20 до $0.45, и активный день проверок может съесть весь бюджет. Для автоматических проверок берите в воркфлоу модель opencode/deepseek-v4.1-flash, она справляется с ревью и стоит намного дешевле. Сильную модель оставьте для терминала, где вы видите каждый запрос.
Агент в GitHub Actions
OpenCode можно запускать в своём репозитории на GitHub. Агент работает на серверах GitHub и отвечает на комментарий в задаче или пулреквесте, а воркфлоу можно настроить и на запуск по каждому пулреквесту или по расписанию. Чтобы подключить агента, установите OpenCode GitHub App в репозиторий и заведите файл .github/workflows/opencode.yml по разделу Manual Setup документации OpenCode. Здесь разбираются модель и секрет с ключом.
Модель задаётся в воркфлоу полем model, и от её провайдера зависит имя секрета с ключом:
| Модель в воркфлоу | Имя секрета |
|---|---|
opencode/<модель> | OPENCODE_API_KEY |
openai/<модель> | OPENAI_API_KEY |
anthropic/<модель> | ANTHROPIC_API_KEY |
Секрет добавляется в репозитории на GitHub: Settings → Secrets and variables → Actions, кнопка New repository secret.
Ключ для GitHub Actions
Ключ нужен для любой модели, в том числе бесплатной. Для моделей opencode/… вы выпускаете его сами в кабинете OpenCode, для остальных моделей в кабинете провайдера.
- Откройте opencode.ai/console и войдите в свой аккаунт.
- Нажмите на свою почту в правом верхнем углу и выберите Account.
- В блоке Personal API keys нажмите Add API key.
- В поле Workspace выберите пространство, которое будет платить за запросы агента. По умолчанию там стоит Personal, ваш личный аккаунт с бесплатными моделями. Если у вас есть доступ к Hexlet Students, выберите это пространство, и запросы пойдут из бюджета курса.
- В поле Key name напишите понятное имя, например
github-actions. - В поле Expiration выберите Custom и в поле Days until expiration укажите, сколько дней вам нужен ключ. Ключ без срока живёт вечно, и про него легко забыть.
- Нажмите Create и сразу скопируйте ключ в секрет
OPENCODE_API_KEY, кабинет показывает его один раз. Пустой секрет роняет запуск на аутентификации.
Ключ может только получить список моделей и вызвать их от вашего имени. Храните его только в секретах репозитория и не вставляйте в код.
Если проверка в GitHub Actions упала, причину подсказывает ответ OpenCode в логе.
- Ошибка лимита на бесплатной модели означает, что кончился дневной лимит запросов. Повторите запуск позже или переключитесь на платную модель.
429 Policy budget exceededв пространстве Hexlet Students означает, что закончился месячный бюджет. Новый ключ не поможет, потому что все ключи тратят один бюджет. Дождитесь первого числа или напишите куратору.401означает, что ключ истёк или отозван. Выпустите новый ключ по шагам выше и замените значение секрета.
Если ключ попал к посторонним, удалите его в блоке Personal API keys и выпустите новый. Старый перестаёт работать сразу. Когда вы покидаете пространство Hexlet Students, ключи этого пространства отзываются автоматически.
Если остались вопросы
Студентам с доступом к Hexlet Students отвечает куратор. Остальным поможет поддержка: support@hexlet.io.