規格:動漫助理 anime-companion #1

Closed
opened 2026-10-14 16:58:14 +00:00 by admin · 1 comment
Contributor

Problem Statement

想用 Claude Code 的 mod,讓動漫角色的個性與語氣取代 Claude 與使用者對話,同時照常協助使用者做事;角色從輕小說文本產生,而不是憑印象手寫。

Solution

做一個插件 anime-companion@jsc-plugins。每個角色是一個 skill(anime-companion:{作品代號}-{角色代號}),啟動後載入固定的人格卡;UserPromptSubmit hook 以 Haiku 判斷這一輪的溝通功能標籤,再從該角色的對白索引檢索 3~5 句當 few-shot 注入。對白索引由建置流水線從小說文本離線產生。預覽(待選定):https://claude.ai/artifact/FSSsALBMh6jk86e6EzWvcU

已確認的決定

  • 載體:Claude Code 插件;人格疊加在 Claude 上,不另寫 agent,不微調模型。
  • 作用範圍:角色語氣只套在對使用者說的話;程式碼、commit、檔案內容保持中性。
  • 語言:繁體中文為主,招牌口癖與稱呼沿用譯本。
  • 強度 0~3:0 不套角色;1 只換稱呼與句尾;2(預設)加口癖與簡短吐槽,每則最多一兩句角色化的話;3 完整演出。任何級別下,錯誤、風險警告與需確認的事先用一句清楚的話說完,再加角色語氣。
  • 呈現(W1 已選):D 前後夾心+F 對話氣泡+G 旁白演出。強度 2 為前後各一個氣泡,強度 3 再加動作旁白,不做常駐 band;危險操作省略收尾氣泡。
  • 稱呼:依角色與使用者在原作中的關係決定(亞絲娜叫「桐人」、直葉叫「哥哥」),可在設定檔自訂。
  • 角色包:人格卡(語氣與口癖、對不同對象的稱呼與態度、價值觀與雷點、20~40 句精選對白)加對白索引(jsonl,含說話者、情緒、功能標籤與模式標籤)。
  • 檢索鍵:溝通功能與情緒標籤(打招呼、拒絕、安慰、吐槽、慶祝、報告失敗、請求確認、害羞掩飾等),不用內容語意相似度。
  • 注入:UserPromptSubmit hook 每則訊息檢索;標籤由 Haiku(claude -p --model haiku,走訂閱)判斷,實作時量測延遲,過慢再改 API key。
  • 文本來源:jiantw83/sao wiki,用 tea 的驗證讀取。繁中譯本,共 83 頁:第 1 冊《艾恩葛朗特》35 頁、第 3 冊《妖精之舞》24 頁、第 4 冊《妖精之舞》24 頁;譯名為「亞絲娜」「桐人」「莉法」。敘事為桐人第一人稱。
  • 說話者歸屬:規則先處理明確的,其餘由 Claude sub-agent 批次標註並附信心度,只保留高信心的句子;每個角色輸出 20 句供抽查。
  • 試點角色:亞絲娜(主要來自第 1 冊;第 3、4 冊少量對白用「被囚禁/重逢」模式標籤)、直葉(第 3、4 冊,分「現實的直葉」與「莉法」模式)。
  • 產物:原文與建置中間檔放在 repo 之外,不入版本控制;建置流水線是獨立腳本,不進插件執行期。
  • 用途:先自用;角色資料與程式分開,公開時不附原文。
  • 品質評估:5~8 個固定測試情境,每次改角色包重跑,人工打分。
  • 命名:marketplace jsc-plugins,插件 anime-companion。

風險與備註

  • 亞絲娜的語料有限,且只有劍士時期的口吻;譯本的口癖是譯者的風格,不一定等於原作者的。
  • 同一個 Gitea 的 jsc-marketplace 已有 jsc-mod-companion(人設注入、心情與好感、小說 ingest)。本專案的差異是「角色由 wiki 文本離線建置、以功能標籤檢索對白」,不含心情、好感與記憶;是否共用其 ingest 或程式,留待 W3 評估。

工作項目(依序)

W1 mod 預覽(十選一)→ W2 插件骨架與設定 → W3 wiki 讀取與對白抽取 → W4 標註 → W5 亞絲娜角色包 → W6 直葉/莉法角色包 → W7 hook 分類與檢索 → W8 強度與稱呼 → W9 評估

