77 lines
4.1 KiB
Markdown
77 lines
4.1 KiB
Markdown
# stanp-opencode
|
|
|
|
stanp-opencode is an OpenCode V2 coordinator with specialist workers for fast, good, and deep tasks.
|
|
|
|
## Install the latest release
|
|
|
|
Requires OpenCode 2.0.15, Bun 1.4.2+, Bash, curl, jq, and `sha256sum` on Linux or WSL.
|
|
|
|
Run the installer without sudo:
|
|
|
|
```sh
|
|
curl -fsSL https://git.krtss.de/StanPonomarev/stanp-opencode/raw/branch/main/install.sh | bash
|
|
```
|
|
|
|
Pass `--playwright` to let the plugin automatically configure a Playwright MCP server:
|
|
|
|
```sh
|
|
curl -fsSL https://git.krtss.de/StanPonomarev/stanp-opencode/raw/branch/main/install.sh | bash -s -- --playwright
|
|
```
|
|
|
|
Rerun the command to upgrade to the latest published release.
|
|
|
|
## Install from a local checkout
|
|
|
|
This requires Bash, jq, and Bun 1.4.2+:
|
|
|
|
```sh
|
|
bash /path/to/stanp-opencode/install-local.sh
|
|
```
|
|
|
|
Add `--playwright` to this command to enable automatic Playwright MCP configuration.
|
|
|
|
The script installs dependencies and builds the checkout before installing it.
|
|
|
|
After either installation, restart `opencode` or run `opencode service restart` for an existing service. Connect OpenAI and select `coordinate`. The required models must be available for the workers to run.
|
|
|
|
Both installers use `~/.config/opencode`, respect `XDG_CONFIG_HOME`, and accept `OPENCODE_CONFIG_DIR` as an override.
|
|
|
|
## Configuration
|
|
|
|
See [GPT configuration](examples/gpt.opencode.jsonc) and [custom model assignments](examples/custom.opencode.jsonc).
|
|
|
|
For an installed plugin, use `./plugins/stanp-opencode` as the plugin package path. In GPT mode with the `openai` provider, set top-level `lunaPriority` to `false` to avoid requesting priority pricing. Other providers do not accept this option. Custom top-level and per-agent `provider` and `lunaPriority` fields are invalid.
|
|
Custom configurations require the six worker assignments and use `provider/model` model names.
|
|
The legacy optional `coordinate` assignment is accepted for compatibility but ignored. Orchestration
|
|
inherits `deep-lo`, or `good-lo` when the configured `deep-lo` model is unavailable.
|
|
|
|
The plugin includes the anti-overengineering skill for keeping changes minimal without
|
|
weakening correctness. `coordinate` can use it to audit worker review findings, reject
|
|
redundant defensive additions, and ask before delegating substantial defensive complexity.
|
|
Ordinary in-scope fixes do not require additional approval.
|
|
|
|
## Multi-work
|
|
|
|
Select `multi-work` in a verified live Herdr root checkout to delegate local retrieval
|
|
to `fast-lo` and independent work to `coordinate` children in either the current root
|
|
checkout or new Herdr worktrees.
|
|
It is primary-only and, like `coordinate`, uses the `deep-lo` model and effort,
|
|
falling back to `good-lo` when `deep-lo` is unavailable. Clients viewing the
|
|
same eligible location can see it; eligibility is revalidated before creation.
|
|
|
|
Configure `experimental.subagent_depth: 2` at the root and worktree locations.
|
|
For new coordinate tasks, omit `worktree` to share the current root checkout, or pass
|
|
`worktree: { base: "source-branch" }` for an isolated checkout. The tool retains native
|
|
session/job handling. See [usage, permissions,
|
|
failure handling, and verification limits](docs/multi-work.md).
|
|
|
|
## Playwright
|
|
|
|
When installed with `--playwright`, the plugin prefers a local Playwright MCP installation. If ordinary Playwright is installed, it can download and run the MCP package with `npx`; otherwise Docker is required for the automatic fallback. Automatically configured servers allow five minutes for startup because the first launch may need to download a package or container image. Docker reuses its cached image on later launches. Existing `playwright` configuration, including its timeout, is preserved.
|
|
|
|
If `opencode mcp list` reports `MCP error -32001: Request timed out`, prefetch the Docker fallback with `docker pull mcr.microsoft.com/playwright/mcp`, or install `@playwright/mcp` in the project so the plugin can launch it directly. Then reconnect the server from `/mcps` or restart OpenCode. A custom `playwright` entry under `mcp.servers` can also set its own `timeout.startup` in milliseconds.
|
|
|
|
## Uninstall
|
|
|
|
Remove `plugins/stanp-opencode` from the selected configuration directory and remove its configuration entry, then restart OpenCode.
|