@rockysoft/opencode-hybrid-workflow 0.3.2-beta.1 → 0.3.2-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +143 -232
- package/docs/configuration.md +134 -0
- package/docs/images/01-install.png +0 -0
- package/docs/images/02-reviewers.png +0 -0
- package/docs/images/03-connection.png +0 -0
- package/docs/images/04-provider.png +0 -0
- package/docs/images/05-model.png +0 -0
- package/docs/images/06-effort.png +0 -0
- package/docs/images/07-design-lead.png +0 -0
- package/docs/images/08-save.png +0 -0
- package/docs/images/09-settings.png +0 -0
- package/docs/images/10-browser.png +0 -0
- package/docs/images/11-browser-confirm.png +0 -0
- package/docs/images/12-browser-ready.png +0 -0
- package/docs/images/13-tools.png +0 -0
- package/docs/images/14-diagnostics.png +0 -0
- package/docs/images/15-connect-provider.png +0 -0
- package/docs/images/16-reopen.png +0 -0
- package/docs/images/17-implementation.png +0 -0
- package/docs/images/18-cli.png +0 -0
- package/docs/images/19-cli-model.png +0 -0
- package/docs/images/20-cli-effort.png +0 -0
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -1,252 +1,163 @@
|
|
|
1
1
|
# OpenCode Hybrid Workflow
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
checkpoints, specialist instructions and reviewer usage/cost cards in the sidebar.
|
|
5
|
-
No dashboard process, trial launcher or project-local plugin folder is required.
|
|
3
|
+
Let your strongest models plan, design and review. Let your implementation model build.
|
|
6
4
|
|
|
7
|
-
|
|
8
|
-
but a real Mac installation/UI run is still pending. Requires **OpenCode 2**
|
|
9
|
-
(tested with 2.2.5), Node.js 22+, Git and Python 3. OpenCode 1 is not supported.
|
|
5
|
+
One plugin. One or two reviewers. Configure everything inside OpenCode.
|
|
10
6
|
|
|
11
|
-
|
|
7
|
+
**Requirements:** OpenCode 2, Node.js 22+, Git and Python 3. Windows and Linux; experimental macOS support.
|
|
12
8
|
|
|
13
|
-
|
|
9
|
+
## 1. Install
|
|
14
10
|
|
|
15
11
|
```sh
|
|
16
12
|
opencode plugin add @rockysoft/opencode-hybrid-workflow@beta
|
|
17
13
|
```
|
|
18
14
|
|
|
19
|
-
|
|
20
|
-
providers, reviewers and optional tools inside OpenCode. Existing running
|
|
21
|
-
sessions are not restarted; reopen OpenCode when ready to load the plugin.
|
|
15
|
+

