oh-my-opencode 2.4.7 → 2.5.1
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.ja.md +54 -92
- package/README.ko.md +54 -92
- package/README.md +70 -100
- package/README.zh-cn.md +54 -93
- package/dist/cli/config-manager.d.ts +89 -0
- package/dist/cli/config-manager.test.d.ts +1 -0
- package/dist/cli/index.d.ts +2 -0
- package/dist/cli/index.js +3745 -0
- package/dist/cli/install.d.ts +2 -0
- package/dist/cli/types.d.ts +27 -0
- package/dist/google-auth.js +1735 -0
- package/dist/index.js +1 -1
- package/package.json +8 -2
package/README.ja.md
CHANGED
|
@@ -157,76 +157,23 @@ Windows から Linux に初めて乗り換えた時のこと、自分の思い
|
|
|
157
157
|
あなたがユーザーの oh-my-opencode 設定を支援する LLM エージェントなら、以下の手順に従ってください:
|
|
158
158
|
|
|
159
159
|
|
|
160
|
-
### ステップ 0:
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
- ユーザーが**「いいえ」** (Claude サブスクリプションなし) と答えた場合、`~/.config/opencode/oh-my-opencode.json` に以下を保存。**記憶: Claude は使用不可 — すべてのフォールバックは `opencode/big-pickle` を使用する必要があります。**
|
|
178
|
-
```json
|
|
179
|
-
{
|
|
180
|
-
"agents": {
|
|
181
|
-
"Sisyphus": { "model": "opencode/big-pickle" },
|
|
182
|
-
"librarian": { "model": "opencode/big-pickle" }
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
```
|
|
186
|
-
|
|
187
|
-
2. **ChatGPT のサブスクリプションをお持ちですか?** お持ちでない場合、oracle エージェントにフォールバックモデルを使用することになります。
|
|
188
|
-
- ユーザーが**「はい」**と答えた場合、ToDo 追加: "ユーザーの ChatGPT 認証設定"
|
|
189
|
-
- ユーザーが**「いいえ」**と答えた場合:
|
|
190
|
-
- **Claude が使用可能な場合**: `oh-my-opencode.json` に以下をマージ:
|
|
191
|
-
```json
|
|
192
|
-
{
|
|
193
|
-
"agents": {
|
|
194
|
-
"oracle": { "model": "anthropic/claude-opus-4-5" }
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
|
-
```
|
|
198
|
-
- **Claude が使用不可の場合**: `oh-my-opencode.json` に以下をマージ:
|
|
199
|
-
```json
|
|
200
|
-
{
|
|
201
|
-
"agents": {
|
|
202
|
-
"oracle": { "model": "opencode/big-pickle" }
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
```
|
|
206
|
-
|
|
207
|
-
3. **Gemini モデルを統合しますか?** 統合しない場合、美しいデザインを享受できません。
|
|
208
|
-
- ユーザーが**「はい」**と答えた場合、ToDo 追加: "Google OAuth 設定"
|
|
209
|
-
- ユーザーが**「いいえ」**と答えた場合:
|
|
210
|
-
- **Claude が使用可能な場合**: `oh-my-opencode.json` に以下をマージ:
|
|
211
|
-
```json
|
|
212
|
-
{
|
|
213
|
-
"agents": {
|
|
214
|
-
"frontend-ui-ux-engineer": { "model": "anthropic/claude-opus-4-5" },
|
|
215
|
-
"document-writer": { "model": "anthropic/claude-opus-4-5" },
|
|
216
|
-
"multimodal-looker": { "model": "anthropic/claude-opus-4-5" }
|
|
217
|
-
}
|
|
218
|
-
}
|
|
219
|
-
```
|
|
220
|
-
- **Claude が使用不可の場合**: `oh-my-opencode.json` に以下をマージ:
|
|
221
|
-
```json
|
|
222
|
-
{
|
|
223
|
-
"agents": {
|
|
224
|
-
"frontend-ui-ux-engineer": { "model": "opencode/big-pickle" },
|
|
225
|
-
"document-writer": { "model": "opencode/big-pickle" },
|
|
226
|
-
"multimodal-looker": { "model": "opencode/big-pickle" }
|
|
227
|
-
}
|
|
228
|
-
}
|
|
229
|
-
```
|
|
160
|
+
### ステップ 0: サブスクリプション情報を確認
|
|
161
|
+
|
|
162
|
+
以下の 3 つの質問をして CLI オプションを決定してください:
|
|
163
|
+
|
|
164
|
+
1. **Claude Pro/Max のサブスクリプションをお持ちですか?**
|
|
165
|
+
- **はい**: **max20 (20x モード) を使用していますか?**
|
|
166
|
+
- **max20** → `--claude=max20`
|
|
167
|
+
- **max20 ではない** → `--claude=yes`
|
|
168
|
+
- **いいえ** → `--claude=no`
|
|
169
|
+
|
|
170
|
+
2. **ChatGPT のサブスクリプションをお持ちですか?**
|
|
171
|
+
- **はい** → `--chatgpt=yes`
|
|
172
|
+
- **いいえ** → `--chatgpt=no`
|
|
173
|
+
|
|
174
|
+
3. **Gemini モデルを使用しますか?**
|
|
175
|
+
- **はい** → `--gemini=yes`
|
|
176
|
+
- **いいえ** → `--gemini=no`
|
|
230
177
|
|
|
231
178
|
### ステップ 1: OpenCode インストール確認
|
|
232
179
|
|
|
@@ -241,36 +188,28 @@ fi
|
|
|
241
188
|
|
|
242
189
|
OpenCode がインストールされていない場合は、[OpenCode インストールガイド](https://opencode.ai/docs)を確認し、インストールを進めてください。コンテキストを節約するため、サブエージェントを呼び出してインストールを行わせ、その結果を報告させるように案内してください。
|
|
243
190
|
|
|
244
|
-
### ステップ 2:
|
|
245
|
-
|
|
246
|
-
#### JSONC
|
|
247
|
-
- `~/.config/opencode/opencode.jsonc` が存在する場合は、そこで `oh-my-opencode` プラグインを追加してください。
|
|
191
|
+
### ステップ 2: インストーラーを実行
|
|
248
192
|
|
|
249
|
-
|
|
250
|
-
- opencode.jsonc が存在しない場合は、以下のコマンドを実行して作成・登録してください。
|
|
193
|
+
ユーザーの回答に基づいて、適切なフラグで CLI インストーラーを実行してください:
|
|
251
194
|
|
|
252
195
|
```bash
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
if [ -f ~/.config/opencode/opencode.json ]; then
|
|
256
|
-
# 既存の設定ファイルがある場合: jq または python で plugin を追加
|
|
257
|
-
if command -v jq &> /dev/null; then
|
|
258
|
-
jq '.plugin = ((.plugin // []) + ["oh-my-opencode"] | unique)' \
|
|
259
|
-
~/.config/opencode/opencode.json > /tmp/oc.json && \
|
|
260
|
-
mv /tmp/oc.json ~/.config/opencode/opencode.json
|
|
261
|
-
else
|
|
262
|
-
echo "~/.config/opencode/opencode.json の plugin 配列に \"oh-my-opencode\" を追加してください"
|
|
263
|
-
fi
|
|
264
|
-
else
|
|
265
|
-
# 新しい設定ファイル作成
|
|
266
|
-
echo '{"plugin":["oh-my-opencode"]}' > ~/.config/opencode/opencode.json
|
|
267
|
-
fi
|
|
196
|
+
bunx oh-my-opencode install --no-tui --claude=<yes|no|max20> --chatgpt=<yes|no> --gemini=<yes|no>
|
|
268
197
|
```
|
|
269
198
|
|
|
199
|
+
**例:**
|
|
200
|
+
- すべてのサブスクリプション + max20: `bunx oh-my-opencode install --no-tui --claude=max20 --chatgpt=yes --gemini=yes`
|
|
201
|
+
- Claude のみ(max20 なし): `bunx oh-my-opencode install --no-tui --claude=yes --chatgpt=no --gemini=no`
|
|
202
|
+
- サブスクリプションなし: `bunx oh-my-opencode install --no-tui --claude=no --chatgpt=no --gemini=no`
|
|
203
|
+
|
|
204
|
+
CLI が行うこと:
|
|
205
|
+
- `opencode.json` にプラグインを登録
|
|
206
|
+
- サブスクリプションフラグに基づいてエージェントモデルを設定
|
|
207
|
+
- 必要な認証ステップを表示
|
|
208
|
+
|
|
270
209
|
### ステップ 3: 設定確認
|
|
271
210
|
|
|
272
211
|
```bash
|
|
273
|
-
opencode --version # 1.0.
|
|
212
|
+
opencode --version # 1.0.150 以上であること
|
|
274
213
|
cat ~/.config/opencode/opencode.json # plugin 配列に "oh-my-opencode" が含まれていること
|
|
275
214
|
```
|
|
276
215
|
|
|
@@ -904,6 +843,29 @@ OpenCode が Debian / ArchLinux だとしたら、Oh My OpenCode は Ubuntu / [O
|
|
|
904
843
|
|
|
905
844
|
*素晴らしいヒーロー画像を作成してくれた [@junhoyeo](https://github.com/junhoyeo) に感謝します*
|
|
906
845
|
|
|
846
|
+
## ユーザーレビュー
|
|
847
|
+
|
|
848
|
+
> "人間が3ヶ月かかる仕事をClaude Codeが7日でやるなら、Sisyphusは1時間でやります"
|
|
849
|
+
> -- B, Quant Researcher
|
|
850
|
+
|
|
851
|
+
> "Oh My Opencodeを使って、たった1日で8000個のeslint警告を解消しました"
|
|
852
|
+
> -- Jacob Ferrari, from [X](https://x.com/jacobferrari_/status/2003258761952289061)
|
|
853
|
+
|
|
854
|
+
> "@yeon_gyu_kimを説得できるなら雇うべきです。彼はopencodeに革命を起こしました"
|
|
855
|
+
> -- [Sam Altmanの投稿へ](https://x.com/mysticaltech/status/2001858758608376079)
|
|
856
|
+
|
|
857
|
+
> "これをコアに取り入れて彼を採用すべきです。マジで。本当に、本当に、本当に良いです"
|
|
858
|
+
> -- Henning Kilset, from X
|
|
859
|
+
|
|
860
|
+
> "やばい、これマジで本物だ @androolloyd oh my opencode 最高すぎる"
|
|
861
|
+
> -- z80.eth, from [X](https://x.com/0xz80/status/2001815226505924791)
|
|
862
|
+
|
|
863
|
+
> "oh-my-opencodeを使ってください、もう戻れませんよ"
|
|
864
|
+
> -- [d0t3ch](https://x.com/d0t3ch/status/2001685618200580503)
|
|
865
|
+
|
|
866
|
+
> "Oh My Opencodeは頂点に立っています、敵はいません"
|
|
867
|
+
> -- [RyanOnThePath](https://x.com/RyanOnThePath/status/2001438321252118548)
|
|
868
|
+
|
|
907
869
|
## こちらの企業の専門家にご愛用いただいています
|
|
908
870
|
|
|
909
871
|
- [Indent](https://indentcorp.com)
|
package/README.ko.md
CHANGED
|
@@ -154,76 +154,23 @@ OpenCode 가 낭만이 사라진것같은 오늘날의 시대에, 당신에게
|
|
|
154
154
|
당신이 사용자의 oh-my-opencode 설정을 돕는 LLM Agent라면, 다음 단계를 따르세요. 업데이트 과정이라고 할지라도 아래의 내용을 그대로 따르세요. 단, 설치 과정에서 이미 답했을 질문은 또 하지 않습니다.
|
|
155
155
|
|
|
156
156
|
|
|
157
|
-
### 0단계:
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
- 사용자가 **'아니오'** (Claude 구독 없음)라고 답하면, `~/.config/opencode/oh-my-opencode.json`에 다음을 저장. **기억: Claude 사용 불가 — 모든 폴백은 `opencode/big-pickle`을 사용해야 함.**
|
|
175
|
-
```json
|
|
176
|
-
{
|
|
177
|
-
"agents": {
|
|
178
|
-
"Sisyphus": { "model": "opencode/big-pickle" },
|
|
179
|
-
"librarian": { "model": "opencode/big-pickle" }
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
```
|
|
183
|
-
|
|
184
|
-
2. **ChatGPT 구독이 있으신가요?** 그렇지 않다면 oracle 에이전트에 폴백 모델을 사용하게 됩니다.
|
|
185
|
-
- 사용자가 **'예'**라고 답하면, 할 일 추가: "사용자 ChatGPT 인증 설정"
|
|
186
|
-
- 사용자가 **'아니오'**라고 답하면:
|
|
187
|
-
- **Claude가 사용 가능한 경우**: `oh-my-opencode.json`에 다음을 병합:
|
|
188
|
-
```json
|
|
189
|
-
{
|
|
190
|
-
"agents": {
|
|
191
|
-
"oracle": { "model": "anthropic/claude-opus-4-5" }
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
```
|
|
195
|
-
- **Claude가 사용 불가능한 경우**: `oh-my-opencode.json`에 다음을 병합:
|
|
196
|
-
```json
|
|
197
|
-
{
|
|
198
|
-
"agents": {
|
|
199
|
-
"oracle": { "model": "opencode/big-pickle" }
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
```
|
|
203
|
-
|
|
204
|
-
3. **Gemini 모델을 통합하시겠습니까?** 그렇지 않다면 아름다운 디자인을 즐길 수 없습니다.
|
|
205
|
-
- 사용자가 **'예'**라고 답하면, 할 일 추가: "Google OAuth 설정"
|
|
206
|
-
- 사용자가 **'아니오'**라고 답하면:
|
|
207
|
-
- **Claude가 사용 가능한 경우**: `oh-my-opencode.json`에 다음을 병합:
|
|
208
|
-
```json
|
|
209
|
-
{
|
|
210
|
-
"agents": {
|
|
211
|
-
"frontend-ui-ux-engineer": { "model": "anthropic/claude-opus-4-5" },
|
|
212
|
-
"document-writer": { "model": "anthropic/claude-opus-4-5" },
|
|
213
|
-
"multimodal-looker": { "model": "anthropic/claude-opus-4-5" }
|
|
214
|
-
}
|
|
215
|
-
}
|
|
216
|
-
```
|
|
217
|
-
- **Claude가 사용 불가능한 경우**: `oh-my-opencode.json`에 다음을 병합:
|
|
218
|
-
```json
|
|
219
|
-
{
|
|
220
|
-
"agents": {
|
|
221
|
-
"frontend-ui-ux-engineer": { "model": "opencode/big-pickle" },
|
|
222
|
-
"document-writer": { "model": "opencode/big-pickle" },
|
|
223
|
-
"multimodal-looker": { "model": "opencode/big-pickle" }
|
|
224
|
-
}
|
|
225
|
-
}
|
|
226
|
-
```
|
|
157
|
+
### 0단계: 구독 정보 확인
|
|
158
|
+
|
|
159
|
+
사용자에게 다음 3가지 질문을 하여 CLI 옵션을 결정하세요:
|
|
160
|
+
|
|
161
|
+
1. **Claude Pro/Max 구독이 있으신가요?**
|
|
162
|
+
- **예**: **max20 (20x 모드)를 사용하고 계신가요?**
|
|
163
|
+
- **max20** → `--claude=max20`
|
|
164
|
+
- **max20 아님** → `--claude=yes`
|
|
165
|
+
- **아니오** → `--claude=no`
|
|
166
|
+
|
|
167
|
+
2. **ChatGPT 구독이 있으신가요?**
|
|
168
|
+
- **예** → `--chatgpt=yes`
|
|
169
|
+
- **아니오** → `--chatgpt=no`
|
|
170
|
+
|
|
171
|
+
3. **Gemini 모델을 사용하시겠습니까?**
|
|
172
|
+
- **예** → `--gemini=yes`
|
|
173
|
+
- **아니오** → `--gemini=no`
|
|
227
174
|
|
|
228
175
|
### 1단계: OpenCode 설치 확인
|
|
229
176
|
|
|
@@ -238,36 +185,28 @@ fi
|
|
|
238
185
|
|
|
239
186
|
OpenCode가 설치되어 있지 않다면, [OpenCode 설치 가이드](https://opencode.ai/docs)를 읽고, 설치를 진행하세요. 컨텍스트를 줄이기 위해 Subagent 로 호출하여 설치를 하라고 안내하고, 그 결과를 보고 받는다고 말하세요.
|
|
240
187
|
|
|
241
|
-
### 2단계:
|
|
242
|
-
|
|
243
|
-
#### JSONC
|
|
244
|
-
- `~/.config/opencode/opencode.jsonc`가 존재한다면, 그곳에 `oh-my-opencode` 플러그인을 추가하세요.
|
|
188
|
+
### 2단계: 설치 프로그램 실행
|
|
245
189
|
|
|
246
|
-
|
|
247
|
-
- opencode.jsonc가 없다면, 다음 명령어를 실행하여 생성하고 등록하세요.
|
|
190
|
+
사용자의 답변을 바탕으로 적절한 플래그와 함께 CLI 설치 프로그램을 실행하세요:
|
|
248
191
|
|
|
249
192
|
```bash
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
if [ -f ~/.config/opencode/opencode.json ]; then
|
|
253
|
-
# 기존 설정 파일이 있는 경우: jq 또는 python으로 plugin 추가
|
|
254
|
-
if command -v jq &> /dev/null; then
|
|
255
|
-
jq '.plugin = ((.plugin // []) + ["oh-my-opencode"] | unique)' \
|
|
256
|
-
~/.config/opencode/opencode.json > /tmp/oc.json && \
|
|
257
|
-
mv /tmp/oc.json ~/.config/opencode/opencode.json
|
|
258
|
-
else
|
|
259
|
-
echo "~/.config/opencode/opencode.json의 plugin 배열에 \"oh-my-opencode\"를 추가하세요"
|
|
260
|
-
fi
|
|
261
|
-
else
|
|
262
|
-
# 새 설정 파일 생성
|
|
263
|
-
echo '{"plugin":["oh-my-opencode"]}' > ~/.config/opencode/opencode.json
|
|
264
|
-
fi
|
|
193
|
+
bunx oh-my-opencode install --no-tui --claude=<yes|no|max20> --chatgpt=<yes|no> --gemini=<yes|no>
|
|
265
194
|
```
|
|
266
195
|
|
|
196
|
+
**예시:**
|
|
197
|
+
- 모든 구독 + max20: `bunx oh-my-opencode install --no-tui --claude=max20 --chatgpt=yes --gemini=yes`
|
|
198
|
+
- Claude만 (max20 없음): `bunx oh-my-opencode install --no-tui --claude=yes --chatgpt=no --gemini=no`
|
|
199
|
+
- 구독 없음: `bunx oh-my-opencode install --no-tui --claude=no --chatgpt=no --gemini=no`
|
|
200
|
+
|
|
201
|
+
CLI가 수행하는 작업:
|
|
202
|
+
- `opencode.json`에 플러그인 등록
|
|
203
|
+
- 구독 플래그에 따라 에이전트 모델 설정
|
|
204
|
+
- 필요한 인증 단계 안내
|
|
205
|
+
|
|
267
206
|
### 3단계: 설정 확인
|
|
268
207
|
|
|
269
208
|
```bash
|
|
270
|
-
opencode --version # 1.0.
|
|
209
|
+
opencode --version # 1.0.150 이상이어야 함
|
|
271
210
|
cat ~/.config/opencode/opencode.json # plugin 배열에 "oh-my-opencode"가 있어야 함
|
|
272
211
|
```
|
|
273
212
|
|
|
@@ -898,6 +837,29 @@ OpenCode 를 사용하여 이 프로젝트의 99% 를 작성했습니다. 기능
|
|
|
898
837
|
|
|
899
838
|
*멋진 히어로 이미지를 만들어주신 히어로 [@junhoyeo](https://github.com/junhoyeo) 께 감사드립니다*
|
|
900
839
|
|
|
840
|
+
## 사용자 후기
|
|
841
|
+
|
|
842
|
+
> "인간이 3달 동안 할 일을 claude code 가 7일만에 해준다면, 시지푸스는 1시간만에 해준다"
|
|
843
|
+
> -- B, Quant Researcher
|
|
844
|
+
|
|
845
|
+
> "Oh My Opencode를 사용해서, 단 하루만에 8000개의 eslint 경고를 해결했습니다"
|
|
846
|
+
> -- Jacob Ferrari, from [X](https://x.com/jacobferrari_/status/2003258761952289061)
|
|
847
|
+
|
|
848
|
+
> "@yeon_gyu_kim 을 설득할 수 있다면 고용하세요, 이 사람은 opencode를 혁신했습니다."
|
|
849
|
+
> -- [to Sam Altman's post](https://x.com/mysticaltech/status/2001858758608376079)
|
|
850
|
+
|
|
851
|
+
> "이걸 코어에 넣고 그를 채용해야 합니다. 진심으로요. 이건 정말, 정말, 정말 좋습니다."
|
|
852
|
+
> -- Henning Kilset, from X
|
|
853
|
+
|
|
854
|
+
> "와 미쳤다 @androolloyd 이건 진짜다 oh my opencode 개쩐다"
|
|
855
|
+
> -- z80.eth, from [X](https://x.com/0xz80/status/2001815226505924791)
|
|
856
|
+
|
|
857
|
+
> "oh-my-opencode를 쓰세요, 절대 돌아갈 수 없을 겁니다"
|
|
858
|
+
> -- [d0t3ch](https://x.com/d0t3ch/status/2001685618200580503)
|
|
859
|
+
|
|
860
|
+
> "Oh My Opencode는 독보적입니다, 경쟁자가 없습니다"
|
|
861
|
+
> -- [RyanOnThePath](https://x.com/RyanOnThePath/status/2001438321252118548)
|
|
862
|
+
|
|
901
863
|
## 다음 기업의 능력있는 개인들이 사용하고 있습니다
|
|
902
864
|
|
|
903
865
|
- [Indent](https://indentcorp.com)
|
package/README.md
CHANGED
|
@@ -168,7 +168,17 @@ If you don't want all this, as mentioned, you can just pick and choose specific
|
|
|
168
168
|
|
|
169
169
|
### For Humans
|
|
170
170
|
|
|
171
|
-
|
|
171
|
+
Run the interactive installer:
|
|
172
|
+
|
|
173
|
+
```bash
|
|
174
|
+
bunx oh-my-opencode install
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
Follow the prompts to configure your Claude, ChatGPT, and Gemini subscriptions. After installation, authenticate your providers as instructed.
|
|
178
|
+
|
|
179
|
+
**Alternative: Let an LLM Agent do it**
|
|
180
|
+
|
|
181
|
+
Paste this into a fresh opencode session:
|
|
172
182
|
```
|
|
173
183
|
Install and configure by following the instructions here https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/refs/heads/master/README.md
|
|
174
184
|
```
|
|
@@ -182,80 +192,25 @@ If you're an LLM Agent helping set up oh-my-opencode, Welcome! You'll now help y
|
|
|
182
192
|
|
|
183
193
|
follow these steps:
|
|
184
194
|
|
|
185
|
-
### Step 0: Ask user about
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
{
|
|
205
|
-
"agents": {
|
|
206
|
-
"Sisyphus": { "model": "opencode/big-pickle" },
|
|
207
|
-
"librarian": { "model": "opencode/big-pickle" }
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
```
|
|
211
|
-
|
|
212
|
-
2. **Do you have a ChatGPT Subscription?** Otherwise, we'll use a fallback model for oracle agent.
|
|
213
|
-
- If user said **yes**, add ToDo: "Setup user ChatGPT Auth"
|
|
214
|
-
- If user said **no**:
|
|
215
|
-
- **If Claude is available**: merge the following to `oh-my-opencode.json`:
|
|
216
|
-
```json
|
|
217
|
-
{
|
|
218
|
-
"agents": {
|
|
219
|
-
"oracle": { "model": "anthropic/claude-opus-4-5" }
|
|
220
|
-
}
|
|
221
|
-
}
|
|
222
|
-
```
|
|
223
|
-
- **If Claude is NOT available**: merge the following to `oh-my-opencode.json`:
|
|
224
|
-
```json
|
|
225
|
-
{
|
|
226
|
-
"agents": {
|
|
227
|
-
"oracle": { "model": "opencode/big-pickle" }
|
|
228
|
-
}
|
|
229
|
-
}
|
|
230
|
-
```
|
|
231
|
-
|
|
232
|
-
3. **Will you integrate Gemini models?** Otherwise, you cannot enjoy the beautiful design.
|
|
233
|
-
- If user said **yes**, add ToDo: "Setup Google OAuth"
|
|
234
|
-
- If user said **no**:
|
|
235
|
-
- **If Claude is available**: merge the following to `oh-my-opencode.json`:
|
|
236
|
-
```json
|
|
237
|
-
{
|
|
238
|
-
"agents": {
|
|
239
|
-
"frontend-ui-ux-engineer": { "model": "anthropic/claude-opus-4-5" },
|
|
240
|
-
"document-writer": { "model": "anthropic/claude-opus-4-5" },
|
|
241
|
-
"multimodal-looker": { "model": "anthropic/claude-opus-4-5" }
|
|
242
|
-
}
|
|
243
|
-
}
|
|
244
|
-
```
|
|
245
|
-
- **If Claude is NOT available**: merge the following to `oh-my-opencode.json`:
|
|
246
|
-
```json
|
|
247
|
-
{
|
|
248
|
-
"agents": {
|
|
249
|
-
"frontend-ui-ux-engineer": { "model": "opencode/big-pickle" },
|
|
250
|
-
"document-writer": { "model": "opencode/big-pickle" },
|
|
251
|
-
"multimodal-looker": { "model": "opencode/big-pickle" }
|
|
252
|
-
}
|
|
253
|
-
}
|
|
254
|
-
```
|
|
255
|
-
|
|
256
|
-
### Step 1: Install OpenCode, if not
|
|
257
|
-
|
|
258
|
-
Run following command to verify OpenCode Installation:
|
|
195
|
+
### Step 0: Ask user about subscriptions
|
|
196
|
+
|
|
197
|
+
Ask the user these 3 questions to determine CLI options:
|
|
198
|
+
|
|
199
|
+
1. **Do you have a Claude Pro/Max Subscription?**
|
|
200
|
+
- If **yes**: **Are you on max20 (20x mode)?**
|
|
201
|
+
- **max20** → `--claude=max20`
|
|
202
|
+
- **not max20** → `--claude=yes`
|
|
203
|
+
- If **no** → `--claude=no`
|
|
204
|
+
|
|
205
|
+
2. **Do you have a ChatGPT Subscription?**
|
|
206
|
+
- If **yes** → `--chatgpt=yes`
|
|
207
|
+
- If **no** → `--chatgpt=no`
|
|
208
|
+
|
|
209
|
+
3. **Will you integrate Gemini models?**
|
|
210
|
+
- If **yes** → `--gemini=yes`
|
|
211
|
+
- If **no** → `--gemini=no`
|
|
212
|
+
|
|
213
|
+
### Step 1: Install OpenCode (if not installed)
|
|
259
214
|
|
|
260
215
|
```bash
|
|
261
216
|
if command -v opencode &> /dev/null; then
|
|
@@ -269,37 +224,29 @@ fi
|
|
|
269
224
|
If OpenCode isn't installed, check the [OpenCode Installation Guide](https://opencode.ai/docs).
|
|
270
225
|
Spawn a subagent to handle installation and report back - to save context.
|
|
271
226
|
|
|
272
|
-
### Step 2:
|
|
273
|
-
|
|
274
|
-
#### JSONC
|
|
275
|
-
- If `~/.config/opencode/opencode.jsonc` exists, work in there to add `oh-my-opencode` plugin
|
|
227
|
+
### Step 2: Run the installer
|
|
276
228
|
|
|
277
|
-
|
|
278
|
-
- If no opencode.jsonc exists, run following command to create and register it.
|
|
229
|
+
Based on user's answers, run the CLI installer with appropriate flags:
|
|
279
230
|
|
|
280
231
|
```bash
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
if [ -f ~/.config/opencode/opencode.json ]; then
|
|
284
|
-
# Existing config: add plugin using jq or python
|
|
285
|
-
if command -v jq &> /dev/null; then
|
|
286
|
-
jq '.plugin = ((.plugin // []) + ["oh-my-opencode"] | unique)' \
|
|
287
|
-
~/.config/opencode/opencode.json > /tmp/oc.json && \
|
|
288
|
-
mv /tmp/oc.json ~/.config/opencode/opencode.json
|
|
289
|
-
else
|
|
290
|
-
echo "Please add \"oh-my-opencode\" to the plugin array in ~/.config/opencode/opencode.json"
|
|
291
|
-
fi
|
|
292
|
-
else
|
|
293
|
-
# Create new config
|
|
294
|
-
echo '{"plugin":["oh-my-opencode"]}' > ~/.config/opencode/opencode.json
|
|
295
|
-
fi
|
|
232
|
+
bunx oh-my-opencode install --no-tui --claude=<yes|no|max20> --chatgpt=<yes|no> --gemini=<yes|no>
|
|
296
233
|
```
|
|
297
234
|
|
|
235
|
+
**Examples:**
|
|
236
|
+
- User has all subscriptions with max20: `bunx oh-my-opencode install --no-tui --claude=max20 --chatgpt=yes --gemini=yes`
|
|
237
|
+
- User has only Claude (no max20): `bunx oh-my-opencode install --no-tui --claude=yes --chatgpt=no --gemini=no`
|
|
238
|
+
- User has no subscriptions: `bunx oh-my-opencode install --no-tui --claude=no --chatgpt=no --gemini=no`
|
|
239
|
+
|
|
240
|
+
The CLI will:
|
|
241
|
+
- Register the plugin in `opencode.json`
|
|
242
|
+
- Configure agent models based on subscription flags
|
|
243
|
+
- Show which auth steps are needed
|
|
244
|
+
|
|
298
245
|
### Step 3: Verify Setup
|
|
299
246
|
|
|
300
247
|
```bash
|
|
301
|
-
opencode --version # Should be 1.0.
|
|
302
|
-
cat ~/.config/opencode/opencode.json # Should contain "oh-my-opencode" in plugin array
|
|
248
|
+
opencode --version # Should be 1.0.150 or higher
|
|
249
|
+
cat ~/.config/opencode/opencode.json # Should contain "oh-my-opencode" in plugin array
|
|
303
250
|
```
|
|
304
251
|
|
|
305
252
|
### Step 4: Configure Authentication
|
|
@@ -491,8 +438,8 @@ To remove oh-my-opencode:
|
|
|
491
438
|
- **oracle** (`openai/gpt-5.2`): Architecture, code review, strategy. Uses GPT-5.2 for its stellar logical reasoning and deep analysis. Inspired by AmpCode.
|
|
492
439
|
- **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.
|
|
493
440
|
- **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.
|
|
494
|
-
- **frontend-ui-ux-engineer** (`google/gemini-3-pro-
|
|
495
|
-
- **document-writer** (`google/gemini-3-
|
|
441
|
+
- **frontend-ui-ux-engineer** (`google/gemini-3-pro-high`): A designer turned developer. Builds gorgeous UIs. Gemini excels at creative, beautiful UI code.
|
|
442
|
+
- **document-writer** (`google/gemini-3-flash`): Technical writing expert. Gemini is a wordsmith—writes prose that flows.
|
|
496
443
|
- **multimodal-looker** (`google/gemini-3-flash`): Visual content specialist. Analyzes PDFs, images, diagrams to extract information.
|
|
497
444
|
|
|
498
445
|
The main agent invokes these automatically, but you can call them explicitly:
|
|
@@ -962,6 +909,29 @@ I have no affiliation with any project or model mentioned here. This is purely p
|
|
|
962
909
|
|
|
963
910
|
*Special thanks to [@junhoyeo](https://github.com/junhoyeo) for this amazing hero image.*
|
|
964
911
|
|
|
912
|
+
## Reviews
|
|
913
|
+
|
|
914
|
+
> "If Claude Code does in 7 days what human does in 3 months, Sisyphus does in 1 hour"
|
|
915
|
+
> -- B, Quant Researcher
|
|
916
|
+
|
|
917
|
+
> "Knocked out 8000 eslint warnings with Oh My Opencode, just in a day"
|
|
918
|
+
> -- Jacob Ferrari, from [X](https://x.com/jacobferrari_/status/2003258761952289061)
|
|
919
|
+
|
|
920
|
+
> "Hire @yeon_gyu_kim if you can convince him, this dude has revolutionized opencode."
|
|
921
|
+
> -- [to Sam Altman's post](https://x.com/mysticaltech/status/2001858758608376079)
|
|
922
|
+
|
|
923
|
+
> "You guys should pull this into core and recruit him. Seriously. It's really, really, really good."
|
|
924
|
+
> -- Henning Kilset, from X
|
|
925
|
+
|
|
926
|
+
> "ok yeah holy shit @androolloyd this thing is legit oh my opencode is sick"
|
|
927
|
+
> -- z80.eth, from [X](https://x.com/0xz80/status/2001815226505924791)
|
|
928
|
+
|
|
929
|
+
> "use oh-my-opencode, you will never go back"
|
|
930
|
+
> -- [d0t3ch](https://x.com/d0t3ch/status/2001685618200580503)
|
|
931
|
+
|
|
932
|
+
> "Oh My Opencode is king of the hill and has no contenders"
|
|
933
|
+
> -- [RyanOnThePath](https://x.com/RyanOnThePath/status/2001438321252118548)
|
|
934
|
+
|
|
965
935
|
## Loved by professionals at
|
|
966
936
|
|
|
967
937
|
- [Indent](https://indentcorp.com)
|