fix/codex-update-plugin-add #21

Merged
admin merged 2 commits from fix/codex-update-plugin-add into develop 2026-08-27 02:31:25 +00:00
Member

摘要

  • 需求描述:修正 deploy.sh 的 codex 更新路徑。原本只跑 codex plugin marketplace upgrade jsc,指令全部成功、結束碼 0,但已安裝外掛的版本一個都沒動。這是實機部署時抓到的,十個網域裡有八個停在舊版。
  • 計畫名稱:無
  • 計畫頁:無
  • 分析頁:無

變更內容

檔案 為什麼改
tools/deploy.sh deploy_codex 的 update 分支在 marketplace upgrade 之後補上逐網域 plugin add,與 install 分支一致;函式上方加註說明 codex 的限制與這一步的必要性
三份 manifest 升版到 0.1.6,讓 version-guard.sh 判得出落後,使用者才會收到更新提示

設計重點

  • codex 沒有 plugin update 子指令,只有 add、list、marketplace、remove。這一點用 codex plugin --help 實機確認過。
  • marketplace upgrade 只重抓 marketplace 快照。 jsc 的 marketplace.json 只列各網域的 git URL、不含版本,所以那份檔案內容不會變,codex 一律回「already up to date」。已安裝外掛的版本是 plugin add 當下決定的,快取不會被連帶重抓。
  • 這是最難察覺的那種失敗:每一條指令都成功,結束碼 0,訊息還說已是最新,唯獨版本沒動。只看結束碼會判定部署成功。
  • plugin add 會就地升級,不需要先 remove。實測 review 從 0.0.2 直接升到 0.0.5。
  • 註解寫在函式上方,講明限制與理由,避免後人把那一行當成多餘的重複而刪掉。

測試結果

  • sh -n tools/deploy.sh:exit 0
  • dry-run update codex ask cli gitea:輸出 marketplace upgrade 一次,接著三筆 plugin add,result 為 ok
  • dry-run install codex ask:輸出未受影響,維持原本的 marketplace add 加 plugin add
  • 實機驗證修正前的行為:codex plugin marketplace upgrade jsc 回 0 並印「already up to date」,但 review 仍停在 0.0.2
  • 實機驗證修正後的行為:逐網域 plugin add 後,十個網域全部追上正本版本,codex plugin list 與磁碟上的 plugin.json 兩方一致
  • ste100-lint.sh tools/deploy.sh:0 命中
  • lang-guard.sh 掃 tools/deploy.sh:0 命中

前置 Push Request

  • 無
## 摘要 - 需求描述:修正 `deploy.sh` 的 codex 更新路徑。原本只跑 `codex plugin marketplace upgrade jsc`,指令全部成功、結束碼 0,但已安裝外掛的版本一個都沒動。這是實機部署時抓到的,十個網域裡有八個停在舊版。 - 計畫名稱:無 - 計畫頁:無 - 分析頁:無 ## 變更內容 | 檔案 | 為什麼改 | | --- | --- | | `tools/deploy.sh` | `deploy_codex` 的 update 分支在 `marketplace upgrade` 之後補上逐網域 `plugin add`,與 install 分支一致;函式上方加註說明 codex 的限制與這一步的必要性 | | 三份 manifest | 升版到 0.1.6,讓 `version-guard.sh` 判得出落後,使用者才會收到更新提示 | ## 設計重點 - **codex 沒有 `plugin update` 子指令**,只有 `add`、`list`、`marketplace`、`remove`。這一點用 `codex plugin --help` 實機確認過。 - **`marketplace upgrade` 只重抓 marketplace 快照。** jsc 的 `marketplace.json` 只列各網域的 git URL、不含版本,所以那份檔案內容不會變,codex 一律回「already up to date」。已安裝外掛的版本是 `plugin add` 當下決定的,快取不會被連帶重抓。 - **這是最難察覺的那種失敗**:每一條指令都成功,結束碼 0,訊息還說已是最新,唯獨版本沒動。只看結束碼會判定部署成功。 - **`plugin add` 會就地升級**,不需要先 `remove`。實測 review 從 0.0.2 直接升到 0.0.5。 - 註解寫在函式上方,講明限制與理由,避免後人把那一行當成多餘的重複而刪掉。 ## 測試結果 - `sh -n tools/deploy.sh`:exit 0 - dry-run `update codex ask cli gitea`:輸出 `marketplace upgrade` 一次,接著三筆 `plugin add`,`result` 為 `ok` - dry-run `install codex ask`:輸出未受影響,維持原本的 `marketplace add` 加 `plugin add` - 實機驗證修正前的行為:`codex plugin marketplace upgrade jsc` 回 0 並印「already up to date」,但 review 仍停在 0.0.2 - 實機驗證修正後的行為:逐網域 `plugin add` 後,十個網域全部追上正本版本,`codex plugin list` 與磁碟上的 `plugin.json` 兩方一致 - `ste100-lint.sh tools/deploy.sh`:0 命中 - `lang-guard.sh` 掃 `tools/deploy.sh`:0 命中 ## 前置 Push Request - 無
jiantw83 added 2 commits 2026-08-27 02:28:49 +00:00
What:deploy_codex 的 update 分支在 marketplace upgrade 之後,補上逐網域的
plugin add,與 install 分支一致。

Why:codex 沒有 plugin update 子指令,只有 add、list、marketplace、remove。
marketplace upgrade 只重抓 marketplace 快照,而 jsc 的 marketplace.json 只列各
網域的 git URL、不含版本,內容不會變,codex 一律回「already up to date」並結束碼 0。
已安裝外掛的版本在 plugin add 當下決定,快取不會被連帶重抓。結果是十個網域裡八個
版本完全沒動,指令卻全部成功——只看結束碼會判定成功,是最難察覺的那種失敗。
實機驗證過:更新前 review 是 0.0.2,跑完 marketplace upgrade 仍是 0.0.2。

How:update 分支照 install 的寫法逐網域跑 plugin add。實測 codex 的 add 會就地
升級到快照裡的最新版(review 0.0.2 升到 0.0.5),不需要先 remove。同時在函式上方
寫明這個限制與理由,避免後人再把那一行當成多餘的重複而刪掉。

Who:跨 CLI 技能組批次部署。
What:三份 manifest 由 0.1.5 升到 0.1.6。

Why:codex 更新路徑的修正要能被 version-guard.sh 判定為落後,使用者才會收到更新
提示。不升版的話,帶著壞掉更新路徑的舊版會一直留在各 CLI 上。

How:以 jsc-meta 的 sync-skill-manifest.sh 統一 bump,三份同步成同一個值。

Who:跨 CLI 技能組批次部署。
admin approved these changes 2026-08-27 02:31:20 +00:00
admin merged commit 7e6591e644 into develop 2026-08-27 02:31:25 +00:00
admin deleted branch fix/codex-update-plugin-add 2026-08-27 02:31:25 +00:00
Sign in to join this conversation.
No Reviewers
No labels
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: plugins/cli#21