GitHub Action

Упомяните @cusp в issue или PR либо запускайте запрос по расписанию — Cusp поработает в отдельной ветке, сообщит о ходе работы в комментарии и откроет или обновит PR.

GitHub Action для Cusp запускает агента внутри ваших workflow GitHub Actions. Упомяните @cusp в комментарии к issue или PR либо передайте action запрос для запуска по расписанию. Cusp работает в отдельной ветке, обновляет комментарий с ходом работы в реальном времени и открывает или обновляет PR. Подойдёт любой провайдер, API-ключ которого вы храните как секрет репозитория.

Быстрый старт

Будет доступно с первым публичным релизом.

Запуски по расписанию и автоматические запуски

Если задан prompt, action запускается на любое событие, без упоминания:

Будет доступно с первым публичным релизом.

Что происходит при срабатывании

  1. Обнаружение. Action срабатывает на новый комментарий, комментарий в ревью кода или ревью, где ключевая фраза упомянута отдельным словом (@cusp, но не @cuspid), а также на issue, открытый с упоминанием или назначенный на assignee_trigger.
  2. Авторизация. У автора должен быть доступ к репозиторию на запись. Боты игнорируются, если их нет в allowed_bots, а на собственные комментарии Cusp никогда не реагирует.
  3. Подтверждение получения. Action ставит на комментарий реакцию «eyes» и публикует комментарий с ходом работы: список задач агента и текущий шаг. По мере работы комментарий обновляется.
  4. Ветка. В PR из того же репозитория работа идёт в ветке этого PR. Для issue или автоматического запуска создаётся ветка cusp/issue-<n>-<id>. PR из форков обрабатываются только на чтение: Cusp может ответить и провести ревью, но не может сделать пуш.
  5. Запуск. Для задания запускается отдельный демон (daemon) Cusp, и в нём регистрируются все провайдеры, чьи ключи есть в переменных окружения. Ключи передаются по ссылке и никогда не записываются на диск или в журналы.
  6. Результат. Action делает коммит всего, что агент оставил незакоммиченным, выполняет пуш и открывает PR или обновляет существующий, с Closes #n для issue. Комментарий с ходом работы превращается в итоговый ответ со ссылкой на PR, веткой, моделью, длительностью и стоимостью.

Входные параметры

ПараметрПо умолчаниюНазначение
trigger_phrase@cuspУпоминание, которое запускает Cusp
promptЗапускать с этой инструкцией на любое событие
modelЛучшая доступнаяprovider:model, например anthropic:claude-sonnet-5-5, или id модели
github_token${{ github.token }}Токен для комментариев, пушей и PR
permission_modeacceptEditsdefault, acceptEdits, plan, auto, bypassPermissions или dontAsk
allowed_tools, disallowed_toolsПравила разрешений, по одному на строку или через запятую
max_turns40Максимальное число ходов модели
branch_prefixcusp/Префикс новых веток
base_branchБазовая ветка PR или ветка по умолчаниюБазовая ветка для новых PR
append_system_promptДополнительные инструкции для агента
allowed_botsБоты, которым разрешено запускать Cusp (* — все)
assignee_triggerЗапускать, когда issue назначают на этого пользователя
timeout_minutes30Остановить агента по истечении этого времени

Выходные параметры

ПараметрЗначение
conclusionsuccess, failure или skipped
session_idСессия Cusp
branchВетка, в которой работал Cusp
pr_urlPR, который Cusp открыл или обновил
comment_urlКомментарий с ходом работы

Примечания

  • Разрешения. contents: write и pull-requests: write позволяют Cusp делать пуш и открывать PR; issues: write позволяет комментировать.
  • CI для PR от Cusp. Пуши через GITHUB_TOKEN не запускают другие workflow. Чтобы CI запускался для PR от Cusp, передайте в github_token токен GitHub App или персональный токен доступа.
  • Автор коммитов. Автором коммитов указывается github-actions[bot], если workflow не задаёт git-идентичность.
  • GitHub Enterprise Server работает без дополнительной настройки.
  • Раннеры. Linux и macOS, x64 или arm64. Каждая версия action устанавливает релиз cusp той же версии и проверяет его SHA-256 перед запуском. @v0 следует за последним релизом 0.x; чтобы остаться на одной версии, укажите точный тег, например @v0.2.0.

Дальше

На этой странице