Support OpenCode v2 diff and plan review integration
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 35/100
Direzione di ricerca
Start in plugins/opencode/ and read the linked OpenCode v2 migration, plugin, and CLI plugin documentation alongside the existing revdiff tool, /revdiff command, and plan-review plugin. Trace the installer and existing tests, then define the v2 entrypoints, server/client routing, lifecycle cleanup, and version selection while preserving the v1 integration and stated exit-code behavior.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
I'd like revdiff's OpenCode integration to support OpenCode v2. The current integration under plugins/opencode/ uses the v1 plugin and custom-tool APIs, which need to be ported for v2.
References:
Migration considerations
The integration currently includes a revdiff tool, a /revdiff command, and an automatic plan-review plugin.
The plan-review plugin exports an async function returning an event hook. On session.idle, it reads the last assistant message, checks whether it was produced in plan mode, launches revdiff, and sends annotations back to the session. V2 requires a new plugin entrypoint and explicit subscriptions, and the message-reading, plan-detection, and prompt-submission logic needs to be checked against the new server API and lifecycle contracts.
The custom tool also uses the v1 tool() helper. V2 documents tool registration through ctx.tool.transform, with JSON Schema inputs and structured results. Existing Markdown command definitions remain supported, so the /revdiff command may need little change once its underlying tool is available.
There is also a routing consideration beyond the API changes: v2 uses a shared background server by default, including for tool execution. The existing launchers rely on terminal-specific environment variables to open the overlay in the correct pane. The server's environment may not identify the client that requested the review.
A CLI plugin may be a better fit for launching the interactive review in the user's terminal. Preserving the agent-callable tool would also require defining how a server-side request reaches the appropriate CLI client and returns annotations to the originating session.
Expected behavior
- Support manual diff review through
/revdiffand the agent-callablerevdifftool, preserving the existing ref, staged, and only options. - Automatically review completed plans and return annotations to the originating session for revision in plan mode.
- Open reviews in the correct terminal pane and project directory when multiple OpenCode clients share a server.
- Avoid duplicate reviews and unintended launches for unrelated sessions or subagents.
- Preserve exit-code handling: 0 for a clean exit, 10 for success with annotations, and other nonzero statuses as failures.
- Handle cancellation and plugin cleanup without leaving review processes or temporary files behind.
- Update installation instructions and tests for the supported v2 integration.
- Installer checks OpenCode version and installs appropriate plugin + tool + command.
- Existing v1 integration remains intact
Contribution
I'd be happy to try implementing this and submit a PR. Before starting, I'd appreciate feedback on the preferred approach
- Lingua principale
- Go
- Stelle
- 896
- Fork
- 92
- Merge medio
- 17h 49m
- PR unite (30g)
- 17
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di umputun/revdiff
-
Support horizontal scrollAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
umputun/revdiff#334 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 64/100
umputun/revdiff#350 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 78/100
umputun/revdiff#341 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 38/100
umputun/revdiff#331 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 64/100
umputun/revdiff#324 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di umputun/revdiff
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
gruntwork-io/boilerplate#329 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
prime-radiant-inc/evener#3291 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
Netcracker/qubership-apihub-backend#582 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
I maintainer di solito rispondono entro 1 giorno