|
|
22
16
|
|
|
23
|
-
|
|
17
|
+
Open `opencode` in your project. The setup wizard opens automatically.
|
|
24
18
|
|
|
25
|
-
|
|
26
|
-
opencode plugin update @rockysoft/opencode-hybrid-workflow@beta
|
|
27
|
-
```
|
|
19
|
+
## 2. Choose your reviewers
|
|
28
20
|
|
|
29
|
-
|
|
30
|
-
global install or `opencode-hybrid init` is needed for a new installation.
|
|
31
|
-
If you used a previous local/archive build, remove its plugin entries from
|
|
32
|
-
both `opencode.json` and `cli.json` before adding the npm package, preserving
|
|
33
|
-
`hybrid/config.json`, managed instructions and runtime history. Do not load the
|
|
34
|
-
local and npm builds together.
|
|
35
|
-
|
|
36
|
-
## Set up inside OpenCode
|
|
37
|
-
|
|
38
|
-
Once the plugin is installed, open OpenCode normally in any project. On first
|
|
39
|
-
launch, **Hybrid setup** opens automatically. Choose one or two reviewers, their
|
|
40
|
-
OpenCode-connected providers or external CLIs, models, reasoning effort and the
|
|
41
|
-
planning/design lead, then save. The plugin installs its managed agents, rules
|
|
42
|
-
and design skills globally. Canceling the wizard does not save reviewer choices.
|
|
43
|
-
|
|
44
|
-
Later, click **Hybrid Workflow settings** on the home screen or session sidebar,
|
|
45
|
-
or select it in OpenCode's command palette. `/hybrid` opens the same menu.
|
|
46
|
-
There is no separate configuration terminal or dashboard to launch.
|
|
47
|
-
|
|
48
|
-
The menu includes:
|
|
49
|
-
|
|
50
|
-
- **Reviewers and design lead**: one or two reviewers; any enabled tool-capable
|
|
51
|
-
OpenCode provider/model, or the optional Codex/Claude CLI adapters.
|
|
52
|
-
- **Connect provider** and **Implementation model**: open OpenCode's own menus.
|
|
53
|
-
- **Reviewer browser**: enable an existing browser, or install managed Playwright
|
|
54
|
-
MCP and Firefox with one confirmation. Each reviewer gets an isolated browser.
|
|
55
|
-
- **Tools and dependencies**: install managed pnpm for verification; enable the
|
|
56
|
-
official Context7 documentation MCP while preserving an existing configuration.
|
|
57
|
-
- **Run diagnostics**: inspect prerequisites, reviewer configuration/logins,
|
|
58
|
-
design skills and an actual browser launch without spending model tokens.
|
|
59
|
-
|
|
60
|
-
Settings apply globally. New tasks pick up saved reviewers; active tasks retain
|
|
61
|
-
their assignments and history. Changing the installed plugin version still needs
|
|
62
|
-
a normal OpenCode restart. Installing an implementation MCP may also require a
|
|
63
|
-
restart if the host does not reload its MCP configuration.
|
|
64
|
-
|
|
65
|
-
The same npm installation works on Windows, macOS and Linux. `configure`,
|
|
66
|
-
`doctor` and `browser` CLI commands are optional automation/support tools,
|
|
67
|
-
not the routine setup workflow. Publishing on npm does not imply inclusion
|
|
68
|
-
in a curated OpenCode marketplace.
|
|
69
|
-
|
|
70
|
-
OpenCode's plugin manager does not put `opencode-hybrid` on your terminal PATH.
|
|
71
|
-
For the optional CLI examples below, replace `opencode-hybrid` with
|
|
72
|
-
`npx --package @rockysoft/opencode-hybrid-workflow@beta opencode-hybrid`, or
|
|
73
|
-
install the package globally if you specifically want its standalone CLI.
|
|
74
|
-
Routine setup and diagnostics remain available inside OpenCode.
|
|
75
|
-
|
|
76
|
-
Machine prerequisites are OpenCode 2, Node 22+, Git and Python 3 for design
|
|
77
|
-
research. pnpm and browser support have installers in the menu. External CLI
|
|
78
|
-
choices require that CLI and its official account sign-in. Provider credentials
|
|
79
|
-
remain with OpenCode or the official CLI; the plugin never copies them.
|
|
80
|
-
|
|
81
|
-
Ask normally. The package supplies workflow instructions and tool gates. Specialist
|
|
82
|
-
agents inherit the implementation model. New UI/UX decisions go to the configured
|
|
83
|
-
design lead and reviewers; existing/supplied patterns can be implemented faithfully. Existing-app
|
|
84
|
-
visual redesigns skip unrelated architecture planning. New applications and
|
|
85
|
-
substantive architecture changes receive premium planning first. Premium planners
|
|
86
|
-
own material structural choices; native fullstack-architect gathers facts/options,
|
|
87
|
-
and implementation specialists follow the approved plan. New material choices
|
|
88
|
-
return to planning before dependent edits. Subsequent
|
|
89
|
-
reviews focus on actual corrections and affected dependencies. Approval requires
|
|
90
|
-
all configured current-artifact reports, at least one pass, and no open medium/high/critical
|
|
91
|
-
findings. There are no artificial line, screenshot, correction or call quotas.
|
|
92
|
-
|
|
93
|
-
The sidebar follows the current project, shows input/output/cache tokens and USD
|
|
94
|
-
API-equivalent costs when a known model rate is available. Unknown pricing is
|
|
95
|
-
unavailable, not zero. Clear totals changes only the display baseline; reports,
|
|
96
|
-
findings and approvals remain intact. No fixed local port or HTTP service is used.
|
|
97
|
-
|
|
98
|
-
## Configuration
|
|
99
|
-
|
|
100
|
-
Both CLI and OpenCode-provider reviewers can independently inspect the running
|
|
101
|
-
app with Playwright. Configure this through **Hybrid Workflow settings > Reviewer
|
|
102
|
-
browser**. Installing browser support downloads a pinned Playwright MCP package
|
|
103
|
-
and Firefox into plugin-managed tooling, then enables isolated headless sessions.
|
|
104
|
-
The existing implementation MCP entry is preserved. Existing browser commands can
|
|
105
|
-
also be enabled without downloading replacements.
|
|
106
|
-
|
|
107
|
-
Advanced settings live in `reviewBrowser` in `hybrid/config.json`: `command`,
|
|
108
|
-
`browser` (chrome/msedge/firefox/webkit), and `headless`. The CLI browser commands
|
|
109
|
-
remain available for scripted administration.
|
|
110
|
-
|
|
111
|
-
All reviewer adapters can navigate, inspect DOM, resize, click,
|
|
112
|
-
fill test forms, evaluate page JavaScript, inspect console/network information,
|
|
113
|
-
and capture screenshots. Output goes to that review's `browser-artifacts`; tool
|
|
114
|
-
names are logged in `actions.jsonl`. This is not desktop control or the user's
|
|
115
|
-
signed-in browser. Source edits, server startup, local-file upload and arbitrary
|
|
116
|
-
host-code execution remain unavailable; Codex retains read-only shell inspection
|
|
117
|
-
of evidence, while Claude uses its read tools. Browser interactions can still mutate application
|
|
118
|
-
data: use a disposable test environment and synthetic data. Reviewers are told
|
|
119
|
-
to inspect relevant states directly and distinguish live observations from the
|
|
120
|
-
frozen source artifact. Supply the actual app URL in checkpoint checks and keep
|
|
121
|
-
the development/test server running. Browser access does not authorize a reviewer
|
|
122
|
-
to start/restart the app server.
|
|
123
|
-
|
|
124
|
-
OpenCode-provider reviewers use the internal `hybrid_browser` tool for the same
|
|
125
|
-
isolated Playwright access. Each call has its own browser process, started only
|
|
126
|
-
when needed and closed before the review completes. Browser sessions are never
|
|
127
|
-
shared between reviewers or inherited from the implementation agent. Vision-capable
|
|
128
|
-
models receive actual image pixels; text-only models cannot approve visual evidence.
|
|
129
|
-
|
|
130
|
-
`opencode-hybrid config` prints the configuration location, normally
|
|
131
|
-
`~/.config/opencode/hybrid/config.json`. `OPENCODE_CONFIG_DIR`,
|
|
132
|
-
`OPENCODE_HYBRID_CONFIG` can choose another user-owned location from your launcher.
|
|
133
|
-
Plugin `options.configFile` must match that trusted location; a project cannot
|
|
134
|
-
redirect reviewer executable settings to its own file. The installer supports
|
|
135
|
-
`--config-dir PATH` for a separate profile.
|
|
136
|
-
Do not put credentials in this file; OpenCode or the selected official CLI owns authentication.
|
|
137
|
-
|
|
138
|
-
`opencode-hybrid configure` opens an interactive selector: choose one or two
|
|
139
|
-
reviewers, OpenCode provider or external CLI for each, model, supported variant/CLI effort, and the
|
|
140
|
-
planning/design lead. Either slot can use any supported adapter, including two
|
|
141
|
-
OpenCode models, two CLI models, or one of each. `opencode-hybrid models` lists the
|
|
142
|
-
enabled tool-capable models from your OpenCode provider catalog. Any enabled
|
|
143
|
-
provider is eligible; Copilot is an ordinary catalog provider, not a special adapter. No local model
|
|
144
|
-
server, GPU setup, Strata launcher or model download is managed by this package.
|
|
145
|
-
|
|
146
|
-
Noninteractive examples (use actual IDs returned by `models`):
|
|
21
|
+
Select **one** reviewer or **two** for independent planning and review.
|
|
147
22
|
|
|
148
|
-
|
|
149
|
-
opencode-hybrid configure --reviewer1 codex-cli:gpt-6-astra --reviewer2 claude-cli:opus --variant1 high --variant2 high
|
|
150
|
-
opencode-hybrid configure --reviewer1 opencode:PROVIDER/MODEL --reviewer2 none
|
|
151
|
-
opencode-hybrid configure --reviewer1 opencode:PROVIDER/MODEL --reviewer2 claude-cli:opus --variant1 SUPPORTED_VARIANT
|
|
152
|
-
```
|
|
23
|
+

