@@ -12,7 +12,7 @@ argument-hint: "[--assistant <助理清單,逗號分隔,或 all>] [--plugins
| --- | --- |
| --- | --- |
| A. 前置設定 | 決定要操作哪些助理(`--assistant` 可帶多個或 all/偵測本機有哪些 CLI/多個就讓使用者多選)→ 決定 gitea 主機 → 決定 plugin 清單(預設 code、doc、persona、shared) |
| A. 前置設定 | 決定要操作哪些助理(`--assistant` 可帶多個或 all/偵測本機有哪些 CLI/多個就讓使用者多選)→ 決定 gitea 主機 → 決定 plugin 清單(預設 code、doc、persona、shared) |
| B. 現況盤點 | 對每個 plugin 查詢 marketplace 與 plugin 是否已存在,決定「安裝」或「更新」 |
| B. 現況盤點 | 對每個 plugin 查詢 marketplace 與 plugin 是否已存在,決定「安裝」或「更新」 |
| C. 安裝/更新 | 依助理的原生指令逐一執行;Antigravity 走 clone+本地路徑,沒有 plugin 匯入指令但可使用 skill 的助理則先 clone 技能組到工具專屬資料夾,再依 README.md 匯入到指定位置 |
| C. 安裝/更新 | 依助理的原生指令逐一執行;Antigravity 走 clone+本地路徑,預設把本機 clone 收在 `~/.gemini/plugins` (避免共用開發中工作區), 沒有 plugin 匯入指令但可使用 skill 的助理則先 clone 技能組到工具專屬資料夾,再依 README.md 匯入到指定位置 |
| D. 回報 | 以表格列出每個 plugin 的動作、結果與版本,並提醒重啟工作階段 |
| D. 回報 | 以表格列出每個 plugin 的動作、結果與版本,並提醒重啟工作階段 |
---
---
@@ -38,7 +38,7 @@ argument-hint: "[--assistant <助理清單,逗號分隔,或 all>] [--plugins
- `--assistant <清單>` :要操作的助理,**可以多個**,以逗號分隔(`claude,codex,copilot,agy,opencode` ),或用 `all` 代表本機找得到的全部。**省略時**依階段 A1 判斷(只有一個就直接用,多個就讓使用者多選)。
- `--assistant <清單>` :要操作的助理,**可以多個**,以逗號分隔(`claude,codex,copilot,agy,opencode` ),或用 `all` 代表本機找得到的全部。**省略時**依階段 A1 判斷(只有一個就直接用,多個就讓使用者多選)。
- `--plugins code,doc,persona,shared` :要處理的 plugin(以逗號分隔,用 repo 短名)。**省略時預設四個全做**。
- `--plugins code,doc,persona,shared` :要處理的 plugin(以逗號分隔,用 repo 短名)。**省略時預設四個全做**。
- `--host <gitea 主機>` : gitea 主機,省略時預設 `gitea.jsc.idv.tw` 。
- `--host <gitea 主機>` : gitea 主機,省略時預設 `gitea.jsc.idv.tw` 。
- `--clone-dir <目錄>` : Antigravity/其他會用到本機 clone 的工具的根目錄, **省略時預設 `~/plugins` ** 。
- `--clone-dir <目錄>` : Antigravity/其他會用到本機 clone 的工具的根目錄。 **省略時**, `agy` 預設用 `~/.gemini/ plugins` , `opencode` 預設用 `~/plugins` ;若兩者同時選中而且要共用同一個 clone root,必須由使用者明確指定 `--clone-dir` 。
- `--yes` :全自動,不做確認式詢問(必要決策仍會中斷)。
- `--yes` :全自動,不做確認式詢問(必要決策仍會中斷)。
---
---
@@ -85,7 +85,7 @@ argument-hint: "[--assistant <助理清單,逗號分隔,或 all>] [--plugins
### A2. 決定 gitea 主機與 clone 根目錄
### A2. 決定 gitea 主機與 clone 根目錄
- 主機:`--host` → `$GITEA_HOST` → 預設 `gitea.jsc.idv.tw` 。
- 主機:`--host` → `$GITEA_HOST` → 預設 `gitea.jsc.idv.tw` 。
- clone 根目錄(只有 `agy` / `opencode` 用得到):`--clone-dir` → 預設 `~/plugins` 。目錄不存在就建立。
- clone 根目錄(只有 `agy` / `opencode` 用得到):`--clone-dir` → `agy` 預設 `~/.gemini/plugins` 、 `opencode` 預設 `~/plugins` 。若兩者同時選中且未指定 `--clone-dir` ,先判斷是否要拆成兩個根目錄;不要默認共用同一份開發工作區 。目錄不存在就建立。
### A3. 決定 plugin 清單
### A3. 決定 plugin 清單
@@ -102,7 +102,7 @@ argument-hint: "[--assistant <助理清單,逗號分隔,或 all>] [--plugins
| Claude Code | `claude plugin marketplace list` 、`claude plugin list` | 兩者都有 → 更新;缺 marketplace → 先 add;缺 plugin → install |
| Claude Code | `claude plugin marketplace list` 、`claude plugin list` | 兩者都有 → 更新;缺 marketplace → 先 add;缺 plugin → install |
| Codex | `codex plugin marketplace list` 、`codex plugin list` | 同上 |
| Codex | `codex plugin marketplace list` 、`codex plugin list` | 同上 |
| GitHub Copilot CLI | `copilot plugin marketplace list` 、`copilot plugin list` | 同上 |
| GitHub Copilot CLI | `copilot plugin marketplace list` 、`copilot plugin list` | 同上 |
| Antigravity | `agy plugin list` ,並看 `<clone-dir>/<repo>` 是否存在 | 目錄在且已安裝 → 更新;否則安裝 |
| Antigravity | `agy plugin list` ,並看 `~/.gemini/plugins/<repo>` 是否存在(除非使用者明確指定 `--clone-dir` ) | 目錄在且已安裝 → 更新;否則安裝 |
| 無 plugin 匯入指令但可使用 skill 的助理 | 先依工具設定或 README.md 找出**所有**候選匯入位置,再看哪個底下已有該 plugin 的 skill 目錄 | 有 → **更新該位置 ** (重新複製;注意不是覆蓋,見階段 C);都沒有 → 安裝到工具預設資料夾 |
| 無 plugin 匯入指令但可使用 skill 的助理 | 先依工具設定或 README.md 找出**所有**候選匯入位置,再看哪個底下已有該 plugin 的 skill 目錄 | 有 → **更新該位置 ** (重新複製;注意不是覆蓋,見階段 C);都沒有 → 安裝到工具預設資料夾 |
盤點的迴圈是**助理 × plugin**:階段 A1 選定的每個助理,都要對每個 plugin 各判定一次,結果分開記。
盤點的迴圈是**助理 × plugin**:階段 A1 選定的每個助理,都要對每個 plugin 各判定一次,結果分開記。
@@ -152,7 +152,7 @@ copilot plugin update <token>
### Antigravity( `agy`)
### Antigravity( `agy`)
> `agy plugin install <url>` 目前只支援 github.com; gitea 一律走「clone + 本地路徑」。`agy` 沒有 update 子指令,更新=`git pull` 後重裝。
> `agy plugin install <url>` 目前只支援 github.com; gitea 一律走「clone + 本地路徑」。`agy` 沒有 update 子指令,更新=`git pull` 後重裝。**預設 clone root 在 `~/.gemini/plugins`,不要偷用 `~/plugins` 的開發工作區。**
``` bash
``` bash
# 取得或更新本機 clone(目錄已存在就 pull,不要無條件 clone)
# 取得或更新本機 clone(目錄已存在就 pull,不要無條件 clone)