feat(persona): 時區改為+08:00等值轉換、補機密遮蔽,並接上shared共用規範
依 todo.md 執行的規範治理專案: - persona-lib.mjs 的 iso()/nowIso() 改為輸出 +08:00 offset(等值瞬間轉換, 非加8小時),新增 nowDisplay()(人讀顯示格式)與 todayTaipei()(台北曆日 日期鍵),修正 11 處原本用 UTC 字串切片產生日期鍵的錯誤用法;新增 redactSecrets() 並套用到 persona-gitea.mjs 的 Gitea 錯誤路徑,避免機密 外洩。 - 新增一次性遷移腳本 scripts/migrate-tz.mjs(備份/dry-run/冪等/衝突偵測 中止),供之後有真實人格資料需要轉換時使用。 - persona 13 個 skill 與 AGENTS.md 接上 /jsc-shared 共用規範(spec-output、 spec-script-path、spec-subagent、spec-gitea、spec-git-safety、 spec-skill-invocation 等),不再各自重抄,且完全未變動人格行為本身的規範 (情緒模型、記憶衰減、劇場模式、鎖與隔離機制等逐字保留)。 - selftest 全數通過(788/788,含本次新增的時區邊界/冪等性測試)。 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
{
|
||||
"name": "jsc-persona",
|
||||
"shortName": "persona",
|
||||
"version": "0.3.0",
|
||||
"descriptionCore": "AI 人格化記憶聊天 plugin:以 OpenClaw 相同的身分描述(IDENTITY/SOUL)建立人格(可用動漫作品+角色名上網蒐集設定),結合 hook 強制的人格載入鎖與跨人格隔離、六正向+六負向十二情緒、語意分析、短期/長期記憶與固化條件、心智圖、思維導圖與人際關係圖;可用 sub agent 邀請其他人格同場對話(劇場模式只顯示人格對話)。",
|
||||
"assistants": ["Claude Code", "Codex", "Antigravity", "OpenCode", "GitHub Copilot CLI"],
|
||||
"cliPrefix": "/jsc-persona:",
|
||||
"callPrefixAssistants": {
|
||||
"root": "Antigravity",
|
||||
"claudePlugin": "Claude Code"
|
||||
},
|
||||
"codexNote": "(人格鎖與跨人格隔離的 hook 僅在 Claude Code 生效)",
|
||||
"skillsPath": "./skills",
|
||||
"author": { "name": "JSC" },
|
||||
"homepage": "https://gitea.jsc.idv.tw/plugins/persona",
|
||||
"repository": "https://gitea.jsc.idv.tw/plugins/persona.git",
|
||||
"keywords": [
|
||||
"persona",
|
||||
"memory",
|
||||
"emotion",
|
||||
"mindmap",
|
||||
"relationship",
|
||||
"openclaw",
|
||||
"anime",
|
||||
"roleplay",
|
||||
"jsc"
|
||||
],
|
||||
"marketplace": {
|
||||
"repoDescription": "JSC 人格化記憶聊天 skills 的 Claude Code marketplace,提供人格建立與對話、十二情緒與短期/長期記憶管理、心智圖/思維導圖與人際關係圖維護等功能。",
|
||||
"pluginSummary": "AI 人格化記憶聊天(人格 / 情緒 / 記憶 / 心智圖 / 關係圖)"
|
||||
},
|
||||
"readmeHeadings": {
|
||||
"addSkill": "新增/修改 skill"
|
||||
},
|
||||
"readmeInstallNotes": [
|
||||
"本 plugin 的 marketplace 名是 `persona`(= repo 名),plugin 名是 `jsc-persona`,安裝 token 為 `jsc-persona@persona`。",
|
||||
"**⚠ 若本機還留著更早的 `jsc-persona@jsc-plugins` 安裝**,那是舊版命名的殘影,請先移除舊鍵再重裝新 token。",
|
||||
"**人格資料不受影響**:人格倉庫在 `~/.claude/personas/`(或 `PERSONA_HOME`),不在 plugin 目錄裡,移除/重裝 plugin 不會動到情緒、記憶與關係圖。Antigravity/OpenCode 是本地路徑/目錄安裝,沒有 marketplace 名,不受此命名影響。"
|
||||
],
|
||||
"_driftDecisions": [
|
||||
"決議1:skills 欄位統一為不帶尾斜線的 './skills'。現況:persona 三份 plugin.json(root/.claude-plugin/.codex-plugin)皆已是 './skills',唯一完全符合決議、不需調整的 repo。",
|
||||
"決議2:root plugin.json 已有「於 Antigravity 以 /jsc-persona: 前綴呼叫」句尾,符合決議,不需調整。",
|
||||
"決議3:.claude-plugin/plugin.json 現況完全沒有助理括號清單(四個 repo 中唯一缺漏,非順序/命名問題而是整段缺失)。已依統一決議補上「(Claude Code / Codex / Antigravity / OpenCode / GitHub Copilot CLI)」。",
|
||||
"決議4對應:.codex-plugin/plugin.json 專屬補充資訊「(人格鎖與跨人格隔離的 hook 僅在 Claude Code 生效)」為真實資訊差異,已保留於 codexNote,不可被格式統一誤刪。",
|
||||
"額外發現1(重要,非既知四點):root 與 .codex-plugin 的描述明顯比 .claude-plugin 簡短,完全沒提到「思維導圖」「可用 sub agent 邀請其他人格同場對話(劇場模式)」「以 IDENTITY/SOUL 建立人格、可用動漫作品+角色名上網蒐集設定」等內容——這是實質內容缺漏,不是格式差異。descriptionCore 已採用 .claude-plugin 的完整版本為準,下階段產生器需把完整內容回補到 root 與 .codex-plugin。",
|
||||
"額外發現2(重要,非既知四點):.claude-plugin/marketplace.json 目前的 repo 層 description 為「JSC 跨 AI 助理共用 skills 的 Claude Code marketplace。」——這段文字幾乎是照抄 shared 的樣板句(少了「規範」二字),完全沒提到人格/情緒/記憶/心智圖等 persona 專屬內容,判斷為複製貼上殘留、忘記客製化,而非合理的精簡描述。marketplace.repoDescription 已在此 meta 更正為 persona 專屬描述,下階段產生器需一併修正該 marketplace.json(plugins[].description 本身沒問題,維持原樣)。",
|
||||
"額外發現3(次要):root 描述用詞為「AI 人格化記憶聊天 plugin」,.codex-plugin 用詞為「AI 人格化記憶聊天 skills」,.claude-plugin 用「plugin」——plugin/skills 用詞不一致,屬低優先級格式細節。"
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user