Files
StanPonomarev 78ba607bd8
CI / verify (pull_request) Successful in 11s
feat: optchat
2026-10-08 08:52:15 +02:00

3.5 KiB

stanp-opencode

Release installation

Requires OpenCode 2.0.22, Bun 1.4.2+, Bash, curl, jq, and sha256sum on Linux/WSL.

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. 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:

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.

{
    "$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.

{
    "$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" },
    ],
}