@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 CHANGED
@@ -1,252 +1,163 @@
1
1
  # OpenCode Hybrid Workflow
2
2
 
3
- One OpenCode 2 package for premium planning/design/reviews, implementation
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
- **Public beta:** Windows and Linux checks pass. macOS support is implemented,
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
- ## Install once
7
+ **Requirements:** OpenCode 2, Node.js 22+, Git and Python 3. Windows and Linux; experimental macOS support.
12
8
 
13
- In your terminal, with OpenCode 2 installed:
9
+ ## 1. Install
14
10
 
15
11
  ```sh
16
12
  opencode plugin add @rockysoft/opencode-hybrid-workflow@beta
17
13
  ```
18
14
 
19
- Then open OpenCode in any project and complete **Hybrid setup**. Configure
20
- providers, reviewers and optional tools inside OpenCode. Existing running
21
- sessions are not restarted; reopen OpenCode when ready to load the plugin.
15
+ ![Install the plugin from npm](https://cdn.jsdelivr.net/npm/@rockysoft/opencode-hybrid-workflow@0.3.2-beta.2/docs/images/01-install.png)
22
16
 
23
- To update the beta later:
17
+ Open `opencode` in your project. The setup wizard opens automatically.
24
18
 
25
- ```sh
26
- opencode plugin update @rockysoft/opencode-hybrid-workflow@beta
27
- ```
19
+ ## 2. Choose your reviewers
28
20
 
29
- These commands use OpenCode's global package plugin manager. No separate npm
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
- ```sh
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
+ ![Choose one or two reviewers](https://cdn.jsdelivr.net/npm/@rockysoft/opencode-hybrid-workflow@0.3.2-beta.2/docs/images/02-reviewers.png)
153
24
 
154
- ```json
155
- {
156
- "version": 1,
157
- "reviewers": {
158
- "astra": { "adapter": "codex-cli", "model": "gpt-6-astra", "effort": "high", "executable": "codex" },
159
- "opus": { "adapter": "claude-cli", "model": "opus", "effort": "high", "executable": "claude" }
160
- },
161
- "verification": { "executable": "pnpm", "timeoutMs": 0 },
162
- "reviewTimeoutMs": 0
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
+ ![Choose a reviewer connection](https://cdn.jsdelivr.net/npm/@rockysoft/opencode-hybrid-workflow@0.3.2-beta.2/docs/images/03-connection.png)
30
+
31
+ <details>
32
+ <summary><strong>OpenCode provider — see every step</strong></summary>
33
+
34
+ **Choose your provider.**
35
+
36
+ ![Choose a connected provider](https://cdn.jsdelivr.net/npm/@rockysoft/opencode-hybrid-workflow@0.3.2-beta.2/docs/images/04-provider.png)
37
+
38
+ **Choose a model.** Type to search. Models shown depend on your connections.
39
+
40
+ ![Choose a reviewer model](https://cdn.jsdelivr.net/npm/@rockysoft/opencode-hybrid-workflow@0.3.2-beta.2/docs/images/05-model.png)
41
+
42
+ **Choose reasoning effort.** Options come from the selected model.
43
+
44
+ ![Choose reasoning effort](https://cdn.jsdelivr.net/npm/@rockysoft/opencode-hybrid-workflow@0.3.2-beta.2/docs/images/06-effort.png)
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
+ ![Choose the external CLI](https://cdn.jsdelivr.net/npm/@rockysoft/opencode-hybrid-workflow@0.3.2-beta.2/docs/images/18-cli.png)
56
+
57
+ **Enter the model ID.**
58
+
59
+ ![Enter a CLI model ID](https://cdn.jsdelivr.net/npm/@rockysoft/opencode-hybrid-workflow@0.3.2-beta.2/docs/images/19-cli-model.png)
60
+
61
+ **Choose effort.** Use a level supported by that CLI and model.
62
+
63
+ ![Choose CLI reasoning effort](https://cdn.jsdelivr.net/npm/@rockysoft/opencode-hybrid-workflow@0.3.2-beta.2/docs/images/20-cli-effort.png)
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
+ ![Connect a provider through OpenCode](https://cdn.jsdelivr.net/npm/@rockysoft/opencode-hybrid-workflow@0.3.2-beta.2/docs/images/15-connect-provider.png)
73
+
74
+ </details>
75
+
76
+ ## 4. Choose the lead and save
77
+
78
+ With two reviewers, choose who leads planning and design.
79
+
80
+ ![Choose the planning and design lead](https://cdn.jsdelivr.net/npm/@rockysoft/opencode-hybrid-workflow@0.3.2-beta.2/docs/images/07-design-lead.png)
81
+
82
+ Confirm your choices. They apply across projects; active tasks keep their assigned reviewers.
83
+
84
+ ![Save the reviewer setup](https://cdn.jsdelivr.net/npm/@rockysoft/opencode-hybrid-workflow@0.3.2-beta.2/docs/images/08-save.png)
165
85
 
166
- `astra` and `opus` are stable storage-slot IDs, not provider restrictions. Set the
167
- second slot to `null` for one reviewer. An OpenCode slot has
168
- `{"adapter":"opencode","providerID":"...","model":"...","variant":"..."}`;
169
- omit `variant` for the provider default. There is no invented universal effort
170
- mapping. `designAuthor` selects `astra` or `opus`; default is the last enabled slot.
171
- Legacy defaults remain Codex/Astra and Claude/Opus, both high effort; first-run
172
- setup asks for explicit choices and initially highlights OpenCode providers.
173
-
174
- Native reviewers run in read-only OpenCode child sessions with only frozen
175
- evidence, public-documentation tools and the optional isolated browser. They cannot edit source, delegate or
176
- recursively start checkpoints. Image reviews require an image-capable model.
177
- Unknown/disabled models, unsupported variants and invalid reports fail explicitly;
178
- there is no provider fallback. Provider context limits still apply.
179
-
180
- Reviewer assignments are pinned for an active task; changing defaults affects
181
- the next task without restarting OpenCode. Existing findings are retained. One
182
- reviewer must pass with no medium-or-higher findings; it does not claim independent
183
- cross-model agreement. With two, both reports must complete and neither may have
184
- an unresolved medium-or-higher finding. Low/info suggestions do not block a pass.
185
-
186
- Installation merges plugin entries into `opencode.json` and `cli.json`, installs
187
- nine specialist definitions and the three design skills, and adds a managed rules
188
- file. Existing custom agent/skill files are preserved and reported. Other settings,
189
- permissions and implementation-model choices are retained. JSONC is accepted;
190
- comments are removed from the rewritten file, with an exact original backup.
191
- Updates replace only unchanged package-managed instruction files. It does not
192
- import personal project memories or modify Claude/Codex global rules.
193
-
194
- ## Storage and existing sessions
195
-
196
- New state lives outside both the package and project: Windows uses
197
- `%LOCALAPPDATA%/opencode-hybrid/runtime`, other platforms use
198
- `$XDG_DATA_HOME/opencode-hybrid/runtime` or `~/.local/share/opencode-hybrid/runtime`.
199
- Projects are isolated by canonical path. Checkpoints are project-scoped; concurrent
200
- conversations editing the same project must coordinate against the same gate.
201
- Opening a subfolder of a Git repository asks you to open its root.
202
-
203
- To retain a trial project's exact existing history without copying/resetting it:
86
+ ## 5. Choose who builds
87
+
88
+ Open **Implementation model** and select your coding model. It follows the approved plan and design.
89
+
90
+ ![Choose the implementation model](https://cdn.jsdelivr.net/npm/@rockysoft/opencode-hybrid-workflow@0.3.2-beta.2/docs/images/17-implementation.png)
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
+ ![Hybrid Workflow settings](https://cdn.jsdelivr.net/npm/@rockysoft/opencode-hybrid-workflow@0.3.2-beta.2/docs/images/09-settings.png)
101
+
102
+ <details>
103
+ <summary><strong>Reopen settings with /hybrid</strong></summary>
104
+
105
+ ![Open settings from the command prompt](https://cdn.jsdelivr.net/npm/@rockysoft/opencode-hybrid-workflow@0.3.2-beta.2/docs/images/16-reopen.png)
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
+ ![Reviewer browser options](https://cdn.jsdelivr.net/npm/@rockysoft/opencode-hybrid-workflow@0.3.2-beta.2/docs/images/10-browser.png)
117
+
118
+ Confirm installation of Playwright and Firefox.
119
+
120
+ ![Confirm browser installation](https://cdn.jsdelivr.net/npm/@rockysoft/opencode-hybrid-workflow@0.3.2-beta.2/docs/images/11-browser-confirm.png)
121
+
122
+ Each reviewer gets an isolated browser. Run your app and provide its URL; use test data.
123
+
124
+ ![Browser support installed](https://cdn.jsdelivr.net/npm/@rockysoft/opencode-hybrid-workflow@0.3.2-beta.2/docs/images/12-browser-ready.png)
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
+ ![Tools and dependencies](https://cdn.jsdelivr.net/npm/@rockysoft/opencode-hybrid-workflow@0.3.2-beta.2/docs/images/13-tools.png)
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
+ ![Setup diagnostics](https://cdn.jsdelivr.net/npm/@rockysoft/opencode-hybrid-workflow@0.3.2-beta.2/docs/images/14-diagnostics.png)
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-hybrid init --legacy-config /path/to/old/config.json --project /path/to/project
151
+ opencode plugin update @rockysoft/opencode-hybrid-workflow@beta
207
152
  ```
208
153
 
209
- Only that project receives a runtime override; new projects use portable storage.
210
- OpenCode conversation history is separate. Sessions created under an isolated
211
- `XDG_DATA_HOME` remain in that profile; installation does not move them. Existing
212
- trial profiles stay usable. Restart OpenCode to load changed modules; installation
213
- does not interrupt running sessions or restart model servers.
214
-
215
- ## Validation and current limits
216
-
217
- The package targets Windows, macOS (Apple Silicon and Intel), and Linux. The same
218
- in-app setup is used on each platform; do not copy Windows executable paths or
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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rockysoft/opencode-hybrid-workflow",
3
- "version": "0.3.2-beta.1",
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"