81 lines
3.5 KiB
Markdown
81 lines
3.5 KiB
Markdown
# stanp-opencode
|
|
|
|
## Release installation
|
|
|
|
Requires OpenCode 2.0.22, Bun 1.4.2+, Bash, curl, jq, and `sha256sum` on Linux/WSL.
|
|
|
|
```sh
|
|
curl -fsSL https://git.krtss.de/StanPonomarev/stanp-opencode/raw/branch/main/install.sh | bash -s -- --plugins agents,multi-work,quota,optchat
|
|
```
|
|
|
|
Choose any plugin subset; Multi-work requires Agents first.
|
|
|
|
Quota shows ChatGPT limits for the connected OpenAI account and, when Claude Code is logged in, Claude subscription limits read from `${CLAUDE_CONFIG_DIR:-~/.claude}/.credentials.json` (read-only; Claude Code refreshes the token).
|
|
|
|
Optchat implements [VictorTaelin's optchat recipe](https://gist.github.com/VictorTaelin/91837951a5ce5b38f341ec1ba1df6449). It is off by default; run `/optchat on`, `/optchat off`, or `/optchat status` in a root session. In an enabled session, each turn sees a constant-size view of the whole chat, made of one-line summaries, plus the new message. The model can open any line with the `zoom` tool and read message times with `date`. Optchat does not apply to subagent sessions. Memory is stored in `~/.local/share/opencode/optchat/<sessionID>/`. Compactions run in a child session named "optchat compactions". The plugin accepts two options: `compactionModel` (default `opencode/claude-haiku-5-5#xhigh`) and `dataDir`.
|
|
|
|
## Local installation
|
|
|
|
From a local checkout, run:
|
|
|
|
```sh
|
|
bash /path/to/stanp-opencode/install-local.sh --plugins agents,multi-work,quota
|
|
opencode service restart
|
|
# Connect OpenAI and select coordinate in OpenCode.
|
|
```
|
|
|
|
## GPT configuration
|
|
|
|
Merge this into `~/.config/opencode/opencode.json`, preserving unrelated settings and plugins; update existing plugin entries instead of appending duplicates.
|
|
|
|
```jsonc
|
|
{
|
|
"$schema": "https://opencode.ai/config.json",
|
|
// Required at the root and in worktrees.
|
|
"experimental": { "subagent_depth": 2 },
|
|
"plugins": [
|
|
{
|
|
"package": "./plugins/stanp-opencode/agents",
|
|
"options": {
|
|
"mode": "gpt",
|
|
"provider": "openai",
|
|
// Priority may cost more; set false to opt out.
|
|
"lunaPriority": true,
|
|
},
|
|
},
|
|
{ "package": "./plugins/stanp-opencode/multi-work" },
|
|
{ "package": "./plugins/stanp-opencode/quota" },
|
|
],
|
|
}
|
|
```
|
|
|
|
## Custom model configuration
|
|
|
|
Merge this into `~/.config/opencode/opencode.json`, preserving unrelated settings and plugins; update existing plugin entries instead of appending duplicates. The `deep-lo` and `deep-hi` assignments are optional as a pair; if either is omitted, both deep workers are disabled and orchestration uses `good-lo`.
|
|
|
|
```jsonc
|
|
{
|
|
"$schema": "https://opencode.ai/config.json",
|
|
// Required at the root and in worktrees.
|
|
"experimental": { "subagent_depth": 2 },
|
|
"plugins": [
|
|
{
|
|
"package": "./plugins/stanp-opencode/agents",
|
|
"options": {
|
|
"mode": "custom",
|
|
"agents": {
|
|
"fast-lo": { "model": "openai/gpt-6-luna", "effort": "low" },
|
|
"fast-hi": { "model": "openai/gpt-6-luna", "effort": "high" },
|
|
"good-lo": { "model": "openai/gpt-6.1-sol", "effort": "low" },
|
|
"good-hi": { "model": "openai/gpt-6.1-sol", "effort": "high" },
|
|
"deep-lo": { "model": "openai/gpt-6-astra", "effort": "low" },
|
|
"deep-hi": { "model": "openai/gpt-6-astra", "effort": "high" },
|
|
},
|
|
},
|
|
},
|
|
{ "package": "./plugins/stanp-opencode/multi-work" },
|
|
{ "package": "./plugins/stanp-opencode/quota" },
|
|
],
|
|
}
|
|
```
|