OpenCode GitHub

OpenCode может глубоко интегрироваться с рабочими процессами GitHub, позволяя ИИ напрямую участвовать в процессах Issue, Pull Request и проверки кода.

Введя /opencode или /oc в комментарии, вы можете запустить ИИ для автоматического выполнения задач.

OpenCode GitHub = Превратите ИИ в члена вашей команды автоматизированной разработки, непосредственно участвующего в Issue, PR и рабочих процессах с кодом.


1. Основные возможности

  • Анализ Issue:Автоматически понимает проблемы и предоставляет объяснения
  • Автоматическое исправление:Создаёт ветку и отправляет PR
  • Проверка кода:Анализирует PR и предлагает улучшения
  • Автоматизированное выполнение:Работает на GitHub Actions

Возможности:

  • Работает в вашем собственном GitHub Runner
  • Безопасно и контролируемо, не зависит от внешних серверов для выполнения кода

2. Быстрая установка (рекомендуется)

Запустите в корневом каталоге проекта GitHub:

opencode github install

Эта команда автоматически выполнит:

  • Установить GitHub App
  • Создать workflow GitHub Actions
  • Руководство по настройке API Key

3. Ручная установка (для продвинутых)

1. Установить GitHub App

Посетите:

https://github.com/apps/opencode-agent

Установить в ваш репозиторий


2. Добавить файл workflow

Создать файл:

.github/workflows/opencode.yml

Пример:

name: opencode

on:
  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-latest
    permissions:
      id-token: write
    steps:
      - name: Checkout repository
        uses: actions/checkout@v6
        with:
          fetch-depth: 1
          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

3. Настроить секреты

В репозитории GitHub:

  • Перейдите в Settings → Secrets → Actions
  • Добавить ключ API (например, ANTHROPIC_API_KEY)

4. Справочник параметров конфигурации

Параметр Описание
model Модель для использования (обязательно)
agent Указать прокси
prompt Пользовательский промпт
share Следует ли делиться сессией
токен Токен GitHub

Примечания:

  • По умолчанию используется токен приложения OpenCode GitHub
  • Вы также можете использовать GITHUB_TOKEN или PAT

5. Поддерживаемые события-триггеры

Event Описание
issue_comment Триггер комментария /opencode
pull_request_review_comment Триггер комментария к строке кода
issues Issue создан/обновлён
pull_request Автоматическая проверка PR
schedule Задача по расписанию
workflow_dispatch Ручной триггер

6. Распространённые способы использования

1. Объяснение Issue

В комментарии к Issue:

/opencode explain this issue

ИИ обобщит проблему и объяснит


2. Автоматическое исправление проблемы

/opencode fix this

Автоматически:

  • Создать ветку
  • Измените код
  • Отправить Pull Request

3. Изменение PR

Delete the attachment from S3 when the note is removed /oc

Выполнять изменения напрямую в PR


4. Операции на уровне строк кода (очень мощные)

Комментируйте на странице Files в PR:

/oc add error handling here

OpenCode автоматически получит:

  • Путь к файлу
  • Номер строки
  • Контекстный diff

Не нужно вручную указывать местоположение


7. Запланированные задачи (автоматизация)

Пример: еженедельное сканирование TODO

on:
  schedule:
    - cron: "0 9 * * 1"

Пример промпта:

Review the codebase for TODO comments and summarize them

Примечание:

  • Запланированные задачи должны предоставлять промпт
  • Требуются права на запись (contents / pull-requests)

8. Автоматическая проверка PR

Пример:

on:
  pull_request:
    types: [opened, synchronize]

Поведение по умолчанию:

  • Анализировать качество кода
  • Обнаруживать потенциальные баги
  • Предлагать улучшения

9. Автоматическая классификация Issue

Может автоматически обрабатывать новые Issues, например:

  • Фильтровать спам-аккаунты
  • Автоответ с предложениями
  • Дополнить документацию

Примечание:

  • Событие issues должно предоставлять промпт

10. Пользовательские промпты (продвинутое использование)

Может переопределять поведение по умолчанию:

prompt: |
  Review this pull request:
  - Check for bugs
  - Suggest improvements

Используется для:

  • Унификация стандартов кода
  • Настройка критериев ревью
  • Автоматизация рабочих процессов команды

11. Безопасность и разрешения

Рекомендуемая конфигурация разрешений:

permissions:
  id-token: write
  contents: write
  pull-requests: write
  issues: write

Примечания:

  • Принцип наименьших привилегий
  • Предоставляйте только необходимые возможности
Другие расширения