|
|
153
24
|
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
25
|
+
## 3. Pick a connection, model and effort
|
|
26
|
+
|
|
27
|
+
Use any connected OpenCode provider, or your Codex/Claude CLI login. Each reviewer can use a different connection.
|
|
28
|
+
|
|
29
|
+

|
|
30
|
+
|
|
31
|
+
<details>
|
|
32
|
+
<summary><strong>OpenCode provider — see every step</strong></summary>
|
|
33
|
+
|
|
34
|
+
**Choose your provider.**
|
|
35
|
+
|
|
36
|
+

|
|
37
|
+
|
|
38
|
+
**Choose a model.** Type to search. Models shown depend on your connections.
|
|
39
|
+
|
|
40
|
+

|
|
41
|
+
|
|
42
|
+
**Choose reasoning effort.** Options come from the selected model.
|
|
43
|
+
|
|
44
|
+

|
|
45
|
+
|
|
46
|
+
Repeat for reviewer 2 if enabled.
|
|
47
|
+
|
|
48
|
+
</details>
|
|
49
|
+
|
|
50
|
+
<details>
|
|
51
|
+
<summary><strong>External CLI — see every step</strong></summary>
|
|
52
|
+
|
|
53
|
+
**Choose Codex CLI or Claude Code CLI.** Install and sign into that CLI first.
|
|
54
|
+
|
|
55
|
+

