docs(persona-chat): clarify auto-hook boundary #13

Merged
admin merged 19 commits from pr/persona-master-sync-20260731 into master 2026-07-31 17:37:42 +00:00
3 changed files with 53 additions and 21 deletions
Showing only changes of commit 34b1dc7942 - Show all commits
+1 -1
View File
@@ -1,5 +1,5 @@
{
"name": "jsc-plugins",
"name": "persona",
"plugins": [
{
"name": "jsc-persona",
+1 -1
View File
@@ -1,5 +1,5 @@
{
"name": "jsc-plugins",
"name": "persona",
"description": "JSC 跨 AI 助理共用 skills 的 Claude Code marketplace。",
"owner": {
"name": "JSC"
+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 這個人格跟我聊聊"`。