fix(marketplace): marketplace 名由 jsc-plugins 改為 persona(與 template 撞名)

兩份 marketplace.json 原本都叫 jsc-plugins,與 jsc-template 的 marketplace 同名
——兩個 plugin 同時安裝時會撞名。template 已在 731a494 改為 template(=它的 repo
名),本 repo 跟著改為 persona,也與 code/doc/generic「marketplace 名 = repo 名」
的慣例一致。plugin 名維持 jsc-persona 不動。

README 的安裝 token、marketplace update/upgrade/remove 指令、目錄樹註解與
「marketplace 名是 …」那句一併更新(Claude/Codex/Copilot 三節各一組)。

依 spec-plugin-version,安裝識別鍵是 <plugin 名>@<marketplace 名>,改名等於換識別
鍵,舊安裝不能用 update 遷移,必須先移除再安裝,中間 skills 會短暫消失。照
template 9b2e2bb 的做法在安裝章節開頭補上三家各自的升級路徑,並交代要清掉
settings.json 的 enabledPlugins 舊鍵、人格倉庫(PERSONA_HOME)不在 plugin 目錄裡
所以情緒與記憶不受影響。

版號維持 0.1.0 不動:spec 的「更名重置版號」指的是 plugin 更名(name 欄位改變),
本次三份 plugin.json 的 name 與 version 都沒動,marketplace.json 也沒有版本欄位;
template 當時的 marketplace 改名(731a494)同樣沒有重置,照常從 0.0.2 走。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-31 14:43:58 +00:00
co-authored by Claude Opus 5
parent ed80158d99
commit 34b1dc7942
3 changed files with 53 additions and 21 deletions
+51 -19
View File
@@ -33,11 +33,11 @@ skills 是共通標準,**鎖與隔離的強制執行需要 hook,目前只有
persona/
├── .claude-plugin/
│ ├── plugin.json # Claude 外掛定義(name: "jsc-persona"
│ └── marketplace.json # Claude marketplacename: "jsc-plugins"source 指向本 repo
│ └── marketplace.json # Claude marketplacename: "persona"source 指向本 repo
├── .codex-plugin/
│ └── plugin.json # Codex 外掛定義(name: "jsc-persona"skills: "./skills"
├── .agents/plugins/
│ └── marketplace.json # Codex marketplacename: "jsc-plugins"url source 指向本 repo
│ └── marketplace.json # Codex marketplacename: "persona"url source 指向本 repo
├── plugin.json # Antigravity 外掛定義(name: "jsc-persona"skills: "./skills"
├── skills/ # ★ 唯一真實來源:所有 skills(十二個 persona-*
├── scripts/ # persona.mjs / persona-gitea.mjs / persona-icon.mjs / selftest.mjs
@@ -670,22 +670,54 @@ node scripts/selftest.mjs # 248 項驗證:鎖、隔離、情緒、固化
> **Antigravity 的 `agy plugin install <url>` 目前只支援 github.com**gitea 請改用「clone + 本地路徑」(見 Antigravity 節)。
> 本機/離線:Claude 可用本地路徑加 marketplaceAntigravity 用本地路徑安裝。
>
> 本 plugin 的 marketplace 名是 **`jsc-plugins`**不是 repo 名 `persona`,安裝 token 為 `jsc-persona@jsc-plugins`。
> 本 plugin 的 marketplace 名是 **`persona`** repo 名),plugin 名是 **`jsc-persona`**,安裝 token 為 `jsc-persona@persona`。
> **⚠ 從 0.0.9 或更早升上來的人請先移除再安裝。** 0.1.0 起 marketplace 名由 `jsc-plugins` 改為 `persona`
> (舊名與 `jsc-template` 的 marketplace 撞名,兩個 plugin 同時安裝時會衝突)。各助理以
> `<plugin 名>@<marketplace 名>` 當安裝識別鍵,`jsc-persona@jsc-plugins` 與 `jsc-persona@persona`
> 是兩筆獨立條目,**不能用 update 遷移**——必須先移除舊的、再安裝新的,這段期間 skills 會短暫消失:
>
> ```bash
> # Claude Code
> claude plugin uninstall jsc-persona@jsc-plugins
> claude plugin marketplace remove jsc-plugins
> claude plugin marketplace add https://gitea.jsc.idv.tw/plugins/persona.git
> claude plugin install jsc-persona@persona
>
> # Codex
> codex plugin remove jsc-persona@jsc-plugins
> codex plugin marketplace remove jsc-plugins
> codex plugin marketplace add https://gitea.jsc.idv.tw/plugins/persona.git
> codex plugin add jsc-persona@persona
>
> # GitHub Copilot CLI
> copilot plugin uninstall jsc-persona@jsc-plugins
> copilot plugin marketplace remove jsc-plugins
> copilot plugin marketplace add https://gitea.jsc.idv.tw/plugins/persona.git
> copilot plugin install jsc-persona@persona
> ```
>
> - 舊的 `jsc-plugins` marketplace 若還綁著別的 plugin(例如停在 0.0.1 的 `jsc-template`),
> 先把那個 plugin 也遷到它自己的 marketplace`template`)再 `marketplace remove jsc-plugins`。
> - 移除後記得清掉 `~/.claude/settings.json` 裡 `enabledPlugins` 的舊鍵 `jsc-persona@jsc-plugins`
> 並**重開工作階段**讓六個 hook 重新掛上。
> - **人格資料不受影響**:人格倉庫在 `~/.claude/personas/`(或 `PERSONA_HOME`),不在 plugin 目錄裡,
> 移除/重裝 plugin 不會動到情緒、記憶與關係圖。Antigravity/OpenCode 是本地路徑/目錄安裝,沒有 marketplace 名,不受此改名影響。
### Claude Code
```bash
# 安裝
claude plugin marketplace add https://gitea.jsc.idv.tw/plugins/persona.git
claude plugin install jsc-persona@jsc-plugins
claude plugin install jsc-persona@persona
# 更新
claude plugin marketplace update jsc-plugins
claude plugin update jsc-persona@jsc-plugins
claude plugin marketplace update persona
claude plugin update jsc-persona@persona
# 移除
claude plugin uninstall jsc-persona@jsc-plugins
claude plugin marketplace remove jsc-plugins
claude plugin uninstall jsc-persona@persona
claude plugin marketplace remove persona
```
- 工作階段內 slash 版(等價):把 `claude plugin` 換成 `/plugin`。
@@ -698,17 +730,17 @@ claude plugin marketplace remove jsc-plugins
```bash
# 安裝
codex plugin marketplace add https://gitea.jsc.idv.tw/plugins/persona.git
codex plugin add jsc-persona@jsc-plugins
codex plugin add jsc-persona@persona
# 更新(重新抓取 marketplace 的 git 快照)
codex plugin marketplace upgrade jsc-plugins
codex plugin marketplace upgrade persona
# 移除
codex plugin remove jsc-persona@jsc-plugins
codex plugin marketplace remove jsc-plugins
codex plugin remove jsc-persona@persona
codex plugin marketplace remove persona
```
- 安裝 token `jsc-persona@jsc-plugins` = plugin 名(`.codex-plugin/plugin.json` 的 `name`@ marketplace 名(`.agents/plugins/marketplace.json` 的 `name`)。
- 安裝 token `jsc-persona@persona` = plugin 名(`.codex-plugin/plugin.json` 的 `name`@ marketplace 名(`.agents/plugins/marketplace.json` 的 `name`)。
- 本 repo 的 Codex marketplace 以 `url` 來源指向自己,故 Codex **一律從 gitea 安裝**(需先 push);安裝後重啟 Codex。
- **呼叫**`$<name>`(例 `$persona-chat`),或用 `/skills` 選單。
- Codex 沒有 hook:鎖與隔離只剩 CLI 層的自律檢查。
@@ -766,18 +798,18 @@ Copilot CLI 支援與 Claude Code 類似的原生 plugin / marketplace 指令,
```bash
# 安裝
copilot plugin marketplace add https://gitea.jsc.idv.tw/plugins/persona.git
copilot plugin install jsc-persona@jsc-plugins
copilot plugin install jsc-persona@persona
# 更新
copilot plugin marketplace update jsc-plugins
copilot plugin update jsc-persona@jsc-plugins
copilot plugin marketplace update persona
copilot plugin update jsc-persona@persona
# 移除
copilot plugin uninstall jsc-persona@jsc-plugins
copilot plugin marketplace remove jsc-plugins
copilot plugin uninstall jsc-persona@persona
copilot plugin marketplace remove persona
```
- 安裝 token `jsc-persona@jsc-plugins` = plugin 名(plugin manifest 的 `name`@ marketplace 名。
- 安裝 token `jsc-persona@persona` = plugin 名(plugin manifest 的 `name`@ marketplace 名。
- `copilot plugin marketplace add` 支援 GitHub `owner/repo`、git URL 與本地路徑;Gitea repo 可用上方 HTTPS URL。
- Copilot CLI 沒有 hook:鎖與隔離同樣只剩 CLI 層的自律檢查。
- **呼叫**:在 Copilot CLI 中用自然語言描述需求,例如 `copilot -i "用 lumi 這個人格跟我聊聊"`。