|
|
56
|
+
|
|
57
|
+
**Enter the model ID.**
|
|
58
|
+
|
|
59
|
+

|
|
60
|
+
|
|
61
|
+
**Choose effort.** Use a level supported by that CLI and model.
|
|
62
|
+
|
|
63
|
+

|
|
64
|
+
|
|
65
|
+
</details>
|
|
66
|
+
|
|
67
|
+
<details>
|
|
68
|
+
<summary><strong>Need to connect a provider?</strong></summary>
|
|
69
|
+
|
|
70
|
+
Cancel the wizard, choose **Connect provider**, and complete OpenCode's sign-in flow. Then reopen **Complete setup**.
|
|
71
|
+
|
|
72
|
+

|
|
73
|
+
|
|
74
|
+
</details>
|
|
75
|
+
|
|
76
|
+
## 4. Choose the lead and save
|
|
77
|
+
|
|
78
|
+
With two reviewers, choose who leads planning and design.
|
|
79
|
+
|
|
80
|
+

|
|
81
|
+
|
|
82
|
+
Confirm your choices. They apply across projects; active tasks keep their assigned reviewers.
|
|
83
|
+
|
|
84
|
+

|
|
165
85
|
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
86
|
+
## 5. Choose who builds
|
|
87
|
+
|
|
88
|
+
Open **Implementation model** and select your coding model. It follows the approved plan and design.
|
|
89
|
+
|
|
90
|
+

|
|
91
|
+
|
|
92
|
+
## 6. Start working
|
|
93
|
+
|
|
94
|
+
Ask OpenCode for your feature or redesign. Reviewers handle planning and new design decisions; the implementation model builds and addresses review findings.
|
|
95
|
+
|
|
96
|
+
Continue when at least one reviewer passes and no reviewer has unresolved medium, high or critical findings.
|
|
97
|
+
|
|
98
|
+
Type **`/hybrid`** or click **Hybrid Workflow settings** whenever you want to change the setup.
|
|
99
|
+
|
|
100
|
+

|
|
101
|
+
|
|
102
|
+
<details>
|
|
103
|
+
<summary><strong>Reopen settings with /hybrid</strong></summary>
|
|
104
|
+
|
|
105
|
+

