dotfiles

andersuno
git clone git://git.andersuno.nu/dotfiles.git
Log | Files | Refs | README

commit c840430fe72226e5d3dc22cfb928526d707e1b90
parent ebcddadc7faf72d4735132ba1fcaa8c043622935
Author: Anders Hedman <anders.hedman01@gmail.com>
Date:   Tue,  1 Sep 2026 21:36:15 +0200

opencode: add oh-my-opencode-slim integration

Wire oh-my-opencode-slim into the opencode setup:
- register plugin + agent presets, disabling the replaced
  explore/general agents and enabling lsp
- add homedir omo-slim config (opencode-zen preset/multiplexer)
- enable background-subagent env vars in bashrc

Diffstat:
M.bashrc | 4++++
A.config/opencode/oh-my-opencode-slim.jsonc | 226+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
M.config/opencode/opencode.jsonc | 17+++++++++++++++++
3 files changed, 247 insertions(+), 0 deletions(-)

diff --git a/.bashrc b/.bashrc @@ -76,5 +76,9 @@ eval "$(direnv hook bash)" export PATH=/home/anders/.opencode/bin:$PATH export OLLAMA_CONTEXT_LENGTH=64000 source '/home/anders/.bash_completions/opencode.sh' +# >>> oh-my-opencode-slim background subagents >>> +export OPENCODE_EXPERIMENTAL_BACKGROUND_SUBAGENTS=true +export OPENCODE_ENABLE_EXA=1 +# <<< oh-my-opencode-slim background subagents <<< source '/home/anders/.bash_completions/unsloth.sh' diff --git a/.config/opencode/oh-my-opencode-slim.jsonc b/.config/opencode/oh-my-opencode-slim.jsonc @@ -0,0 +1,226 @@ +{ + "$schema": "https://unpkg.com/oh-my-opencode-slim@2.2.18/oh-my-opencode-slim.schema.json", + + "preset": "opencode-zen", + + "multiplexer": { + "type": "tmux", + "layout": "main-vertical", + "main_pane_size": 60 + }, + + "disabled_agents": [], + + "presets": { + "openai": { + "orchestrator": { + "model": "openai/gpt-5.6-terra", + "variant": "high", + "skills": [ + "*" + ], + "mcps": [ + "*", + "!context7" + ] + }, + "oracle": { + "model": "openai/gpt-5.6-sol", + "variant": "high", + "skills": [ + "simplify" + ], + "mcps": [] + }, + "librarian": { + "model": "openai/gpt-5.6-luna", + "variant": "low", + "skills": [], + "mcps": [ + "context7", + "gh_grep" + ] + }, + "explorer": { + "model": "openai/gpt-5.6-luna", + "variant": "low", + "skills": [], + "mcps": [] + }, + "designer": { + "model": "openai/gpt-5.6-luna", + "variant": "medium", + "skills": [], + "mcps": [] + }, + "fixer": { + "model": "openai/gpt-5.6-luna", + "variant": "high", + "skills": [], + "mcps": [] + } + }, + + "opencode-go": { + "orchestrator": { + "model": [ + {"id": "opencode-go/minimax-m3", "variant": "thinking"}, + {"id": "opencode/big-pickle", "variant": "max"}, + ], + // "model": "opencode-go/minimax-m3", + // "variant": "thinking", + "skills": [ + "*" + ], + "mcps": [ + "*", + "!context7" + ] + }, + "oracle": { + "model": "opencode-go/qwen3.7-max", + "variant": "max", + "skills": [ + "simplify" + ], + "mcps": [] + }, + "explorer": { + "model": "opencode-go/deepseek-v4-flash", + "variant": "high", + "skills": [], + "mcps": [] + }, + "librarian": { + "model": "opencode-go/deepseek-v4-flash", + "variant": "high", + "skills": [], + "mcps": [ + "context7", + "gh_grep" + ] + }, + "designer": { + "model": "opencode-go/kimi-k2.7-code", + "skills": [], + "mcps": [] + }, + "fixer": { + "model": "opencode-go/deepseek-v4-flash", + "variant": "high", + "skills": [], + "mcps": [] + }, + "observer": { + "model": "opencode-go/mimo-v2.5", + "skills": [], + "mcps": [] + } + }, + + "opencode-zen": { + "orchestrator": { + "model": [ + {"id": "opencode/big-pickle", "variant": "max"}, + {"id": "opencode-go/minimax-m3", "variant": "thinking"}, + ], + "skills": [ + "*" + ], + "mcps": [ + "*", + "!context7" + ] + }, + "oracle": { + "model": "opencode/qwen3.7-max", + "variant": "max", + "skills": [ + "simplify" + ], + "mcps": [] + }, + "explorer": { + "model": "opencode/deepseek-v4-flash", + "variant": "high", + "skills": [], + "mcps": [] + }, + "librarian": { + "model": "opencode/deepseek-v4-flash", + "variant": "high", + "skills": [], + "mcps": [ + "context7", + "gh_grep" + ] + }, + "designer": { + "model": "opencode/kimi-k2.7-code", + "skills": [], + "mcps": [] + }, + "fixer": { + "model": "opencode/deepseek-v4-flash", + "variant": "high", + "skills": [], + "mcps": [] + }, + "observer": { + "model": "opencode/qwen3.5-plus", + "skills": [], + "mcps": [] + } + }, + + "opencode-zen-free": { + "orchestrator": { + "model": "opencode/big-pickle", + "variant": "high", + "temperature": 0.4, + "skills": ["*"], + "mcps": ["*", "!context7"] + }, + "oracle": { + "model": "opencode/big-pickle", + "temperature": 0.4, + "variant": "max", + "skills": ["simplify"], + "mcps": [] + }, + "explorer": { + "model": "opencode/big-pickle", + "temperature": 0.2, + "skills": [], + "mcps": [] + }, + "librarian": { + "model": "opencode/big-pickle", + "temperature": 0.2, + "skills": [], + "mcps": ["context7", "gh_grep"] + }, + "designer": { + "model": "opencode/mimo-v2.5-free", + "temperature": 0.3, + "variant": "medium", + "skills": [], + "mcps": [] + }, + "fixer": { + "model": "opencode/big-pickle", + "variant": "high", + "temperature": 0.2, + "skills": [], + "mcps": [] + }, + "observer": { + "model": "opencode/mimo-v2.5-free", + "temperature": 0.2, + "variant": "low", + "skills": [], + "mcps": [] + } + } + } +} diff --git a/.config/opencode/opencode.jsonc b/.config/opencode/opencode.jsonc @@ -26,6 +26,23 @@ } }, + // oh-my-opencode + "plugin": [ + "opencode-agent-tmux", + "oh-my-opencode-slim" + ], + "agent": { + "explore": { + "disable": true + }, + "general": { + "disable": true + } + }, + "lsp": true, + // oh-my-opencode + + "permission": { // Read-only tools: ask for anything, but never touch .env / .envrc "read": {