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:
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": {