GitHub Action
Упомяните @cusp в issue или PR либо запускайте запрос по расписанию — Cusp поработает в отдельной ветке, сообщит о ходе работы в комментарии и откроет или обновит PR.
GitHub Action для Cusp запускает агента внутри ваших workflow GitHub Actions. Упомяните @cusp в комментарии к issue или PR либо передайте action запрос для запуска по расписанию. Cusp работает в отдельной ветке, обновляет комментарий с ходом работы в реальном времени и открывает или обновляет PR. Подойдёт любой провайдер, API-ключ которого вы храните как секрет репозитория.
Быстрый старт
Будет доступно с первым публичным релизом.
Запуски по расписанию и автоматические запуски
Если задан prompt, action запускается на любое событие, без упоминания:
Будет доступно с первым публичным релизом.
Что происходит при срабатывании
- Обнаружение. Action срабатывает на новый комментарий, комментарий в ревью кода или ревью, где ключевая фраза упомянута отдельным словом (
@cusp, но не@cuspid), а также на issue, открытый с упоминанием или назначенный наassignee_trigger. - Авторизация. У автора должен быть доступ к репозиторию на запись. Боты игнорируются, если их нет в
allowed_bots, а на собственные комментарии Cusp никогда не реагирует. - Подтверждение получения. Action ставит на комментарий реакцию «eyes» и публикует комментарий с ходом работы: список задач агента и текущий шаг. По мере работы комментарий обновляется.
- Ветка. В PR из того же репозитория работа идёт в ветке этого PR. Для issue или автоматического запуска создаётся ветка
cusp/issue-<n>-<id>. PR из форков обрабатываются только на чтение: Cusp может ответить и провести ревью, но не может сделать пуш. - Запуск. Для задания запускается отдельный демон (daemon) Cusp, и в нём регистрируются все провайдеры, чьи ключи есть в переменных окружения. Ключи передаются по ссылке и никогда не записываются на диск или в журналы.
- Результат. 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_mode | acceptEdits | default, acceptEdits, plan, auto, bypassPermissions или dontAsk |
allowed_tools, disallowed_tools | Правила разрешений, по одному на строку или через запятую | |
max_turns | 40 | Максимальное число ходов модели |
branch_prefix | cusp/ | Префикс новых веток |
base_branch | Базовая ветка PR или ветка по умолчанию | Базовая ветка для новых PR |
append_system_prompt | Дополнительные инструкции для агента | |
allowed_bots | Боты, которым разрешено запускать Cusp (* — все) | |
assignee_trigger | Запускать, когда issue назначают на этого пользователя | |
timeout_minutes | 30 | Остановить агента по истечении этого времени |
Выходные параметры
| Параметр | Значение |
|---|---|
conclusion | success, failure или skipped |
session_id | Сессия Cusp |
branch | Ветка, в которой работал Cusp |
pr_url | PR, который 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.
Дальше
- Разрешения: правила для
allowed_tools. - Agent SDK: запуск Cusp из ваших скриптов.