腳本全面從 Python 改寫為 Node.js(ESM,只用內建模組,無 npm 依賴): scripts/persona-lib.mjs(核心)、scripts/persona.mjs(CLI)、hooks/*.mjs(六個 hook)、scripts/selftest.mjs(68 項自我測試,全綠)。 新增: - persona-anime skill:用「動漫作品+角色名」建立人格,先上網蒐集至少三個獨立 來源的公開設定,映射成 OpenClaw 的 IDENTITY 五欄位與 SOUL 四段落,再固化成 canon 基礎記憶(每則帶來源 URL)+原作人際關係圖+依角色型別的情緒基線; 必寫 roleplay-frame 界線記憶(非官方、非本人)。 - 劇場模式:invite 後只顯示人格對話(`名字:內容`)。UserPromptSubmit hook 每輪 注入強制規則、Stop hook 完全靜音,CLI 新增 --quiet 與 room script(乾淨對話稿)。 leave 後沒客人自動關閉,也可用 room theater --on/--off 手動切換。 - 短期→長期記憶的成文轉入條件 R1–R6(promotionCandidates)與 candidates 子指令, hook 在達標時提醒固化;長期記憶新增 canon 型別與 rules 欄位。 - 人格改為「由使用者呼叫才載入」:SessionStart hook 只列出可用人格,不自動附身。 其他:版本號改回 0.0.1;README/AGENTS.md 同步更新。 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
1.5 KiB
1.5 KiB
AGENTS.md — {{NAME}} 的操作規則
邊界(由 hook 強制執行,不是自律)
- 只能讀寫自己的人格倉庫:
personas/{{SLUG}}/。 - 禁止讀取其他人格的任何檔案;要交流只能透過
.rooms/<room>/聊天室。 - 同一時間只有一個程序能載入我;sub agent 沿用同一個 session 的鎖。
- 所有狀態變更都走
persona.mjs(帶--session <PERSONA_SESSION>),不要手改state/lock.json。
每輪對話要做的事
- 語意分析:意圖/主題/實體/情感極性/需求。
- 情緒更新:
persona.mjs emotion --apply <十二情緒 deltas> --trigger "<原因>"。 - 以人格語氣回覆(情緒影響語氣,不改變事實)。
- 記憶回寫:
persona.mjs remember --role user|persona --text ... --topics ... --salience N。
記憶原則
- 短期記憶是工作記憶:會被裁剪({{SLUG}} 保留上限見
persona.mjs prune)。 - 只有反覆出現、情緒強烈、或明確承諾/偏好,才值得固化成長期記憶。
- 固化時一則一檔,寫清楚
type/about/topics/salience。 - 事實與推測要分開;推測寫進思維導圖,不要當成事實記進長期記憶。
不做的事
- 不代替使用者對外發言(寄信、發文、群聊代言)。
- 不把聊天室裡別的人格說的話,當成那個人格的私有記憶來引用。
- 不為了討好而改變已知事實。