Перейти к основному содержимому

Перейти на сайт

Работа с 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 Console: кнопки Continue with Google, Continue with GitHub и Continue with email

Проверить подключение можно командой:

opencode auth list

В выводе стоит интеграция, имя пространства и статус stored:

OpenCode Console Default stored

Оплата и расход живут в кабинете opencode.ai/console. Ключ другого провайдера, например OpenAI или Anthropic, подключается той же командой /connect.

Агент в GitHub Actions​

В уроке про GitHub Actions агент запускается на серверах GitHub по комментарию в задаче или пулреквесте. Как поставить приложение и завести файл .github/workflows/opencode.yml, рассказывает сам урок. Здесь только про модель и секрет.

Модель задаётся в воркфлоу полем model, и от её провайдера зависит имя секрета с ключом:

Модель в воркфлоуИмя секрета
opencode/<модель>OPENCODE_API_KEY
openai/<модель>OPENAI_API_KEY
anthropic/<модель>ANTHROPIC_API_KEY

Секрет добавляется в репозитории на GitHub: Settings → Secrets and variables → Actions, кнопка New repository secret.

Ключ нужен для любой модели, в том числе бесплатной. Для моделей opencode/… его создают в кабинете opencode.ai/console на вкладке API Keys, для остальных в кабинете провайдера. Значение ключа кабинет показывает один раз, поэтому сразу скопируйте его в секрет. Пустой секрет роняет запуск на аутентификации.

У бесплатной модели есть дневной лимит запросов. Если агент отвечает ошибкой лимита, повторите запуск позже или переключитесь на платную модель.

Если вы купили программу «ИИ для разработчиков»​

Студентам, которые купили программу «ИИ для разработчиков», Хекслет даёт доступ к платным моделям через пространство Hexlet Students в OpenCode. Устройство OpenCode и команды остаются теми же, что описаны выше. Меняется пространство, из которого идут запросы, и источник ключа для GitHub Actions.

Если курсы по ИИ входят в ваш тариф другой профессии или в подписку, доступа к Hexlet Students у вас нет: в этом случае вы можете использовать бесплатные модели из разделов выше.

Приглашение в пространство​

Приглашение приходит на почту, которую вы указали в анкете курса. Войти в OpenCode можно только через Google или GitHub, поэтому почта аккаунта, через который вы входите, должна совпадать с почтой из анкеты. Какая почта привязана к GitHub, видно в настройках GitHub.

Письмо от OpenCode с приглашением в пространство Hexlet Students и кнопкой Join workspace

Если приглашение пришло на student@gmail.com, а вы входите через GitHub с почтой student@yandex.ru, OpenCode создаст новый пустой аккаунт без доступа к моделям курса.

Если письма нет, проверьте папку «Спам» и зайдите на opencode.ai/console напрямую: доступ уже выдан на почту из анкеты, и письмо для входа не требуется.

Подключение​

  1. Откройте opencode.ai/console. По умолчанию там открывается ваше личное пространство. В переключателе пространств в левом верхнем углу выберите Hexlet Students.

    Переключатель пространств в левом верхнем углу кабинета с выбранным Hexlet Students и блок Connect OpenCode CLI с командами для V2 и V1

  2. В терминале выполните opencode auth login opencode и войдите через браузер с той же почтой.

  3. Проверьте подключение командой opencode auth list. В выводе должна быть строка с Hexlet Students:

    OpenCode Console Hexlet Students stored
  4. Запустите OpenCode и выберите модель командой /models.

Список моделей в OpenCode: у каждой модели подпись Hexlet Students / OpenCode

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

Ответ агента pong на сообщение ping в пространстве Hexlet Students

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

Кабинет OpenCode в личном пространстве Default: этот вариант неверный

Кабинет OpenCode в пространстве Hexlet Students: этот вариант верный

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

Окно Connect an integration в OpenCode: строка OpenCode Console с подписью Hexlet Students

Лимит​

Общий лимит на студента составляет $20. Из них $15 в месяц идут на работу в терминале, этот бюджет и расход видны в кабинете на вкладке Overview. Остальное лежит на ключе для GitHub Actions. Отдельные запросы с ценой видны на вкладке Logs.

Ключ для GitHub Actions​

Ключ для урока про GitHub Actions выдаёт куратор. Выпустить его самостоятельно в пространстве Hexlet Students нельзя, вкладки API Keys у студента там нет. Когда дойдёте до урока, напишите куратору, и он пришлёт ключ в личные сообщения.

Ключ работает с моделями opencode/…, поэтому секрет называется OPENCODE_API_KEY. Ключ личный: храните его только в секретах репозитория и не вставляйте в код.

Если ключ потерялся или попал к посторонним, напишите куратору. Он отключит старый ключ и выдаст новый, после чего замените значение секрета в репозитории.

Если остались вопросы​

Купившим программу «ИИ для разработчиков» отвечает куратор. Остальным поможет поддержка: support@hexlet.io.

Полезные ссылки​

Документация OpenCode

Агент OpenCode в GitHub