GitHub
Koristite OpenCode u GitHub problemima i zahtjevima za povlačenjem.
OpenCode se integriše sa vašim GitHub tokovom rada. Spomenite /opencode ili /oc u svom komentaru i OpenCode će izvršiti zadatke unutar vašeg GitHub Actions runnera.
Karakteristike
- Problemi trijaže: Zamolite OpenCode da ispita problem i objasni vam ga.
- Popravi i implementiraj: Zamolite OpenCode da popravi problem ili implementira funkciju. I radit će u novoj poslovnici i dostavljati PR sa svim promjenama.
- Secure: OpenCode se pokreće unutar pokretača vašeg GitHub-a.
Instalacija
Pokrenite sljedeću naredbu u projektu koji se nalazi u GitHub repo:
opencode github installOvo će vas provesti kroz instalaciju GitHub aplikacije, kreiranje toka posla i postavljanje tajni.
Ručno podešavanje
Ili ga možete postaviti ručno.
- Instalirajte GitHub aplikaciju Idite na github.com/apps/opencodegent. Uvjerite se da je instaliran na ciljnom spremištu.
- Dodajte radni tok
Dodajte sljedeći fajl toka posla u
.github/workflows/opencode.ymlu svoj repo. Obavezno postavite odgovarajućemodeli potrebne API ključeve uenv.
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 # share: true # github_token: xxxx- Sačuvaj API ključeve u tajne U postavkama organizacije ili projekta proširite Tajne i varijable na lijevoj strani i odaberite Radnje. I dodajte potrebne API ključeve.
Konfiguracija
model: Model za korištenje s OpenCode. Uzima formatprovider/model. Ovo je obavezno.agent: Agent za korištenje. Mora biti primarni agent. Vraća se nadefault_agentiz konfiguracije ili"build"ako nije pronađen.share: Da li dijeliti OpenCode sesiju. Podrazumevano je true za javna spremišta.prompt: Opcioni prilagođeni upit za nadjačavanje zadanog ponašanja. Koristite ovo da prilagodite kako OpenCode obrađuje zahtjeve.token: Opcionalni GitHub pristupni token za izvođenje operacija kao što su kreiranje komentara, upisivanje promjena i otvaranje zahtjeva za povlačenjem. OpenCode prema zadanim postavkama koristi token za pristup instalaciji iz aplikacije OpenCode GitHub, tako da se urezivanje, komentari i zahtjevi za povlačenjem pojavljuju kao da dolaze iz aplikacije. Alternativno, možete koristiti GitHub Action runner ugrađeniGITHUB_TOKENbez instaliranja OpenCode GitHub aplikacije. Samo se pobrinite da date potrebna odobrenja u svom toku rada:
permissions: id-token: write contents: write pull-requests: write issues: writeTakođer možete koristiti Personal Access Tokens(PAT) ako želite.
Podržani događaji
OpenCode se može pokrenuti sljedećim GitHub događajima:
| Vrsta događaja | Pokrenuo | Detalji |
|---|---|---|
issue_comment | Komentirajte problem ili PR | Navedite /opencode ili /oc u svom komentaru. OpenCode čita kontekst i može kreirati grane, otvarati PR-ove ili odgovarati. |
pull_request_review_comment | Komentirajte određene linije koda u PR-u | Navedite /opencode ili /oc dok pregledavate kod. OpenCode prima putanju datoteke, brojeve redova i kontekst razlike. |
issues | Broj otvoren ili uređen | Automatski pokrenite OpenCode kada se problemi kreiraju ili modificiraju. Zahtijeva prompt unos. |
pull_request | PR otvoren ili ažuriran | Automatski pokrenite OpenCode kada se PR-ovi otvore, sinkroniziraju ili ponovo otvore. Korisno za automatske recenzije. |
schedule | Cron baziran raspored | Pokrenite OpenCode prema rasporedu. Zahtijeva prompt unos. Izlaz ide u dnevnike i PR-ove (nema problema za komentarisanje). |
workflow_dispatch | Ručni okidač iz GitHub korisničkog sučelja | Aktivirajte OpenCode na zahtjev preko kartice Akcije. Zahtijeva prompt unos. Izlaz ide u dnevnike i PR-ove. |
Primjer rasporeda
Pokrenite OpenCode po rasporedu za obavljanje automatiziranih zadataka:
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.Za zakazane događaje, unos prompt je potreban jer nema komentara za izvlačenje instrukcija. Planirani tokovi posla se pokreću bez korisničkog konteksta za provjeru dozvola, tako da tok posla mora odobriti contents: write i pull-requests: write ako očekujete da će OpenCode kreirati grane ili PR-ove.
Primjer zahtjeva za povlačenjem
Automatski pregledajte PR-ove kada se otvore ili ažuriraju:
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 improvementsZa pull_request događaje, ako nije naveden prompt, OpenCode podrazumevano pregledava zahtjev za povlačenjem.
Primjer trijaže problema
Automatski triažirajte nove probleme. Ovaj primjer filtrira na račune starije od 30 dana radi smanjenja neželjene pošte:
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.Za issues događaje, prompt unos je potreban jer nema komentara za izvlačenje instrukcija.
Prilagođene upite
Zaobiđite zadani prompt da biste prilagodili ponašanje OpenCode za vaš tok posla.
- 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 improvementsOvo je korisno za provođenje specifičnih kriterija pregleda, standarda kodiranja ili fokusnih područja relevantnih za vaš projekt.
Primjeri
Evo nekoliko primjera kako možete koristiti OpenCode u GitHub.
- Objasnite problem Dodajte ovaj komentar u GitHub izdanje.
/opencode explain this issueOpenCode će pročitati cijelu temu, uključujući sve komentare, i odgovoriti s jasnim objašnjenjem.
- Popravi problem U izdanju na GitHub-u recite:
/opencode fix thisI OpenCode će kreirati novu granu, implementirati promjene i otvoriti PR sa promjenama.
- Pregledajte PR-ove i izvršite izmjene Ostavite sljedeći komentar na GitHub PR-u.
Delete the attachment from S3 when the note is removed /ocOpenCode će implementirati traženu promjenu i posvetiti je istom PR-u.
- Pregledajte određene linije koda Ostavite komentar direktno na linije koda u PR kartici “Files”. OpenCode automatski detektuje datoteku, brojeve redova i kontekst razlike kako bi pružio precizne odgovore.
[Comment on specific lines in Files tab] /oc add error handling hereKada komentarišete određene linije, OpenCode prima:
- Tačan fajl se pregleda
- Specifične linije koda
- Okolni diff kontekst
- Informacije o broju linije Ovo omogućava više ciljanih zahtjeva bez potrebe za ručno specificiranjem putanja datoteka ili brojeva linija.