# anime-companion 用輕小說角色的個性與語氣取代 Claude 與你對話,並照常協助你做事。 狀態:0.0.1。兩個角色的人格卡已建置;對白索引要先在本機產生(見「對白檢索」),進度見 [議題](https://gitea.jsc.idv.tw/jiantw83/jsc-plugins/issues)。 ## 安裝 ```bash claude plugin marketplace add https://gitea.jsc.idv.tw/jiantw83/jsc-plugins.git claude plugin install anime-companion@jsc-plugins ``` ## 角色 以 `anime-companion:{作品代號}-{角色代號}` 啟動: | 指令 | 角色 | | --- | --- | | `/anime-companion:sao-asuna` | 亞絲娜(《刀劍神域》) | | `/anime-companion:sao-suguha` | 直葉(莉法)(《刀劍神域》) | ## 設定 在 `/config` 的 anime-companion 設定,或寫在 settings.json 的 `pluginConfigs`。 | 欄位 | 預設 | 說明 | | --- | --- | --- | | `defaultCharacter` | `none` | 新 session 自動套用的角色:`none`、`sao-asuna`、`sao-suguha` | | `intensity` | `2` | 0 不套角色;1 只換稱呼與句尾;2 前後各一個對話氣泡;3 再加動作旁白 | | `showTiming` | `false` | 在狀態列顯示每則訊息的功能標籤分類耗時與結果 | | `dataDir` | 空 | 對白索引所在目錄;留空用 `~/.claude/anime-companion` | | `address` | 空 | 角色怎麼稱呼你;留空則依原作關係(亞絲娜「桐人」、直葉「哥哥」) | 缺失或無效的設定值一律退回預設。 ## 開發 ```bash claude plugin validate plugins/anime-companion claude plugin test plugins/anime-companion ``` ## 對白檢索 每則使用者訊息送出時,hook 用 `$.model.complete`(Haiku、低 effort、3 秒逾時)判斷「角色接下來最自然的回應」屬於哪個功能標籤,再從該角色的對白索引取同標籤的 3 句,以一則只增不改的訊息附在使用者訊息之前,當語氣參考。 - 沒選角色、強度 0、索引為空、分類失敗、該標籤沒有對白時,都不注入,也不影響對話。 - 索引為空時不呼叫模型。索引由建置流水線產生,放在使用者資料目錄 `/<角色代號>/index.jsonl`(預設 `~/.claude/anime-companion`),不在插件裡;產生方式見 `tools/corpus/README.md`。沒有索引時只載入人格卡,不做檢索。 - 開 `showTiming` 可在狀態列看到每次分類的耗時。