fix(plugins-install): separate agy clone root
This commit is contained in:
@@ -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.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
|
||||
# 取得或更新本機 clone(目錄已存在就 pull,不要無條件 clone)
|
||||
|
||||
Reference in New Issue
Block a user