|
|
106
|
+
|
|
107
|
+
</details>
|
|
108
|
+
|
|
109
|
+
## Optional tools
|
|
110
|
+
|
|
111
|
+
<details>
|
|
112
|
+
<summary><strong>Let reviewers inspect your app in a browser</strong></summary>
|
|
113
|
+
|
|
114
|
+
Choose **Reviewer browser → Install browser support**.
|
|
115
|
+
|
|
116
|
+

|
|
117
|
+
|
|
118
|
+
Confirm installation of Playwright and Firefox.
|
|
119
|
+
|
|
120
|
+

|
|
121
|
+
|
|
122
|
+
Each reviewer gets an isolated browser. Run your app and provide its URL; use test data.
|
|
123
|
+
|
|
124
|
+

|
|
125
|
+
|
|
126
|
+
</details>
|
|
127
|
+
|
|
128
|
+
<details>
|
|
129
|
+
<summary><strong>Install pnpm or enable Context7 documentation</strong></summary>
|
|
130
|
+
|
|
131
|
+
Open **Tools and dependencies** and select what you need.
|
|
132
|
+
|
|
133
|
+

|
|
134
|
+
|
|
135
|
+
</details>
|
|
136
|
+
|
|
137
|
+
<details>
|
|
138
|
+
<summary><strong>Check your setup</strong></summary>
|
|
139
|
+
|
|
140
|
+
Choose **Run diagnostics**. Select any row for details. This does not call a model.
|
|
141
|
+
|
|
142
|
+

