From b8e70f9529303be8deb85c0a12ff88360dd25646 Mon Sep 17 00:00:00 2001 From: YeonGyu-Kim Date: Tue, 23 Dec 2025 22:37:40 +0900 Subject: [PATCH] docs: update LLM agent install guide to use CLI installer MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Related to #153 Co-authored-by: Taegeon Alan Go <32065632+gtg7784@users.noreply.github.com> 🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode) --- README.ja.md | 115 +++++++++------------------------------ README.ko.md | 115 +++++++++------------------------------ README.md | 142 +++++++++++------------------------------------- README.zh-cn.md | 115 +++++++++------------------------------ 4 files changed, 113 insertions(+), 374 deletions(-) diff --git a/README.ja.md b/README.ja.md index ba7dbac..3191c26 100644 --- a/README.ja.md +++ b/README.ja.md @@ -157,76 +157,23 @@ Windows から Linux に初めて乗り換えた時のこと、自分の思い あなたがユーザーの oh-my-opencode 設定を支援する LLM エージェントなら、以下の手順に従ってください: -### ステップ 0: セットアップについてユーザーに尋ねる +### ステップ 0: サブスクリプション情報を確認 -OpenCode は様々なモデルをサポートしており、当プラグインは様々な最先端 LLM の使用を提案しています。そのため、ユーザーに以下の質問をする必要があります。 +以下の 3 つの質問をして CLI オプションを決定してください: -**重要**: ユーザーがどのプロバイダーを持っているか追跡してください。ユーザーが Claude を持っていると確認した場合のみ、`anthropic/claude-opus-4-5` をフォールバックとして使用できます。Claude がない場合は、代わりに `opencode/big-pickle` をフォールバックとして使用してください。 +1. **Claude Pro/Max のサブスクリプションをお持ちですか?** + - **はい**: **max20 (20x モード) を使用していますか?** + - **max20** → `--claude=max20` + - **max20 ではない** → `--claude=yes` + - **いいえ** → `--claude=no` -1. **Claude Pro/Max のサブスクリプションをお持ちですか?** お持ちでない場合、メインオーケストレーターモデルとして 'opencode/big-pickle' (GLM 4.6 として知られる) を使用することになります (非推奨)。 - - ユーザーが**「はい」**と答えた場合、追加質問: **max20 (20x モード) を使用していますか?** - - **「はい」 (max20)**: ToDo 追加: "ユーザーの Claude Pro/Max 認証設定" — librarian に Claude Sonnet 4.5 をフル使用。**記憶: Claude がフォールバックとして使用可能。** - - **「いいえ」 (max20 ではない)**: ToDo 追加: "ユーザーの Claude Pro/Max 認証設定"、そして `~/.config/opencode/oh-my-opencode.json` に以下をマージ。**記憶: Claude がフォールバックとして使用可能。** - ```json - { - "agents": { - "librarian": { "model": "opencode/big-pickle" } - } - } - ``` - - ユーザーが**「いいえ」** (Claude サブスクリプションなし) と答えた場合、`~/.config/opencode/oh-my-opencode.json` に以下を保存。**記憶: Claude は使用不可 — すべてのフォールバックは `opencode/big-pickle` を使用する必要があります。** - ```json - { - "agents": { - "Sisyphus": { "model": "opencode/big-pickle" }, - "librarian": { "model": "opencode/big-pickle" } - } - } - ``` +2. **ChatGPT のサブスクリプションをお持ちですか?** + - **はい** → `--chatgpt=yes` + - **いいえ** → `--chatgpt=no` -2. **ChatGPT のサブスクリプションをお持ちですか?** お持ちでない場合、oracle エージェントにフォールバックモデルを使用することになります。 - - ユーザーが**「はい」**と答えた場合、ToDo 追加: "ユーザーの ChatGPT 認証設定" - - ユーザーが**「いいえ」**と答えた場合: - - **Claude が使用可能な場合**: `oh-my-opencode.json` に以下をマージ: - ```json - { - "agents": { - "oracle": { "model": "anthropic/claude-opus-4-5" } - } - } - ``` - - **Claude が使用不可の場合**: `oh-my-opencode.json` に以下をマージ: - ```json - { - "agents": { - "oracle": { "model": "opencode/big-pickle" } - } - } - ``` - -3. **Gemini モデルを統合しますか?** 統合しない場合、美しいデザインを享受できません。 - - ユーザーが**「はい」**と答えた場合、ToDo 追加: "Google OAuth 設定" - - ユーザーが**「いいえ」**と答えた場合: - - **Claude が使用可能な場合**: `oh-my-opencode.json` に以下をマージ: - ```json - { - "agents": { - "frontend-ui-ux-engineer": { "model": "anthropic/claude-opus-4-5" }, - "document-writer": { "model": "anthropic/claude-opus-4-5" }, - "multimodal-looker": { "model": "anthropic/claude-opus-4-5" } - } - } - ``` - - **Claude が使用不可の場合**: `oh-my-opencode.json` に以下をマージ: - ```json - { - "agents": { - "frontend-ui-ux-engineer": { "model": "opencode/big-pickle" }, - "document-writer": { "model": "opencode/big-pickle" }, - "multimodal-looker": { "model": "opencode/big-pickle" } - } - } - ``` +3. **Gemini モデルを使用しますか?** + - **はい** → `--gemini=yes` + - **いいえ** → `--gemini=no` ### ステップ 1: OpenCode インストール確認 @@ -241,36 +188,28 @@ fi OpenCode がインストールされていない場合は、[OpenCode インストールガイド](https://opencode.ai/docs)を確認し、インストールを進めてください。コンテキストを節約するため、サブエージェントを呼び出してインストールを行わせ、その結果を報告させるように案内してください。 -### ステップ 2: oh-my-opencode プラグイン設定 +### ステップ 2: インストーラーを実行 -#### JSONC -- `~/.config/opencode/opencode.jsonc` が存在する場合は、そこで `oh-my-opencode` プラグインを追加してください。 - -#### JSON -- opencode.jsonc が存在しない場合は、以下のコマンドを実行して作成・登録してください。 +ユーザーの回答に基づいて、適切なフラグで CLI インストーラーを実行してください: ```bash -mkdir -p ~/.config/opencode - -if [ -f ~/.config/opencode/opencode.json ]; then - # 既存の設定ファイルがある場合: jq または python で plugin を追加 - if command -v jq &> /dev/null; then - jq '.plugin = ((.plugin // []) + ["oh-my-opencode"] | unique)' \ - ~/.config/opencode/opencode.json > /tmp/oc.json && \ - mv /tmp/oc.json ~/.config/opencode/opencode.json - else - echo "~/.config/opencode/opencode.json の plugin 配列に \"oh-my-opencode\" を追加してください" - fi -else - # 新しい設定ファイル作成 - echo '{"plugin":["oh-my-opencode"]}' > ~/.config/opencode/opencode.json -fi +bunx oh-my-opencode install --no-tui --claude= --chatgpt= --gemini= ``` +**例:** +- すべてのサブスクリプション + max20: `bunx oh-my-opencode install --no-tui --claude=max20 --chatgpt=yes --gemini=yes` +- Claude のみ(max20 なし): `bunx oh-my-opencode install --no-tui --claude=yes --chatgpt=no --gemini=no` +- サブスクリプションなし: `bunx oh-my-opencode install --no-tui --claude=no --chatgpt=no --gemini=no` + +CLI が行うこと: +- `opencode.json` にプラグインを登録 +- サブスクリプションフラグに基づいてエージェントモデルを設定 +- 必要な認証ステップを表示 + ### ステップ 3: 設定確認 ```bash -opencode --version # 1.0.132 以上であること +opencode --version # 1.0.150 以上であること cat ~/.config/opencode/opencode.json # plugin 配列に "oh-my-opencode" が含まれていること ``` diff --git a/README.ko.md b/README.ko.md index 15cc41a..ae20ed8 100644 --- a/README.ko.md +++ b/README.ko.md @@ -154,76 +154,23 @@ OpenCode 가 낭만이 사라진것같은 오늘날의 시대에, 당신에게 당신이 사용자의 oh-my-opencode 설정을 돕는 LLM Agent라면, 다음 단계를 따르세요. 업데이트 과정이라고 할지라도 아래의 내용을 그대로 따르세요. 단, 설치 과정에서 이미 답했을 질문은 또 하지 않습니다. -### 0단계: 사용자에게 설정에 대해 물어보세요. +### 0단계: 구독 정보 확인 -OpenCode는 다양한 모델을 지원하며, 이 플러그인은 다양한 프론티어 LLM 사용을 제안합니다. 따라서 사용자에게 다음 질문을 해야 합니다. +사용자에게 다음 3가지 질문을 하여 CLI 옵션을 결정하세요: -**중요**: 사용자가 어떤 프로바이더를 가지고 있는지 추적하세요. 사용자가 Claude가 있다고 확인한 경우에만 `anthropic/claude-opus-4-5`를 폴백으로 사용할 수 있습니다. Claude가 없다면 `opencode/big-pickle`을 폴백으로 사용해야 합니다. +1. **Claude Pro/Max 구독이 있으신가요?** + - **예**: **max20 (20x 모드)를 사용하고 계신가요?** + - **max20** → `--claude=max20` + - **max20 아님** → `--claude=yes` + - **아니오** → `--claude=no` -1. **Claude Pro/Max 구독이 있으신가요?** 그렇지 않다면 메인 오케스트레이터 모델로 'opencode/big-pickle'(GLM 4.6으로 알려짐)을 사용하게 됩니다 (권장하지 않음). - - 사용자가 **'예'**라고 답하면, 추가 질문: **max20 (20x 모드)를 사용하고 계신가요?** - - **'예' (max20)**: 할 일 추가: "사용자 Claude Pro/Max 인증 설정" — librarian에 Claude Sonnet 4.5 전체 사용. **기억: Claude를 폴백으로 사용 가능.** - - **'아니오' (max20 아님)**: 할 일 추가: "사용자 Claude Pro/Max 인증 설정", 그리고 `~/.config/opencode/oh-my-opencode.json`에 다음을 병합. **기억: Claude를 폴백으로 사용 가능.** - ```json - { - "agents": { - "librarian": { "model": "opencode/big-pickle" } - } - } - ``` - - 사용자가 **'아니오'** (Claude 구독 없음)라고 답하면, `~/.config/opencode/oh-my-opencode.json`에 다음을 저장. **기억: Claude 사용 불가 — 모든 폴백은 `opencode/big-pickle`을 사용해야 함.** - ```json - { - "agents": { - "Sisyphus": { "model": "opencode/big-pickle" }, - "librarian": { "model": "opencode/big-pickle" } - } - } - ``` +2. **ChatGPT 구독이 있으신가요?** + - **예** → `--chatgpt=yes` + - **아니오** → `--chatgpt=no` -2. **ChatGPT 구독이 있으신가요?** 그렇지 않다면 oracle 에이전트에 폴백 모델을 사용하게 됩니다. - - 사용자가 **'예'**라고 답하면, 할 일 추가: "사용자 ChatGPT 인증 설정" - - 사용자가 **'아니오'**라고 답하면: - - **Claude가 사용 가능한 경우**: `oh-my-opencode.json`에 다음을 병합: - ```json - { - "agents": { - "oracle": { "model": "anthropic/claude-opus-4-5" } - } - } - ``` - - **Claude가 사용 불가능한 경우**: `oh-my-opencode.json`에 다음을 병합: - ```json - { - "agents": { - "oracle": { "model": "opencode/big-pickle" } - } - } - ``` - -3. **Gemini 모델을 통합하시겠습니까?** 그렇지 않다면 아름다운 디자인을 즐길 수 없습니다. - - 사용자가 **'예'**라고 답하면, 할 일 추가: "Google OAuth 설정" - - 사용자가 **'아니오'**라고 답하면: - - **Claude가 사용 가능한 경우**: `oh-my-opencode.json`에 다음을 병합: - ```json - { - "agents": { - "frontend-ui-ux-engineer": { "model": "anthropic/claude-opus-4-5" }, - "document-writer": { "model": "anthropic/claude-opus-4-5" }, - "multimodal-looker": { "model": "anthropic/claude-opus-4-5" } - } - } - ``` - - **Claude가 사용 불가능한 경우**: `oh-my-opencode.json`에 다음을 병합: - ```json - { - "agents": { - "frontend-ui-ux-engineer": { "model": "opencode/big-pickle" }, - "document-writer": { "model": "opencode/big-pickle" }, - "multimodal-looker": { "model": "opencode/big-pickle" } - } - } - ``` +3. **Gemini 모델을 사용하시겠습니까?** + - **예** → `--gemini=yes` + - **아니오** → `--gemini=no` ### 1단계: OpenCode 설치 확인 @@ -238,36 +185,28 @@ fi OpenCode가 설치되어 있지 않다면, [OpenCode 설치 가이드](https://opencode.ai/docs)를 읽고, 설치를 진행하세요. 컨텍스트를 줄이기 위해 Subagent 로 호출하여 설치를 하라고 안내하고, 그 결과를 보고 받는다고 말하세요. -### 2단계: oh-my-opencode 플러그인 설정 +### 2단계: 설치 프로그램 실행 -#### JSONC -- `~/.config/opencode/opencode.jsonc`가 존재한다면, 그곳에 `oh-my-opencode` 플러그인을 추가하세요. - -#### JSON -- opencode.jsonc가 없다면, 다음 명령어를 실행하여 생성하고 등록하세요. +사용자의 답변을 바탕으로 적절한 플래그와 함께 CLI 설치 프로그램을 실행하세요: ```bash -mkdir -p ~/.config/opencode - -if [ -f ~/.config/opencode/opencode.json ]; then - # 기존 설정 파일이 있는 경우: jq 또는 python으로 plugin 추가 - if command -v jq &> /dev/null; then - jq '.plugin = ((.plugin // []) + ["oh-my-opencode"] | unique)' \ - ~/.config/opencode/opencode.json > /tmp/oc.json && \ - mv /tmp/oc.json ~/.config/opencode/opencode.json - else - echo "~/.config/opencode/opencode.json의 plugin 배열에 \"oh-my-opencode\"를 추가하세요" - fi -else - # 새 설정 파일 생성 - echo '{"plugin":["oh-my-opencode"]}' > ~/.config/opencode/opencode.json -fi +bunx oh-my-opencode install --no-tui --claude= --chatgpt= --gemini= ``` +**예시:** +- 모든 구독 + max20: `bunx oh-my-opencode install --no-tui --claude=max20 --chatgpt=yes --gemini=yes` +- Claude만 (max20 없음): `bunx oh-my-opencode install --no-tui --claude=yes --chatgpt=no --gemini=no` +- 구독 없음: `bunx oh-my-opencode install --no-tui --claude=no --chatgpt=no --gemini=no` + +CLI가 수행하는 작업: +- `opencode.json`에 플러그인 등록 +- 구독 플래그에 따라 에이전트 모델 설정 +- 필요한 인증 단계 안내 + ### 3단계: 설정 확인 ```bash -opencode --version # 1.0.132 이상이어야 함 +opencode --version # 1.0.150 이상이어야 함 cat ~/.config/opencode/opencode.json # plugin 배열에 "oh-my-opencode"가 있어야 함 ``` diff --git a/README.md b/README.md index 5a490fc..36f1fcf 100644 --- a/README.md +++ b/README.md @@ -168,30 +168,15 @@ If you don't want all this, as mentioned, you can just pick and choose specific ### For Humans -**Option 1: CLI Installer (Recommended)** - -The easiest way to install. Interactive prompts guide you through setup: +Run the interactive installer: ```bash bunx oh-my-opencode install ``` -Or use non-interactive mode for automation: +Follow the prompts to configure your Claude, ChatGPT, and Gemini subscriptions. After installation, authenticate your providers as instructed. -```bash -bunx oh-my-opencode install --no-tui --claude=max20 --chatgpt=yes --gemini=yes -``` - -**CLI Options:** -| Option | Values | Description | -|--------|--------|-------------| -| `--claude` | `no`, `yes`, `max20` | Claude Pro/Max subscription | -| `--chatgpt` | `no`, `yes` | ChatGPT Plus/Pro subscription | -| `--gemini` | `no`, `yes` | Google Gemini integration | -| `--no-tui` | - | Non-interactive mode (requires all options) | -| `--skip-auth` | - | Skip authentication setup hints | - -**Option 2: Let an LLM Agent do it** +**Alternative: Let an LLM Agent do it** Paste this into a fresh opencode session: ``` @@ -207,80 +192,25 @@ If you're an LLM Agent helping set up oh-my-opencode, Welcome! You'll now help y follow these steps: -### Step 0: Ask user about the setup. +### Step 0: Ask user about subscriptions -Since OpenCode supports various models, and our plugin suggests various frontier LLMs, you must ask user the following questions. +Ask the user these 3 questions to determine CLI options: -**IMPORTANT**: Track which providers the user has. Only use `anthropic/claude-opus-4-5` as fallback when the user confirmed they have Claude. If they don't have Claude, use `opencode/big-pickle` as fallback instead. +1. **Do you have a Claude Pro/Max Subscription?** + - If **yes**: **Are you on max20 (20x mode)?** + - **max20** → `--claude=max20` + - **not max20** → `--claude=yes` + - If **no** → `--claude=no` -1. **Do you have a Claude Pro/Max Subscription?** Otherwise, we'll use 'opencode/big-pickle' (known for GLM 4.6) as a main orchestrator model (not recommended) - - If user said **yes**, ask follow-up: **Are you on max20 (20x mode)?** - - If **yes (max20)**: Add ToDo: "Setup user Claude Pro/Max Auth" — full Claude Sonnet 4.5 for librarian. **Remember: Claude is available for fallbacks.** - - If **no (not max20)**: Add ToDo: "Setup user Claude Pro/Max Auth", then merge the following to `~/.config/opencode/oh-my-opencode.json`. **Remember: Claude is available for fallbacks.** - ```json - { - "agents": { - "librarian": { "model": "opencode/big-pickle" } - } - } - ``` - - If user said **no** (no Claude subscription), merge the following to `~/.config/opencode/oh-my-opencode.json`. **Remember: Claude is NOT available — all fallbacks must use `opencode/big-pickle`.** - ```json - { - "agents": { - "Sisyphus": { "model": "opencode/big-pickle" }, - "librarian": { "model": "opencode/big-pickle" } - } - } - ``` +2. **Do you have a ChatGPT Subscription?** + - If **yes** → `--chatgpt=yes` + - If **no** → `--chatgpt=no` -2. **Do you have a ChatGPT Subscription?** Otherwise, we'll use a fallback model for oracle agent. - - If user said **yes**, add ToDo: "Setup user ChatGPT Auth" - - If user said **no**: - - **If Claude is available**: merge the following to `oh-my-opencode.json`: - ```json - { - "agents": { - "oracle": { "model": "anthropic/claude-opus-4-5" } - } - } - ``` - - **If Claude is NOT available**: merge the following to `oh-my-opencode.json`: - ```json - { - "agents": { - "oracle": { "model": "opencode/big-pickle" } - } - } - ``` +3. **Will you integrate Gemini models?** + - If **yes** → `--gemini=yes` + - If **no** → `--gemini=no` -3. **Will you integrate Gemini models?** Otherwise, you cannot enjoy the beautiful design. - - If user said **yes**, add ToDo: "Setup Google OAuth" - - If user said **no**: - - **If Claude is available**: merge the following to `oh-my-opencode.json`: - ```json - { - "agents": { - "frontend-ui-ux-engineer": { "model": "anthropic/claude-opus-4-5" }, - "document-writer": { "model": "anthropic/claude-opus-4-5" }, - "multimodal-looker": { "model": "anthropic/claude-opus-4-5" } - } - } - ``` - - **If Claude is NOT available**: merge the following to `oh-my-opencode.json`: - ```json - { - "agents": { - "frontend-ui-ux-engineer": { "model": "opencode/big-pickle" }, - "document-writer": { "model": "opencode/big-pickle" }, - "multimodal-looker": { "model": "opencode/big-pickle" } - } - } - ``` - -### Step 1: Install OpenCode, if not - -Run following command to verify OpenCode Installation: +### Step 1: Install OpenCode (if not installed) ```bash if command -v opencode &> /dev/null; then @@ -294,37 +224,29 @@ fi If OpenCode isn't installed, check the [OpenCode Installation Guide](https://opencode.ai/docs). Spawn a subagent to handle installation and report back - to save context. -### Step 2: Configure oh-my-opencode Plugin +### Step 2: Run the installer -#### JSONC -- If `~/.config/opencode/opencode.jsonc` exists, work in there to add `oh-my-opencode` plugin - -#### JSON -- If no opencode.jsonc exists, run following command to create and register it. +Based on user's answers, run the CLI installer with appropriate flags: ```bash -mkdir -p ~/.config/opencode - -if [ -f ~/.config/opencode/opencode.json ]; then - # Existing config: add plugin using jq or python - if command -v jq &> /dev/null; then - jq '.plugin = ((.plugin // []) + ["oh-my-opencode"] | unique)' \ - ~/.config/opencode/opencode.json > /tmp/oc.json && \ - mv /tmp/oc.json ~/.config/opencode/opencode.json - else - echo "Please add \"oh-my-opencode\" to the plugin array in ~/.config/opencode/opencode.json" - fi -else - # Create new config - echo '{"plugin":["oh-my-opencode"]}' > ~/.config/opencode/opencode.json -fi +bunx oh-my-opencode install --no-tui --claude= --chatgpt= --gemini= ``` +**Examples:** +- User has all subscriptions with max20: `bunx oh-my-opencode install --no-tui --claude=max20 --chatgpt=yes --gemini=yes` +- User has only Claude (no max20): `bunx oh-my-opencode install --no-tui --claude=yes --chatgpt=no --gemini=no` +- User has no subscriptions: `bunx oh-my-opencode install --no-tui --claude=no --chatgpt=no --gemini=no` + +The CLI will: +- Register the plugin in `opencode.json` +- Configure agent models based on subscription flags +- Show which auth steps are needed + ### Step 3: Verify Setup ```bash -opencode --version # Should be 1.0.132 or higher -cat ~/.config/opencode/opencode.json # Should contain "oh-my-opencode" in plugin array, or maybe check jsonc +opencode --version # Should be 1.0.150 or higher +cat ~/.config/opencode/opencode.json # Should contain "oh-my-opencode" in plugin array ``` ### Step 4: Configure Authentication diff --git a/README.zh-cn.md b/README.zh-cn.md index b2c3c12..be954fb 100644 --- a/README.zh-cn.md +++ b/README.zh-cn.md @@ -163,76 +163,23 @@ Install and configure by following the instructions here https://raw.githubuserc 按步骤来: -### 步骤 0:摸清用户底细 +### 步骤 0:确认订阅情况 -OpenCode 支持各种模型,我们这个插件也建议用各种前沿 LLM。所以先问清楚。 +问用户这 3 个问题来确定 CLI 参数: -**重要**:追踪用户有哪些 provider。只有用户确认有 Claude 的情况下,才能用 `anthropic/claude-opus-4-5` 做 fallback。没有 Claude 就用 `opencode/big-pickle` 做 fallback。 +1. **有 Claude Pro/Max 订阅吗?** + - **有**:**用的是 max20 (20x 模式) 吗?** + - **max20** → `--claude=max20` + - **不是 max20** → `--claude=yes` + - **没有** → `--claude=no` -1. **有 Claude Pro/Max 订阅吗?** 没有的话,主编排模型只能用 'opencode/big-pickle'(也就是 GLM 4.6),这体验可不太好(不推荐)。 - - 用户说**有**,继续问:**你用的是 max20 (20x 模式) 吗?** - - **是 (max20)**:加个待办:"配置用户 Claude Pro/Max 认证" — librarian 用完整的 Claude Sonnet 4.5。**记住:Claude 可以做 fallback。** - - **不是 (没有 max20)**:加个待办:"配置用户 Claude Pro/Max 认证",然后把这个合并到 `~/.config/opencode/oh-my-opencode.json`。**记住:Claude 可以做 fallback。** - ```json - { - "agents": { - "librarian": { "model": "opencode/big-pickle" } - } - } - ``` - - 用户说**没有** (没有 Claude 订阅),把这坨配置写到 `~/.config/opencode/oh-my-opencode.json`。**记住:没有 Claude — 所有 fallback 都得用 `opencode/big-pickle`。** - ```json - { - "agents": { - "Sisyphus": { "model": "opencode/big-pickle" }, - "librarian": { "model": "opencode/big-pickle" } - } - } - ``` +2. **有 ChatGPT 订阅吗?** + - **有** → `--chatgpt=yes` + - **没有** → `--chatgpt=no` -2. **有 ChatGPT 订阅吗?** 没有的话,oracle Agent 就用 fallback 模型了。 - - 用户说**有**,加个待办:"配置用户 ChatGPT 认证" - - 用户说**没有**: - - **有 Claude 的情况下**:把这个合并到 `oh-my-opencode.json`: - ```json - { - "agents": { - "oracle": { "model": "anthropic/claude-opus-4-5" } - } - } - ``` - - **没有 Claude 的情况下**:把这个合并到 `oh-my-opencode.json`: - ```json - { - "agents": { - "oracle": { "model": "opencode/big-pickle" } - } - } - ``` - -3. **要接 Gemini 模型吗?** 不接的话,那么漂亮的 UI 设计你就无福消受了。 - - 用户说**要**,加个待办:"配置 Google OAuth" - - 用户说**不要**: - - **有 Claude 的情况下**:把这个合并到 `oh-my-opencode.json`: - ```json - { - "agents": { - "frontend-ui-ux-engineer": { "model": "anthropic/claude-opus-4-5" }, - "document-writer": { "model": "anthropic/claude-opus-4-5" }, - "multimodal-looker": { "model": "anthropic/claude-opus-4-5" } - } - } - ``` - - **没有 Claude 的情况下**:把这个合并到 `oh-my-opencode.json`: - ```json - { - "agents": { - "frontend-ui-ux-engineer": { "model": "opencode/big-pickle" }, - "document-writer": { "model": "opencode/big-pickle" }, - "multimodal-looker": { "model": "opencode/big-pickle" } - } - } - ``` +3. **要用 Gemini 模型吗?** + - **要** → `--gemini=yes` + - **不要** → `--gemini=no` ### 步骤 1:确认 OpenCode 装没装 @@ -249,36 +196,28 @@ fi 如果没装,看 [OpenCode 安装指南](https://opencode.ai/docs)。可以生成个子 Agent 去搞定安装,完事汇报——省点上下文。 -### 步骤 2:配置 oh-my-opencode 插件 +### 步骤 2:跑安装程序 -#### JSONC -- 如果 `~/.config/opencode/opencode.jsonc` 存在,就在里面加 `oh-my-opencode` 插件。 - -#### JSON -- 如果没 opencode.jsonc,跑这个命令创建并注册: +根据用户的回答,用对应的参数运行 CLI 安装程序: ```bash -mkdir -p ~/.config/opencode - -if [ -f ~/.config/opencode/opencode.json ]; then - # 已有配置:用 jq 或 python 加插件 - if command -v jq &> /dev/null; then - jq '.plugin = ((.plugin // []) + ["oh-my-opencode"] | unique)' \ - ~/.config/opencode/opencode.json > /tmp/oc.json && \ - mv /tmp/oc.json ~/.config/opencode/opencode.json - else - echo "请手动在 ~/.config/opencode/opencode.json 的 plugin 数组里加上 \"oh-my-opencode\"" - fi -else - # 新建配置 - echo '{"plugin":["oh-my-opencode"]}' > ~/.config/opencode/opencode.json -fi +bunx oh-my-opencode install --no-tui --claude= --chatgpt= --gemini= ``` +**例子:** +- 全套订阅 + max20:`bunx oh-my-opencode install --no-tui --claude=max20 --chatgpt=yes --gemini=yes` +- 只有 Claude(没 max20):`bunx oh-my-opencode install --no-tui --claude=yes --chatgpt=no --gemini=no` +- 啥订阅都没有:`bunx oh-my-opencode install --no-tui --claude=no --chatgpt=no --gemini=no` + +CLI 会干这些事: +- 在 `opencode.json` 注册插件 +- 根据订阅参数配置 Agent 模型 +- 告诉你接下来要做哪些认证 + ### 步骤 3:验货 ```bash -opencode --version # 得是 1.0.132 以上 +opencode --version # 得是 1.0.150 以上 cat ~/.config/opencode/opencode.json # plugin 数组里得有 "oh-my-opencode" ```