oh-my-opencode 2.2.0 → 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -27,7 +27,7 @@ No stupid token consumption massive subagents here. No bloat tools here.
27
27
  [![GitHub Issues](https://img.shields.io/github/issues/code-yeongyu/oh-my-opencode?color=ff80eb&labelColor=black&style=flat-square)](https://github.com/code-yeongyu/oh-my-opencode/issues)
28
28
  [![License](https://img.shields.io/badge/license-MIT-white?labelColor=black&style=flat-square)](https://github.com/code-yeongyu/oh-my-opencode/blob/master/LICENSE)
29
29
 
30
- [English](README.md) | [한국어](README.ko.md) | [日本語](README.ja.md)
30
+ [English](README.md) | [한국어](README.ko.md) | [日本語](README.ja.md) | [简体中文](README.zh-cn.md)
31
31
 
32
32
  </div>
33
33
 
@@ -38,7 +38,7 @@ No stupid token consumption massive subagents here. No bloat tools here.
38
38
  - [Oh My OpenCode](#oh-my-opencode)
39
39
  - [Just Skip Reading This Readme](#just-skip-reading-this-readme)
40
40
  - [It's the Age of Agents](#its-the-age-of-agents)
41
- - [For Those Who Want to Read](#for-those-who-want-to-read)
41
+ - [For Those Who Want to Read: Meet Sisyphus](#for-those-who-want-to-read-meet-sisyphus)
42
42
  - [Just Install It.](#just-install-it)
43
43
  - [Installation](#installation)
44
44
  - [For Humans](#for-humans)
@@ -58,6 +58,7 @@ No stupid token consumption massive subagents here. No bloat tools here.
58
58
  - [Verify the setup](#verify-the-setup)
59
59
  - [Say 'Congratulations! 🎉' to the user](#say-congratulations--to-the-user)
60
60
  - [Too Complicated?](#too-complicated)
61
+ - [Uninstallation](#uninstallation)
61
62
  - [Features](#features)
62
63
  - [Agents: Your Teammates](#agents-your-teammates)
63
64
  - [Background Agents: Work Like a Team](#background-agents-work-like-a-team)
@@ -76,10 +77,11 @@ No stupid token consumption massive subagents here. No bloat tools here.
76
77
  - [Google Auth](#google-auth)
77
78
  - [Agents](#agents)
78
79
  - [Permission Options](#permission-options)
79
- - [OmO Agent](#omo-agent)
80
+ - [Sisyphus Agent](#sisyphus-agent)
80
81
  - [Hooks](#hooks)
81
82
  - [MCPs](#mcps)
82
83
  - [LSP](#lsp)
84
+ - [Experimental](#experimental)
83
85
  - [Author's Note](#authors-note)
84
86
  - [Warnings](#warnings)
85
87
 
@@ -115,22 +117,27 @@ Hand this doc to an agent and let them set it up.
115
117
  - Ask why it's good, why it's not just another boilerplate setup, what actually gets better.
116
118
  - If you're an LLM agent, explain to the user what becomes possible right now with this project.
117
119
 
118
- ### For Those Who Want to Read
120
+ ### For Those Who Want to Read: Meet Sisyphus
119
121
 
120
- Welcome. Introducing OmO (Oh-Mo).
121
- Everything below is customizable. Take what you want.
122
- All features are enabled by default. You don't have to do anything. Battery Included, works out of the box.
122
+ ![Meet Sisyphus](.github/assets/sisyphus.png)
123
123
 
124
- - Claude Code Compatibility: Command, Agent, Skill, MCP, Hook(PreToolUse, PostToolUse, UserPromptSubmit, Stop)
125
- - Comment Checker: No AI-like Comments Anymore.
126
- - Full LSP / AstGrep Support: Explore precisely, Refactor with confidence.
127
- - Todo Continuation Enforcer: Forces the agent to continue if it quits halfway.
128
- - Curated Agents
129
- - OmO: Super smart main agent (Opus 4.5 High)
124
+ In greek mythology, Sisyphus was condemned to roll a boulder up a hill for eternity as punishment for deceiving the gods. LLM Agents haven't really done anything wrong, yet they too roll their "stones"—their thoughts—every single day.
125
+ My life is no different. Looking back, we are not so different from these agents.
126
+ **Yes! LLM Agents are no different from us. They can write code as brilliant as ours and work just as excellently—if you give them great tools and solid teammates.**
127
+
128
+ Meet our main agent: Sisyphus (Opus 4.5 High). Below are the tools Sisyphus uses to keep that boulder rolling.
129
+
130
+ *Everything below is customizable. Take what you want. All features are enabled by default. You don't have to do anything. Battery Included, works out of the box.*
131
+
132
+ - Sisyphus's Teammates (Curated Agents)
130
133
  - Oracle: Design, debugging (GPT 5.2 Medium)
131
134
  - Frontend UI/UX Engineer: Frontend development (Gemini 3 Pro)
132
135
  - Librarian: Official docs, open source implementations, codebase exploration (Claude Sonnet 4.5)
133
136
  - Explore: Blazing fast codebase exploration (Contextual Grep) (Grok Code)
137
+ - Full LSP / AstGrep Support: Refactor decisively.
138
+ - Todo Continuation Enforcer: Forces the agent to continue if it quits halfway. **This is what keeps Sisyphus rolling that boulder.**
139
+ - Comment Checker: Prevents AI from adding excessive comments. Code generated by Sisyphus should be indistinguishable from human-written code.
140
+ - Claude Code Compatibility: Command, Agent, Skill, MCP, Hook(PreToolUse, PostToolUse, UserPromptSubmit, Stop)
134
141
  - Curated MCPs:
135
142
  - Exa (Web Search)
136
143
  - Context7 (Official Documentation)
@@ -158,7 +165,10 @@ If you don't want all this, as mentioned, you can just pick and choose specific
158
165
 
159
166
  ### For Humans
160
167
 
161
- Let the LLM Agent handle the grunt work. Paste this link and ask it to install and configure.
168
+ Let the LLM Agent handle the grunt work. Paste this into a fresh opencode session:
169
+ ```
170
+ Install and configure by following the instructions here https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/refs/heads/master/README.md
171
+ ```
162
172
 
163
173
  ### For LLM Agents
164
174
 
@@ -179,7 +189,7 @@ Since OpenCode Supports various models, and our plugin suggests various frontier
179
189
  ```json
180
190
  {
181
191
  "agents": {
182
- "OmO": { "model": "opencode/big-pickle" },
192
+ "Sisyphus": { "model": "opencode/big-pickle" },
183
193
  "librarian": { "model": "opencode/big-pickle" }
184
194
  }
185
195
  }
@@ -301,13 +311,13 @@ The `opencode-antigravity-auth` plugin uses different model names than the built
301
311
  "google_auth": false,
302
312
  "agents": {
303
313
  "frontend-ui-ux-engineer": { "model": "google/gemini-3-pro-high" },
304
- "document-writer": { "model": "google/gemini-3-pro-high" },
314
+ "document-writer": { "model": "google/gemini-3-flash" },
305
315
  "multimodal-looker": { "model": "google/gemini-2.5-flash" }
306
316
  }
307
317
  }
308
318
  ```
309
319
 
310
- **Available model names**: `google/gemini-3-pro-high`, `google/gemini-3-pro-medium`, `google/gemini-3-pro-low`, `google/gemini-2.5-flash`, `google/gemini-2.5-flash-lite`, `google/claude-sonnet-4-5`, `google/claude-sonnet-4-5-thinking`, `google/claude-opus-4-5-thinking`, `google/gpt-oss-120b-medium`
320
+ **Available model names**: `google/gemini-3-pro-high`, `google/gemini-3-pro-medium`, `google/gemini-3-pro-low`, `google/gemini-3-flash`, `google/gemini-2.5-flash`, `google/gemini-2.5-flash-lite`, `google/claude-sonnet-4-5`, `google/claude-sonnet-4-5-thinking`, `google/claude-opus-4-5-thinking`, `google/gpt-oss-120b-medium`
311
321
 
312
322
  Then authenticate:
313
323
 
@@ -330,7 +340,7 @@ First, add the opencode-openai-codex-auth plugin:
330
340
  {
331
341
  "plugin": [
332
342
  "oh-my-opencode",
333
- "opencode-openai-codex-auth@4.1.0"
343
+ "opencode-openai-codex-auth@4.1.1"
334
344
  ]
335
345
  }
336
346
  ```
@@ -400,12 +410,44 @@ That's it. The agent will figure out the rest and handle everything automaticall
400
410
 
401
411
  </details>
402
412
 
413
+ ## Uninstallation
414
+
415
+ To remove oh-my-opencode:
416
+
417
+ 1. **Remove the plugin from your OpenCode config**
418
+
419
+ Edit `~/.config/opencode/opencode.json` (or `opencode.jsonc`) and remove `"oh-my-opencode"` from the `plugin` array:
420
+
421
+ ```bash
422
+ # Using jq
423
+ jq '.plugin = [.plugin[] | select(. != "oh-my-opencode")]' \
424
+ ~/.config/opencode/opencode.json > /tmp/oc.json && \
425
+ mv /tmp/oc.json ~/.config/opencode/opencode.json
426
+ ```
427
+
428
+ 2. **Remove configuration files (optional)**
429
+
430
+ ```bash
431
+ # Remove user config
432
+ rm -f ~/.config/opencode/oh-my-opencode.json
433
+
434
+ # Remove project config (if exists)
435
+ rm -f .opencode/oh-my-opencode.json
436
+ ```
437
+
438
+ 3. **Verify removal**
439
+
440
+ ```bash
441
+ opencode --version
442
+ # Plugin should no longer be loaded
443
+ ```
444
+
403
445
 
404
446
  ## Features
405
447
 
406
448
  ### Agents: Your Teammates
407
449
 
408
- - **OmO** (`anthropic/claude-opus-4-5`): **The default agent.** A powerful AI orchestrator for OpenCode. Plans, delegates, and executes complex tasks using specialized subagents with aggressive parallel execution. Emphasizes background task delegation and todo-driven workflow. Uses Claude Opus 4.5 with extended thinking (32k budget) for maximum reasoning capability.
450
+ - **Sisyphus** (`anthropic/claude-opus-4-5`): **The default agent.** A powerful AI orchestrator for OpenCode. Plans, delegates, and executes complex tasks using specialized subagents with aggressive parallel execution. Emphasizes background task delegation and todo-driven workflow. Uses Claude Opus 4.5 with extended thinking (32k budget) for maximum reasoning capability.
409
451
  - **oracle** (`openai/gpt-5.2`): Architecture, code review, strategy. Uses GPT-5.2 for its stellar logical reasoning and deep analysis. Inspired by AmpCode.
410
452
  - **librarian** (`anthropic/claude-sonnet-4-5`): Multi-repo analysis, doc lookup, implementation examples. Uses Claude Sonnet 4.5 for deep codebase understanding and GitHub research with evidence-based answers. Inspired by AmpCode.
411
453
  - **explore** (`opencode/grok-code`): Fast codebase exploration and pattern matching. Claude Code uses Haiku; we use Grok—it's free, blazing fast, and plenty smart for file traversal. Inspired by Claude Code.
@@ -624,7 +666,12 @@ Highly opinionated, but adjustable to taste.
624
666
 
625
667
  Config file locations (priority order):
626
668
  1. `.opencode/oh-my-opencode.json` (project)
627
- 2. `~/.config/opencode/oh-my-opencode.json` (user)
669
+ 2. User config (platform-specific):
670
+
671
+ | Platform | User Config Path |
672
+ |----------|------------------|
673
+ | **Windows** | `%APPDATA%\opencode\oh-my-opencode.json` |
674
+ | **macOS/Linux** | `~/.config/opencode/oh-my-opencode.json` |
628
675
 
629
676
  Schema autocomplete supported:
630
677
 
@@ -645,7 +692,7 @@ When using `opencode-antigravity-auth`, disable the built-in auth and override a
645
692
  "google_auth": false,
646
693
  "agents": {
647
694
  "frontend-ui-ux-engineer": { "model": "google/gemini-3-pro-high" },
648
- "document-writer": { "model": "google/gemini-3-pro-high" },
695
+ "document-writer": { "model": "google/gemini-3-flash" },
649
696
  "multimodal-looker": { "model": "google/gemini-2.5-flash" }
650
697
  }
651
698
  }
@@ -679,7 +726,7 @@ Override built-in agent settings:
679
726
 
680
727
  Each agent supports: `model`, `temperature`, `top_p`, `prompt`, `tools`, `disable`, `description`, `mode`, `color`, `permission`.
681
728
 
682
- You can also override settings for `OmO` (the main orchestrator) and `build` (the default agent) using the same options.
729
+ You can also override settings for `Sisyphus` (the main orchestrator) and `build` (the default agent) using the same options.
683
730
 
684
731
  #### Permission Options
685
732
 
@@ -717,16 +764,16 @@ Or disable via `disabled_agents` in `~/.config/opencode/oh-my-opencode.json` or
717
764
 
718
765
  Available agents: `oracle`, `librarian`, `explore`, `frontend-ui-ux-engineer`, `document-writer`, `multimodal-looker`
719
766
 
720
- ### OmO Agent
767
+ ### Sisyphus Agent
721
768
 
722
- When enabled (default), OmO adds two primary agents and demotes the built-in agents to subagents:
769
+ When enabled (default), Sisyphus adds two primary agents and demotes the built-in agents to subagents:
723
770
 
724
- - **OmO**: Primary orchestrator agent (Claude Opus 4.5)
725
- - **OmO-Plan**: Inherits all settings from OpenCode's plan agent at runtime (description appended with "OhMyOpenCode version")
771
+ - **Sisyphus**: Primary orchestrator agent (Claude Opus 4.5)
772
+ - **Planner-Sisyphus**: Inherits all settings from OpenCode's plan agent at runtime (description appended with "OhMyOpenCode version")
726
773
  - **build**: Demoted to subagent
727
774
  - **plan**: Demoted to subagent
728
775
 
729
- To disable OmO and restore the original build/plan agents:
776
+ To disable Sisyphus and restore the original build/plan agents:
730
777
 
731
778
  ```json
732
779
  {
@@ -736,16 +783,16 @@ To disable OmO and restore the original build/plan agents:
736
783
  }
737
784
  ```
738
785
 
739
- You can also customize OmO and OmO-Plan like other agents:
786
+ You can also customize Sisyphus and Planner-Sisyphus like other agents:
740
787
 
741
788
  ```json
742
789
  {
743
790
  "agents": {
744
- "OmO": {
791
+ "Sisyphus": {
745
792
  "model": "anthropic/claude-sonnet-4",
746
793
  "temperature": 0.3
747
794
  },
748
- "OmO-Plan": {
795
+ "Planner-Sisyphus": {
749
796
  "model": "openai/gpt-5.2"
750
797
  }
751
798
  }
@@ -754,7 +801,7 @@ You can also customize OmO and OmO-Plan like other agents:
754
801
 
755
802
  | Option | Default | Description |
756
803
  | ---------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
757
- | `disabled` | `false` | When `true`, disables OmO agents and restores original build/plan as primary. When `false` (default), OmO and OmO-Plan become primary agents. |
804
+ | `disabled` | `false` | When `true`, disables Sisyphus agents and restores original build/plan as primary. When `false` (default), Sisyphus and Planner-Sisyphus become primary agents. |
758
805
 
759
806
  ### Hooks
760
807
 
@@ -809,6 +856,28 @@ Add LSP servers via the `lsp` option in `~/.config/opencode/oh-my-opencode.json`
809
856
 
810
857
  Each server supports: `command`, `extensions`, `priority`, `env`, `initialization`, `disabled`.
811
858
 
859
+ ### Experimental
860
+
861
+ Opt-in experimental features that may change or be removed in future versions. Use with caution.
862
+
863
+ ```json
864
+ {
865
+ "experimental": {
866
+ "aggressive_truncation": true,
867
+ "empty_message_recovery": true,
868
+ "auto_resume": true
869
+ }
870
+ }
871
+ ```
872
+
873
+ | Option | Default | Description |
874
+ | ------------------------ | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
875
+ | `aggressive_truncation` | `false` | When token limit is exceeded, aggressively truncates tool outputs to fit within limits. More aggressive than the default truncation behavior. Falls back to summarize/revert if insufficient. |
876
+ | `empty_message_recovery` | `false` | Automatically recovers from "non-empty content" API errors by fixing empty messages in the session. Up to 3 recovery attempts before giving up. |
877
+ | `auto_resume` | `false` | Automatically resumes session after successful recovery from thinking block errors or thinking disabled violations. Extracts the last user message and continues. |
878
+
879
+ **Warning**: These features are experimental and may cause unexpected behavior. Enable only if you understand the implications.
880
+
812
881
 
813
882
  ## Author's Note
814
883