|
|
143
|
+
|
|
144
|
+
</details>
|
|
145
|
+
|
|
146
|
+
## Usage and updates
|
|
147
|
+
|
|
148
|
+
The sidebar shows reviewer input, output, cache tokens and costs at known API rates. These are not subscription charges. **Clear totals** resets the display, not review history.
|
|
204
149
|
|
|
205
150
|
```sh
|
|
206
|
-
opencode
|
|
151
|
+
opencode plugin update @rockysoft/opencode-hybrid-workflow@beta
|
|
207
152
|
```
|
|
208
153
|
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
account credentials onto a Mac. On macOS it detects standard Homebrew locations,
|
|
220
|
-
uses `python3`, and stores settings under `~/.config/opencode` and runtime data
|
|
221
|
-
under `~/.local/share/opencode-hybrid` (or your XDG overrides). Browser and pnpm
|
|
222
|
-
installers download the appropriate native platform binaries.
|
|
223
|
-
|
|
224
|
-
macOS checkpoint exclusion uses a kernel-held advisory lock through Python 3,
|
|
225
|
-
which is already a prerequisite for design research. The lock is released when
|
|
226
|
-
the parent exits; the persistent `.mutex` file is normal and must not be deleted.
|
|
227
|
-
Interrupted operation history and live-worker guards remain intact. This avoids
|
|
228
|
-
stale Unix socket cleanup and macOS socket pathname-length problems.
|
|
229
|
-
|
|
230
|
-
Validation: Windows and Linux execute the suite locally, including real POSIX
|
|
231
|
-
crash/concurrency tests for the macOS lock adapter. Actual macOS execution is not
|
|
232
|
-
yet verified here. `.github/workflows/compatibility.yml` is ready to run both
|
|
233
|
-
Apple Silicon (`macos-15`) and Intel (`macos-15-intel`) tests plus actual OpenCode
|
|
234
|
-
host integration once this package is placed in its own GitHub repository.
|
|
235
|
-
It has not been pushed or run on hosted Mac runners. A Mac installation can also
|
|
236
|
-
use **Hybrid Workflow settings > Run diagnostics** for prerequisite/browser checks.
|
|
237
|
-
|
|
238
|
-
OpenCode 2 plugin hooks are checked at activation; patch versions are not pinned.
|
|
239
|
-
|
|
240
|
-
Run `npm test` in the source checkout for the controller, installer, isolation,
|
|
241
|
-
evidence, process lifecycle and sidebar tests. Installation/host tests make no
|
|
242
|
-
model calls. Passing these tests does not guarantee model compliance or visual
|
|
243
|
-
quality. Third-party attribution is in `THIRD_PARTY_NOTICES.md`.
|
|
244
|
-
|
|
245
|
-
Package development uses `npm install --legacy-peer-deps`, then `npm run build`.
|
|
246
|
-
`npm pack` builds automatically. The archive contains a compiled Solid/OpenTUI
|
|
247
|
-
sidebar because the host does not compile JSX inside `node_modules`; host runtime
|
|
248
|
-
imports stay external. End users do not need Babel or a separate sidebar process.
|
|
249
|
-
|
|
250
|
-
The original plugin code is MIT-licensed; bundled skills retain their own
|
|
251
|
-
licenses as listed in `THIRD_PARTY_NOTICES.md`. Authenticate providers on each
|
|
252
|
-
machine rather than copying account credentials.
|
|
154
|
+
Reopen OpenCode after updating.
|
|
155
|
+
|
|
156
|
+
<details>
|
|
157
|
+
<summary><strong>Moving from a local/archive installation</strong></summary>
|
|
158
|
+
|
|
159
|
+
Remove the old plugin entries from `opencode.json` and `cli.json` before adding the npm package. Keep `hybrid/config.json` and runtime data to preserve settings and history.
|
|
160
|
+
|
|
161
|
+
</details>
|
|
162
|
+
|
|
163
|
+
[Advanced configuration](https://cdn.jsdelivr.net/npm/@rockysoft/opencode-hybrid-workflow@0.3.2-beta.2/docs/configuration.md) · [MIT license](https://cdn.jsdelivr.net/npm/@rockysoft/opencode-hybrid-workflow@0.3.2-beta.2/LICENSE) · [Third-party notices](https://cdn.jsdelivr.net/npm/@rockysoft/opencode-hybrid-workflow@0.3.2-beta.2/THIRD_PARTY_NOTICES.md)
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
# Configuration reference
|
|
2
|
+
|
|
3
|
+
Use Hybrid Workflow settings inside OpenCode for routine setup. These details are for advanced configuration and migration.
|
|
4
|
+
|
|
5
|
+
For terminal commands below, use `npx --package @rockysoft/opencode-hybrid-workflow@beta opencode-hybrid` in place of `opencode-hybrid` unless you installed the standalone CLI globally.
|
|
6
|
+
|
|
7
|
+
## Configuration
|
|
8
|
+
|
|
9
|
+
Both CLI and OpenCode-provider reviewers can independently inspect the running
|
|
10
|
+
app with Playwright. Configure this through **Hybrid Workflow settings > Reviewer
|
|
11
|
+
browser**. Installing browser support downloads a pinned Playwright MCP package
|
|
12
|
+
and Firefox into plugin-managed tooling, then enables isolated headless sessions.
|
|
13
|
+
The existing implementation MCP entry is preserved. Existing browser commands can
|
|
14
|
+
also be enabled without downloading replacements.
|
|
15
|
+
|
|
16
|
+
Advanced settings live in `reviewBrowser` in `hybrid/config.json`: `command`,
|
|
17
|
+
`browser` (chrome/msedge/firefox/webkit), and `headless`. The CLI browser commands
|
|
18
|
+
remain available for scripted administration.
|
|
19
|
+
|
|
20
|
+
All reviewer adapters can navigate, inspect DOM, resize, click,
|
|
21
|
+
fill test forms, evaluate page JavaScript, inspect console/network information,
|
|
22
|
+
and capture screenshots. Output goes to that review's `browser-artifacts`; tool
|
|
23
|
+
names are logged in `actions.jsonl`. This is not desktop control or the user's
|
|
24
|
+
signed-in browser. Source edits, server startup, local-file upload and arbitrary
|
|
25
|
+
host-code execution remain unavailable; Codex retains read-only shell inspection
|
|
26
|
+
of evidence, while Claude uses its read tools. Browser interactions can still mutate application
|
|
27
|
+
data: use a disposable test environment and synthetic data. Reviewers are told
|
|
28
|
+
to inspect relevant states directly and distinguish live observations from the
|
|
29
|
+
frozen source artifact. Supply the actual app URL in checkpoint checks and keep
|
|
30
|
+
the development/test server running. Browser access does not authorize a reviewer
|
|
31
|
+
to start/restart the app server.
|
|
32
|
+
|
|
33
|
+
OpenCode-provider reviewers use the internal `hybrid_browser` tool for the same
|
|
34
|
+
isolated Playwright access. Each call has its own browser process, started only
|
|
35
|
+
when needed and closed before the review completes. Browser sessions are never
|
|
36
|
+
shared between reviewers or inherited from the implementation agent. Vision-capable
|
|
37
|
+
models receive actual image pixels; text-only models cannot approve visual evidence.
|
|
38
|
+
|
|
39
|
+
`opencode-hybrid config` prints the configuration location, normally
|
|
40
|
+
`~/.config/opencode/hybrid/config.json`. `OPENCODE_CONFIG_DIR`,
|
|
41
|
+
`OPENCODE_HYBRID_CONFIG` can choose another user-owned location from your launcher.
|
|
42
|
+
Plugin `options.configFile` must match that trusted location; a project cannot
|
|
43
|
+
redirect reviewer executable settings to its own file. The installer supports
|
|
44
|
+
`--config-dir PATH` for a separate profile.
|
|
45
|
+
Do not put credentials in this file; OpenCode or the selected official CLI owns authentication.
|
|
46
|
+
|
|
47
|
+
`opencode-hybrid configure` opens an interactive selector: choose one or two
|
|
48
|
+
reviewers, OpenCode provider or external CLI for each, model, supported variant/CLI effort, and the
|
|
49
|
+
planning/design lead. Either slot can use any supported adapter, including two
|
|
50
|
+
OpenCode models, two CLI models, or one of each. `opencode-hybrid models` lists the
|
|
51
|
+
enabled tool-capable models from your OpenCode provider catalog. Any enabled
|
|
52
|
+
provider is eligible; Copilot is an ordinary catalog provider, not a special adapter. No local model
|
|
53
|
+
server, GPU setup, Strata launcher or model download is managed by this package.
|
|
54
|
+
|
|
55
|
+
Noninteractive examples (use actual IDs returned by `models`):
|
|
56
|
+
|
|
57
|
+
```sh
|
|
58
|
+
opencode-hybrid configure --reviewer1 codex-cli:gpt-6-astra --reviewer2 claude-cli:opus --variant1 high --variant2 high
|
|
59
|
+
opencode-hybrid configure --reviewer1 opencode:PROVIDER/MODEL --reviewer2 none
|
|
60
|
+
opencode-hybrid configure --reviewer1 opencode:PROVIDER/MODEL --reviewer2 claude-cli:opus --variant1 SUPPORTED_VARIANT
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
```json
|
|
64
|
+
{
|
|
65
|
+
"version": 1,
|
|
66
|
+
"reviewers": {
|
|
67
|
+
"astra": { "adapter": "codex-cli", "model": "gpt-6-astra", "effort": "high", "executable": "codex" },
|
|
68
|
+
"opus": { "adapter": "claude-cli", "model": "opus", "effort": "high", "executable": "claude" }
|
|
69
|
+
},
|
|
70
|
+
"verification": { "executable": "pnpm", "timeoutMs": 0 },
|
|
71
|
+
"reviewTimeoutMs": 0
|
|
72
|
+
}
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
`astra` and `opus` are stable storage-slot IDs, not provider restrictions. Set the
|
|
76
|
+
second slot to `null` for one reviewer. An OpenCode slot has
|
|
77
|
+
`{"adapter":"opencode","providerID":"...","model":"...","variant":"..."}`;
|
|
78
|
+
omit `variant` for the provider default. There is no invented universal effort
|
|
79
|
+
mapping. `designAuthor` selects `astra` or `opus`; default is the last enabled slot.
|
|
80
|
+
Legacy defaults remain Codex/Astra and Claude/Opus, both high effort; first-run
|
|
81
|
+
setup asks for explicit choices and initially highlights OpenCode providers.
|
|
82
|
+
|
|
83
|
+
Native reviewers run in read-only OpenCode child sessions with only frozen
|
|
84
|
+
evidence, public-documentation tools and the optional isolated browser. They cannot edit source, delegate or
|
|
85
|
+
recursively start checkpoints. Image reviews require an image-capable model.
|
|
86
|
+
Unknown/disabled models, unsupported variants and invalid reports fail explicitly;
|
|
87
|
+
there is no provider fallback. Provider context limits still apply.
|
|
88
|
+
|
|
89
|
+
Reviewer assignments are pinned for an active task; changing defaults affects
|
|
90
|
+
the next task without restarting OpenCode. Existing findings are retained. One
|
|
91
|
+
reviewer must pass with no medium-or-higher findings; it does not claim independent
|
|
92
|
+
cross-model agreement. With two, both reports must complete and neither may have
|
|
93
|
+
an unresolved medium-or-higher finding. Low/info suggestions do not block a pass.
|
|
94
|
+
|
|
95
|
+
Installation merges plugin entries into `opencode.json` and `cli.json`, installs
|
|
96
|
+
nine specialist definitions and the three design skills, and adds a managed rules
|
|
97
|
+
file. Existing custom agent/skill files are preserved and reported. Other settings,
|
|
98
|
+
permissions and implementation-model choices are retained. JSONC is accepted;
|
|
99
|
+
comments are removed from the rewritten file, with an exact original backup.
|
|
100
|
+
Updates replace only unchanged package-managed instruction files. It does not
|
|
101
|
+
import personal project memories or modify Claude/Codex global rules.
|
|
102
|
+
|
|
103
|
+
## Storage and existing sessions
|
|
104
|
+
|
|
105
|
+
New state lives outside both the package and project: Windows uses
|
|
106
|
+
`%LOCALAPPDATA%/opencode-hybrid/runtime`, other platforms use
|
|
107
|
+
`$XDG_DATA_HOME/opencode-hybrid/runtime` or `~/.local/share/opencode-hybrid/runtime`.
|
|
108
|
+
Projects are isolated by canonical path. Checkpoints are project-scoped; concurrent
|
|
109
|
+
conversations editing the same project must coordinate against the same gate.
|
|
110
|
+
Opening a subfolder of a Git repository asks you to open its root.
|
|
111
|
+
|
|
112
|
+
To retain a trial project's exact existing history without copying/resetting it:
|
|
113
|
+
|
|
114
|
+
```sh
|
|
115
|
+
opencode-hybrid init --legacy-config /path/to/old/config.json --project /path/to/project
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
Only that project receives a runtime override; new projects use portable storage.
|
|
119
|
+
OpenCode conversation history is separate. Sessions created under an isolated
|
|
120
|
+
`XDG_DATA_HOME` remain in that profile; installation does not move them. Existing
|
|
121
|
+
trial profiles stay usable. Restart OpenCode to load changed modules; installation
|
|
122
|
+
does not interrupt running sessions or restart model servers.
|
|
123
|
+
|
|
124
|
+
## Troubleshooting
|
|
125
|
+
|
|
126
|
+
Use **Hybrid Workflow settings > Run diagnostics** to check prerequisites,
|
|
127
|
+
reviewer connections, design skills and browser access. Sign in to each provider
|
|
128
|
+
on the machine where you use OpenCode. Reopen OpenCode after a plugin update.
|
|
129
|
+
|
|
130
|
+
## License
|
|
131
|
+
|
|
132
|
+
The original plugin code is MIT-licensed; bundled skills retain their own
|
|
133
|
+
licenses as listed in `THIRD_PARTY_NOTICES.md`. Authenticate providers on each
|
|
134
|
+
machine rather than copying account credentials.
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rockysoft/opencode-hybrid-workflow",
|
|
3
|
-
"version": "0.3.2-beta.
|
|
3
|
+
"version": "0.3.2-beta.2",
|
|
4
4
|
"description": "Portable configurable-reviewer planning, design, implementation checkpoints and usage sidebar for OpenCode 2",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -24,7 +24,8 @@
|
|
|
24
24
|
"assets/",
|
|
25
25
|
"README.md",
|
|
26
26
|
"THIRD_PARTY_NOTICES.md",
|
|
27
|
-
"LICENSE"
|
|
27
|
+
"LICENSE",
|
|
28
|
+
"docs/"
|
|
28
29
|
],
|
|
29
30
|
"engines": {
|
|
30
31
|
"node": ">=22"
|