## Problem Statement 想用 Claude Code 的 mod,讓動漫角色的個性與語氣取代 Claude 與使用者對話,同時照常協助使用者做事;角色從輕小說文本產生,而不是憑印象手寫。 ## Solution 做一個插件 `anime-companion@jsc-plugins`。每個角色是一個 skill(`anime-companion:{作品代號}-{角色代號}`),啟動後載入固定的人格卡;UserPromptSubmit hook 以 Haiku 判斷這一輪的溝通功能標籤,再從該角色的對白索引檢索 3~5 句當 few-shot 注入。對白索引由建置流水線從小說文本離線產生。預覽(待選定):https://claude.ai/artifact/FSSsALBMh6jk86e6EzWvcU ## 已確認的決定 - 載體:Claude Code 插件;人格疊加在 Claude 上,不另寫 agent,不微調模型。 - 作用範圍:角色語氣只套在對使用者說的話;程式碼、commit、檔案內容保持中性。 - 語言:繁體中文為主,招牌口癖與稱呼沿用譯本。 - 強度 0~3:0 不套角色;1 只換稱呼與句尾;2(預設)加口癖與簡短吐槽,每則最多一兩句角色化的話;3 完整演出。任何級別下,錯誤、風險警告與需確認的事先用一句清楚的話說完,再加角色語氣。 - 呈現(W1 已選):D 前後夾心+F 對話氣泡+G 旁白演出。強度 2 為前後各一個氣泡,強度 3 再加動作旁白,不做常駐 band;危險操作省略收尾氣泡。 - 稱呼:依角色與使用者在原作中的關係決定(亞絲娜叫「桐人」、直葉叫「哥哥」),可在設定檔自訂。 - 角色包:人格卡(語氣與口癖、對不同對象的稱呼與態度、價值觀與雷點、20~40 句精選對白)加對白索引(jsonl,含說話者、情緒、功能標籤與模式標籤)。 - 檢索鍵:溝通功能與情緒標籤(打招呼、拒絕、安慰、吐槽、慶祝、報告失敗、請求確認、害羞掩飾等),不用內容語意相似度。 - 注入:UserPromptSubmit hook 每則訊息檢索;標籤由 Haiku(`claude -p --model haiku`,走訂閱)判斷,實作時量測延遲,過慢再改 API key。 - 文本來源:`jiantw83/sao` wiki,用 tea 的驗證讀取。繁中譯本,共 83 頁:第 1 冊《艾恩葛朗特》35 頁、第 3 冊《妖精之舞》24 頁、第 4 冊《妖精之舞》24 頁;譯名為「亞絲娜」「桐人」「莉法」。敘事為桐人第一人稱。 - 說話者歸屬:規則先處理明確的,其餘由 Claude sub-agent 批次標註並附信心度,只保留高信心的句子;每個角色輸出 20 句供抽查。 - 試點角色:亞絲娜(主要來自第 1 冊;第 3、4 冊少量對白用「被囚禁/重逢」模式標籤)、直葉(第 3、4 冊,分「現實的直葉」與「莉法」模式)。 - 產物:原文與建置中間檔放在 repo 之外,不入版本控制;建置流水線是獨立腳本,不進插件執行期。 - 用途:先自用;角色資料與程式分開,公開時不附原文。 - 品質評估:5~8 個固定測試情境,每次改角色包重跑,人工打分。 - 命名:marketplace `jsc-plugins`,插件 `anime-companion`。 ## 風險與備註 - 亞絲娜的語料有限,且只有劍士時期的口吻;譯本的口癖是譯者的風格,不一定等於原作者的。 - 同一個 Gitea 的 `jsc-marketplace` 已有 `jsc-mod-companion`(人設注入、心情與好感、小說 ingest)。本專案的差異是「角色由 wiki 文本離線建置、以功能標籤檢索對白」,不含心情、好感與記憶;是否共用其 ingest 或程式,留待 W3 評估。 ## 工作項目(依序) W1 mod 預覽(十選一)→ W2 插件骨架與設定 → W3 wiki 讀取與對白抽取 → W4 標註 → W5 亞絲娜角色包 → W6 直葉/莉法角色包 → W7 hook 分類與檢索 → W8 強度與稱呼 → W9 評估
admin added the
類型
規格
label 2026-10-14 16:58:14 +00:00
Author
Contributor

底下的議題全部關閉,由 gitea 自動關閉。

底下的議題全部關閉,由 gitea 自動關閉。
admin closed this issue 2026-10-15 02:32:02 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: jiantw83/jsc-plugins#1