fix(plugins-install): separate agy clone root

This commit is contained in:
2026-08-03 10:39:53 +00:00
parent be8ff3f4d2
commit 1195f856e2
4 changed files with 8 additions and 8 deletions
+5 -5
View File
@@ -12,7 +12,7 @@ argument-hint: "[--assistant <助理清單,逗號分隔,或 all>] [--plugins
| --- | --- |
| A. 前置設定 | 決定要操作哪些助理(`--assistant` 可帶多個或 all/偵測本機有哪些 CLI/多個就讓使用者多選)→ 決定 gitea 主機 → 決定 plugin 清單(預設 code、doc、persona、shared |
| 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 的動作、結果與版本,並提醒重啟工作階段 |
---
@@ -38,7 +38,7 @@ argument-hint: "[--assistant <助理清單,逗號分隔,或 all>] [--plugins
- `--assistant <清單>`:要操作的助理,**可以多個**,以逗號分隔(`claude,codex,copilot,agy,opencode`),或用 `all` 代表本機找得到的全部。**省略時**依階段 A1 判斷(只有一個就直接用,多個就讓使用者多選)。
- `--plugins code,doc,persona,shared`:要處理的 plugin(以逗號分隔,用 repo 短名)。**省略時預設四個全做**。
- `--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`:全自動,不做確認式詢問(必要決策仍會中斷)。
---
@@ -85,7 +85,7 @@ argument-hint: "[--assistant <助理清單,逗號分隔,或 all>] [--plugins
### A2. 決定 gitea 主機與 clone 根目錄
- 主機:`--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 清單
@@ -102,7 +102,7 @@ argument-hint: "[--assistant <助理清單,逗號分隔,或 all>] [--plugins
| Claude Code | `claude plugin marketplace list``claude plugin list` | 兩者都有 → 更新;缺 marketplace → 先 add;缺 plugin → install |
| Codex | `codex plugin marketplace list``codex 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**:階段 A1 選定的每個助理,都要對每個 plugin 各判定一次,結果分開記。
@@ -152,7 +152,7 @@ copilot plugin update <token>
### Antigravity`agy`
> `agy plugin install <url>` 目前只支援 github.comgitea 一律走「clone + 本地路徑」。`agy` 沒有 update 子指令,更新=`git pull` 後重裝。
> `agy plugin install <url>` 目前只支援 github.comgitea 一律走「clone + 本地路徑」。`agy` 沒有 update 子指令,更新=`git pull` 後重裝。**預設 clone root 在 `~/.gemini/plugins`,不要偷用 `~/plugins` 的開發工作區。**
```bash
# 取得或更新本機 clone(目錄已存在就 pull,不要無條件 clone)