opencode-reviewer 2.1.2 → 2.1.4
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 +50 -21
- package/THIRD_PARTY_NOTICES.md +4 -4
- package/dist/tui.js +410 -142
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# OpenCode Reviewer
|
|
2
2
|
|
|
3
3
|
Reviews pending permissions in the [OpenCode](https://github.com/anomalyco/opencode) sidebar using a separate LLM. Reviews
|
|
4
|
-
native shell commands, file edits, and external-directory access.
|
|
5
|
-
custom-
|
|
4
|
+
native shell commands, file edits, skill loading, and external-directory access.
|
|
5
|
+
MCP and custom tools share a tool-review category, with registered descriptions and JSON Schemas included when available.
|
|
6
6
|
Supports streaming explanations, saved report history and stats, auto-approval, and Linux
|
|
7
7
|
desktop notifications (Gnome) with distinct sounds.
|
|
8
8
|
|
|
@@ -19,6 +19,13 @@ each request's data and scope rather than allowing only specific host versions.
|
|
|
19
19
|
|
|
20
20
|
## Install and config
|
|
21
21
|
|
|
22
|
+
Reviews send request data, the latest user prompt, and selected file snapshots,
|
|
23
|
+
diffs, skill instructions or tool arguments to your configured endpoint **before
|
|
24
|
+
permission approval**. Shell snapshots can follow symlinks outside the project;
|
|
25
|
+
denying the command afterward cannot undo that disclosure. Use an endpoint you
|
|
26
|
+
trust, and a local reviewer or a sandbox without accessible secrets when working
|
|
27
|
+
with untrusted repositories.
|
|
28
|
+
|
|
22
29
|
Add this entry to the global `~/.config/opencode/cli.json`, or
|
|
23
30
|
`$XDG_CONFIG_HOME/opencode/cli.json` when `XDG_CONFIG_HOME` is set.
|
|
24
31
|
There is no project-local CLI configuration. OpenCode loads the
|
|
@@ -40,9 +47,8 @@ There is no project-local CLI configuration. OpenCode loads the
|
|
|
40
47
|
"reviewBash": true,
|
|
41
48
|
"reviewEdits": true,
|
|
42
49
|
"reviewSkills": true,
|
|
43
|
-
"
|
|
44
|
-
"
|
|
45
|
-
"reviewExternalDirectories": false,
|
|
50
|
+
"reviewTools": true,
|
|
51
|
+
"reviewExternalDirectories": true,
|
|
46
52
|
"autoApprove": false,
|
|
47
53
|
"fastMode": false,
|
|
48
54
|
"extraCareful": true,
|
|
@@ -113,10 +119,9 @@ inclusive, fractions are invalid, and the maximum safe integer is
|
|
|
113
119
|
| `stream` | boolean | `false` | Request SSE and show provisional rating/text updates. Normal automatic approval waits for a completed, validated report; fast mode can approve on an early Safe rating. Approval rules are described below. |
|
|
114
120
|
| `reviewBash` | boolean | `true` | Review native `shell` permissions. The option keeps its existing name. |
|
|
115
121
|
| `reviewEdits` | boolean | `true` | Review native `edit`, `write` and `patch` tools, which use the `edit` permission action. |
|
|
116
|
-
| `reviewSkills` | boolean | `true` |
|
|
117
|
-
| `
|
|
118
|
-
| `
|
|
119
|
-
| `reviewExternalDirectories` | boolean | `false` | Review directory access independently of operation-review switches. Directory approval can resume the operation without another prompt. |
|
|
122
|
+
| `reviewSkills` | boolean | `true` | Review native skill loading using the exact requested ID and full currently registered main instructions. Assumes the selected definition stays unchanged while permission is pending. Missing or ambiguous instructions remain manual. |
|
|
123
|
+
| `reviewTools` | boolean | `true` | Review other tools, including MCP and custom tools, using `TOOL-REVIEW-PROMPT.md`. Exact call linkage, arguments and permission scope are required. Descriptions and JSON Schemas are optional; missing evidence is explained to the LLM, which decides Safe/Unsafe. Safe reviews can use normal or fast automatic approval. |
|
|
124
|
+
| `reviewExternalDirectories` | boolean | `true` | Review directory access independently of operation-review switches. Directory approval can resume the operation without another prompt. |
|
|
120
125
|
| `autoApprove` | boolean | `false` | Allow Safe reviews once automatically. Normally waits for completion, validation and the countdown. Works throughout the current conversation, including subagent browsing and hidden/covered reports. Home, dashboards, unrelated conversations and native permission decision editing wait without cancellation. |
|
|
121
126
|
| `fastMode` | boolean | `false` | Requires `autoApprove: true`. Approve an eligible, front-of-queue request as soon as a Safe rating is parsed, bypassing the countdown. Respects `stream`; with `stream: false`, waits for the complete validated response. Finish the report and save it in the background after approval. |
|
|
122
127
|
| `extraCareful` | boolean | `true` | Include extra-careful guidance when `autoApprove` is enabled. Setting `false` omits that guidance without disabling automatic approval. |
|
|
@@ -161,10 +166,28 @@ The plugin doesn't enable mouse tracking or reveal a hidden sidebar unless you
|
|
|
161
166
|
click an approval notification; it checks that the sidebar is absent from the main
|
|
162
167
|
conversation before showing it. Hidden automatic reports are saved normally.
|
|
163
168
|
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
the
|
|
167
|
-
|
|
169
|
+
Skill reviews use the full main instructions from the server's current registered
|
|
170
|
+
skill definition, not a fresh `SKILL.md` read or an invocation-time snapshot. This
|
|
171
|
+
assumes that the selected definition stays unchanged while its permission is pending.
|
|
172
|
+
The exact skill ID, native call and permission scope must match. Missing, ambiguous
|
|
173
|
+
or oversized main instructions remain manual. Supporting files and scripts are not
|
|
174
|
+
inspected; their omission alone does not prevent review. Allowing a skill loads its
|
|
175
|
+
instructions, not a blanket grant for later tool actions.
|
|
176
|
+
|
|
177
|
+
Tool reviews use the exact effective tool ID, captured arguments and pending
|
|
178
|
+
permission scope. Current server-side registered names, descriptions and input
|
|
179
|
+
JSON Schemas are included when available. Missing, duplicate, oversized,
|
|
180
|
+
unreadable or unsupported definitions are omitted with factual reasons sent to
|
|
181
|
+
the LLM. The LLM decides whether the remaining evidence justifies Safe or Unsafe;
|
|
182
|
+
missing optional evidence does not itself force manual approval.
|
|
183
|
+
|
|
184
|
+
This assumes any supplied definition stays unchanged while approval is pending
|
|
185
|
+
and accurately describes behavior. The reviewer does not inspect executors or
|
|
186
|
+
remote implementations, infer origin from names, or claim an invocation-time
|
|
187
|
+
definition snapshot. Ambiguous call linkage still remains manual because the
|
|
188
|
+
reviewer cannot identify the operation being approved. Saved reports use the tool
|
|
189
|
+
category. All review categories default to enabled; `autoApprove` still defaults
|
|
190
|
+
to false. `reviewTools` replaces `reviewMcp` and `reviewCustomTools`.
|
|
168
191
|
|
|
169
192
|
Code Mode and its tool search stay enabled. Native tool calls can be reviewed when
|
|
170
193
|
the reviewer can match them exactly to their permission requests. Nested calls
|
|
@@ -230,8 +253,9 @@ controls remain available. Already-approved fast-mode reports finish in the back
|
|
|
230
253
|
The commands remain available when review configuration or the companion is unavailable;
|
|
231
254
|
they save the preference without starting reviews.
|
|
232
255
|
|
|
233
|
-
At startup, the reviewer
|
|
234
|
-
|
|
256
|
+
At startup, the reviewer waits for the connected server event stream before its first
|
|
257
|
+
companion handshake. Connection waiting and retries for timed-out or not-yet-available
|
|
258
|
+
handshakes share one 10-second budget. If it remains unavailable, history and notifications still work;
|
|
235
259
|
reload the plugin to try again. Invalid handshake data is not retried.
|
|
236
260
|
|
|
237
261
|
If the server reconnects or the companion is replaced, reviews and auto-approval
|
|
@@ -242,6 +266,8 @@ from the old connection separate from the new one.
|
|
|
242
266
|
|
|
243
267
|
Use `/reviewer-history` or **Reviewer: Report history** in the command palette to
|
|
244
268
|
open the newest saved report for the current conversation and its descendants.
|
|
269
|
+
**Alt+H** toggles report history from the main conversation. Its shortcut can be
|
|
270
|
+
remapped with `keybinds["reviewer.history.toggle"]` in global `cli.json`.
|
|
245
271
|
Left/Right or the arrow buttons select older/newer entries; Up/Down and
|
|
246
272
|
PageUp/PageDown scroll. Close or Escape closes history. Repeating the command
|
|
247
273
|
returns to the newest report. History remains available with review disabled or
|
|
@@ -320,7 +346,7 @@ received usage from unsuccessful or interrupted reviews, which do not count as
|
|
|
320
346
|
completed reviews. Averages include measured reviews only.
|
|
321
347
|
|
|
322
348
|
Reviews send the pending request, latest user prompt, project context, and relevant
|
|
323
|
-
file snapshots, diffs, or tool arguments to your endpoint before approval. Shell
|
|
349
|
+
file snapshots, diffs, registered skill instructions, or tool arguments to your endpoint before approval. Shell
|
|
324
350
|
file snapshots can follow symlinks outside the project. Missing evidence is noted
|
|
325
351
|
in the report; ratings are advice based on the supplied evidence.
|
|
326
352
|
</details>
|
|
@@ -438,12 +464,15 @@ Disable overlapping notification plugins to avoid duplicate alerts.
|
|
|
438
464
|
Use Node.js 24.15.0+ within 24.x, or 22.22.2+ within 22.x, and npm.
|
|
439
465
|
Run `npm ci --ignore-scripts`, then `npm run check` for typechecking, source tests,
|
|
440
466
|
pure-helper tests and the build. `npm run test:helpers` runs the helper checks
|
|
441
|
-
without building or starting OpenCode.
|
|
442
|
-
and
|
|
443
|
-
|
|
444
|
-
|
|
467
|
+
without building or starting OpenCode. Pushing a version tag runs verification
|
|
468
|
+
and publication in one workflow: source tests, helper tests, reproducible builds
|
|
469
|
+
and archive checks must pass before the exact verified archive is published.
|
|
470
|
+
The manual **Extended host checks** workflow tests Node 22/24 and the real Linux
|
|
471
|
+
TUI on the newest stable OpenCode V2. These timing-sensitive host fixtures are
|
|
472
|
+
not an automatic release prerequisite.
|
|
473
|
+
After building, run `node scripts/test-runtime.mjs --profile v2-acceptance` for that same
|
|
445
474
|
profile. Use `node scripts/test-runtime.mjs --list` for the complete runtime
|
|
446
|
-
inventory or `node scripts/test-runtime.mjs --plan --profile
|
|
475
|
+
inventory or `node scripts/test-runtime.mjs --plan --profile v2-acceptance` for a
|
|
447
476
|
host-independent plan. Profiles select documented scenario/flag combinations;
|
|
448
477
|
interactive desktop checks have separate prerequisites.
|
|
449
478
|
See [AGENTS.md](https://github.com/mightykatun/opencode-reviewer/blob/main/AGENTS.md)
|
package/THIRD_PARTY_NOTICES.md
CHANGED
|
@@ -27,16 +27,16 @@ ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
|
|
27
27
|
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
|
28
28
|
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
29
29
|
|
|
30
|
-
# Bundled dependency: @opencode/theme 2.0.
|
|
30
|
+
# Bundled dependency: @opencode/theme 2.0.29
|
|
31
31
|
|
|
32
|
-
https://github.com/anomalyco/opencode/tree/v2.0.
|
|
32
|
+
https://github.com/anomalyco/opencode/tree/v2.0.29/packages/theme
|
|
33
33
|
|
|
34
|
-
The
|
|
34
|
+
The source-fingerprinted theme syntax helper is bundled unchanged in the terminal payload.
|
|
35
35
|
A build-time adapter replaces its public barrel with a syntax-only re-export;
|
|
36
36
|
unused theme parsers, schemas and their Effect dependency are not bundled.
|
|
37
37
|
Solid and OpenTUI remain host-provided external dependencies.
|
|
38
38
|
|
|
39
|
-
License source: https://github.com/anomalyco/opencode/blob/v2.0.
|
|
39
|
+
License source: https://github.com/anomalyco/opencode/blob/v2.0.29/LICENSE
|
|
40
40
|
|
|
41
41
|
```text
|
|
42
42
|
MIT License
|