OpenCode GitHub

OpenCode peut s'intégrer profondément aux workflows GitHub, permettant à l'IA de participer directement aux processus d'Issue, de Pull Request et de revue de code.

En saisissant /opencode ou /oc dans un commentaire, vous pouvez déclencher l'IA pour exécuter automatiquement des tâches.

OpenCode GitHub = Transformez l'IA en membre automatisé de votre équipe de développement, participant directement aux workflows Issue, PR et de code.


1. Capacités principales

  • Analyse des Issues :Comprendre automatiquement les problèmes et fournir des explications
  • Correction automatique :Créer une branche et soumettre une PR
  • Revue de code :Analyser la PR et suggérer des améliorations
  • Exécution automatisée :S'exécute sur GitHub Actions

Fonctionnalités :

  • S'exécute dans votre propre GitHub Runner
  • Sécurisé et contrôlable, ne dépend pas de serveurs externes pour exécuter du code

2. Installation rapide (recommandée)

À exécuter dans le répertoire racine du projet GitHub :

opencode github install

Cette commande va automatiquement effectuer :

  • Installer l'application GitHub
  • Créer un workflow GitHub Actions
  • Guide de configuration de la clé API

3. Installation manuelle (avancée)

1. Installer l'application GitHub

Visitez :

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

Installer dans votre dépôt


2. Ajouter un fichier de workflow

Créer un fichier :

.github/workflows/opencode.yml

Exemple :

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. Configurer les secrets

Dans le dépôt GitHub :

  • Allez dans Paramètres → Secrets → Actions
  • Ajouter une clé API (par ex., ANTHROPIC_API_KEY)

4. Référence des paramètres de configuration

Paramètre Description
model Modèle à utiliser (obligatoire)
agent Spécifier le proxy
prompt Prompt personnalisé
share Indique s'il faut partager la session
token Jeton GitHub

Notes :

  • Utilise par défaut le OpenCode GitHub App Token
  • Vous pouvez également utiliser GITHUB_TOKEN ou PAT

5. Événements déclencheurs pris en charge

Événement Description
issue_comment Déclencheur de commentaire /opencode
pull_request_review_comment Déclencheur de commentaire de ligne de code
tickets Ticket créé/mis à jour
pull_request Revue automatique de PR
schedule Tâche planifiée
workflow_dispatch Déclencheur manuel

6. Méthodes d'utilisation courantes

1. Expliquer le ticket

Dans un commentaire de ticket :

/opencode explain this issue

L'IA résumera le problème et expliquera


2. Corriger automatiquement le problème

/opencode fix this

Automatiquement :

  • Créer une branche
  • Modifier le code
  • Soumettre une Pull Request

3. Modifier la PR

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

Exécuter des modifications directement sur la PR


4. Opérations au niveau des lignes de code (très puissantes)

Commenter sur la page Fichiers de la PR :

/oc add error handling here

OpenCode récupérera automatiquement :

  • Chemin du fichier
  • Numéro de ligne
  • Diff contextuel

Pas besoin de spécifier manuellement l'emplacement


7. Tâches planifiées (automatisation)

Exemple : analyse hebdomadaire des TODO

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

Exemple de prompt :

Review the codebase for TODO comments and summarize them

Remarque :

  • Les tâches planifiées doivent fournir un prompt
  • Nécessite des autorisations d'écriture (contents / pull-requests)

8. Revue automatique des PR

Exemple :

on:
  pull_request:
    types: [opened, synchronize]

Comportement par défaut :

  • Analyser la qualité du code
  • Détecter les bogues potentiels
  • Suggérer des améliorations

9. Classification automatique des Issues

Peut gérer automatiquement les nouvelles Issues, par exemple :

  • Filtrer les comptes de spam
  • Réponse automatique avec suggestions
  • Compléter la documentation

Remarque :

  • L'événement issues doit fournir un prompt

10. Prompts personnalisés (utilisation avancée)

Peut remplacer le comportement par défaut :

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

Utilisé pour :

  • Unification des normes de code
  • Personnalisation des critères de revue
  • Automatisation des flux de travail d'équipe

11. Sécurité et autorisations

Configuration des autorisations recommandée :

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

Notes :

  • Principe du moindre privilège
  • N'exposer que les capacités nécessaires
Autres extensions