GitHub
Используйте opencode в задачах и пул-реквестах GitHub.
opencode интегрируется с вашим рабочим процессом GitHub. Упомяните /opencode или /oc в своем комментарии, и opencode выполнит задачи в вашем средстве выполнения действий GitHub.
Функции
- Сортировка проблем. Попросите opencode разобраться в проблеме и объяснить ее вам.
- Исправить и внедрить. Попросите opencode исправить проблему или реализовать функцию. И будет работать в новой ветке и подавать PR со всеми изменениями.
- Безопасность: opencode запускается внутри бегунов вашего GitHub.
Установка
Запустите следующую команду в проекте, который находится в репозитории GitHub:
opencode github installЭто поможет вам установить приложение GitHub, создать рабочий процесс и настроить секреты.
Manual Setup
Или вы можете настроить его вручную.
-
Установите приложение GitHub
Перейдите на github.com/apps/opencode-agent. Убедитесь, что он установлен в целевом репозитории.
-
Добавьте рабочий процесс
Добавьте следующий файл рабочего процесса в
.github/workflows/opencode.ymlв своем репозитории. Обязательно установите соответствующийmodelи необходимые ключи API вenv..github/workflows/opencode.yml name: opencodeon:issue_comment:types: [created]pull_request_review_comment:types: [created]jobs:opencode:if: |contains(github.event.comment.body, '/oc') ||contains(github.event.comment.body, '/opencode')runs-on: ubuntu-latestpermissions:id-token: writesteps:- name: Checkout repositoryuses: actions/checkout@v6with:fetch-depth: 1persist-credentials: false- name: Run OpenCodeuses: anomalyco/opencode/github@latestenv:ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}with:model: anthropic/claude-sonnet-4-20250514# share: true# github_token: xxxx -
Храните ключи API в секрете
В настройках вашей организации или проекта разверните Секреты и переменные слева и выберите Действия. И добавьте необходимые ключи API.
Configuration
-
model: модель для использования с opencode. Принимает форматprovider/model. Это обязательно. -
agent: используемый агент. Должен быть основным агентом. Возвращается кdefault_agentиз конфигурации или к"build", если не найден. -
share: следует ли предоставлять общий доступ к сеансу opencode. По умолчанию true для общедоступных репозиториев. -
prompt: дополнительный настраиваемый запрос для переопределения поведения по умолчанию. Используйте это, чтобы настроить обработку запросов opencode. -
token: дополнительный токен доступа GitHub для выполнения таких операций, как создание комментариев, фиксация изменений и открытие запросов на включение. По умолчанию opencode использует токен доступа к установке из приложения opencode GitHub, поэтому фиксации, комментарии и запросы на включение отображаются как исходящие из приложения.Кроме того, вы можете использовать встроенный
GITHUB_TOKENсредства запуска действий GitHub без установки приложения opencode GitHub. Просто не забудьте предоставить необходимые разрешения в вашем рабочем процессе:permissions:id-token: writecontents: writepull-requests: writeissues: writeВы также можете использовать токены личного доступа(PAT), если предпочитаете.
Supported Events
opencode может быть запущен следующими событиями GitHub:
| Тип события | Инициировано | Подробности |
|---|---|---|
issue_comment | Комментарий к проблеме или PR | Упомяните /opencode или /oc в своем комментарии. opencode считывает контекст и может создавать ветки, открывать PR или отвечать. |
pull_request_review_comment | Комментируйте конкретные строки кода в PR. | Упоминайте /opencode или /oc при просмотре кода. opencode получает путь к файлу, номера строк и контекст сравнения. |
issues | Проблема открыта или отредактирована | Автоматически запускать opencode при создании или изменении проблем. Требуется ввод prompt. |
pull_request | PR открыт или обновлен | Автоматически запускать opencode при открытии, синхронизации или повторном открытии PR. Полезно для автоматических обзоров. |
schedule | Расписание на основе Cron | Запускайте opencode по расписанию. Требуется ввод prompt. Вывод поступает в журналы и PR (комментариев нет). |
workflow_dispatch | Ручной триггер из пользовательского интерфейса GitHub | Запускайте opencode по требованию на вкладке «Действия». Требуется ввод prompt. Вывод идет в логи и PR. |
Пример расписания
Запускайте opencode по расписанию для выполнения автоматизированных задач:
name: Scheduled OpenCode Task
on: schedule: - cron: "0 9 * * 1" # Every Monday at 9am UTC
jobs: opencode: runs-on: ubuntu-latest permissions: id-token: write contents: write pull-requests: write issues: write steps: - name: Checkout repository uses: actions/checkout@v6 with: persist-credentials: false
- name: Run OpenCode uses: anomalyco/opencode/github@latest env: ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} with: model: anthropic/claude-sonnet-4-20250514 prompt: | Review the codebase for any TODO comments and create a summary. If you find issues worth addressing, open an issue to track them.Для запланированных событий вход prompt обязателен, поскольку нет комментария, из которого можно было бы извлечь инструкции. Запланированные рабочие процессы выполняются без пользовательского контекста для проверки разрешений, поэтому рабочий процесс должен предоставлять contents: write и pull-requests: write, если вы ожидаете, что opencode будет создавать ветки или PR.
Пример запроса на включение
Автоматически просматривать PR при их открытии или обновлении:
name: opencode-review
on: pull_request: types: [opened, synchronize, reopened, ready_for_review]
jobs: review: runs-on: ubuntu-latest permissions: id-token: write contents: read pull-requests: read issues: read steps: - uses: actions/checkout@v6 with: persist-credentials: false - uses: anomalyco/opencode/github@latest env: ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: model: anthropic/claude-sonnet-4-20250514 use_github_token: true prompt: | Review this pull request: - Check for code quality issues - Look for potential bugs - Suggest improvementsЕсли для событий pull_request не указан prompt, opencode по умолчанию проверяет запрос на включение.
Пример сортировки проблем
Автоматически сортируйте новые проблемы. В этом примере фильтруется учетные записи старше 30 дней, чтобы уменьшить количество спама:
name: Issue Triage
on: issues: types: [opened]
jobs: triage: runs-on: ubuntu-latest permissions: id-token: write contents: write pull-requests: write issues: write steps: - name: Check account age id: check uses: actions/github-script@v7 with: script: | const user = await github.rest.users.getByUsername({ username: context.payload.issue.user.login }); const created = new Date(user.data.created_at); const days = (Date.now() - created) / (1000 * 60 * 60 * 24); return days >= 30; result-encoding: string
- uses: actions/checkout@v6 if: steps.check.outputs.result == 'true' with: persist-credentials: false
- uses: anomalyco/opencode/github@latest if: steps.check.outputs.result == 'true' env: ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} with: model: anthropic/claude-sonnet-4-20250514 prompt: | Review this issue. If there's a clear fix or relevant docs: - Provide documentation links - Add error handling guidance for code examples Otherwise, do not comment.Для событий issues вход prompt обязателен, поскольку нет комментария, из которого можно было бы извлечь инструкции.
Custom Prompts
Переопределите приглашение по умолчанию, чтобы настроить поведение opencode для вашего рабочего процесса.
- uses: anomalyco/opencode/github@latest with: model: anthropic/claude-sonnet-4-5 prompt: | Review this pull request: - Check for code quality issues - Look for potential bugs - Suggest improvementsЭто полезно для обеспечения соблюдения конкретных критериев проверки, стандартов кодирования или приоритетных областей, имеющих отношение к вашему проекту.
Примеры
Вот несколько примеров того, как вы можете использовать opencode в GitHub.
-
Объясните проблему
Добавьте этот комментарий в выпуск GitHub.
/opencode explain this issueopencode прочитает всю ветку, включая все комментарии, и ответит с четким объяснением.
-
Исправить проблему
В выпуске GitHub скажите:
/opencode fix thisА opencode создаст новую ветку, внедрит изменения и откроет PR с изменениями.
-
Проверьте Pull Requests и внесите изменения
Оставьте следующий комментарий к PR на GitHub.
Delete the attachment from S3 when the note is removed /ocopencode внедрит запрошенное изменение и зафиксирует его в том же PR.
-
Просмотрите отдельные строки кода
Оставляйте комментарии непосредственно к строкам кода на вкладке «Файлы» PR. opencode автоматически определяет файл, номера строк и контекст различий, чтобы предоставить точные ответы.
[Comment on specific lines in Files tab]/oc add error handling hereПри комментировании определенных строк opencode получает:
- Точный файл, который просматривается
- Конкретные строки кода
- Окружающий контекст различий
- Информация о номере строки
Это позволяет выполнять более целевые запросы без необходимости вручную указывать пути к файлам или номера строк.