Commit Graph
3 Commits
Author SHA1 Message Date
Jeffery 3e1c8eb221 feat(soul): 新增 soul 指令,SOUL.md 分區塊寫入(AniPersonaStudio 委託)
SOUL.md 目前只有使用者能透過編輯器直接改,AniPersonaStudio 的確認佇列
機制需要一個程式化的寫入路徑才能把使用者確認過的變更真的寫回核心。

新增 persona.mjs soul --session <id> --section <core_truths|boundaries|
vibe|continuity> --value <text> [--mode append|replace] [--by <確認人>]:

- 四個區塊各自用一組 <!-- aps:區塊:begin/end --> HTML 註解標記框住可寫範圍,
  標記外的內容(樣板原本寫好的條目、使用者手動編輯過的段落)永遠不動
- append(預設)接在後面,完全相同的內容不重複疊加;replace 整段換掉
- 標記不存在時(舊人格)自動在對應的 ## 標題後面補一組空的,不需要重建人格
- 權限模型跟 relation/mindmap 一致:requireSession + requireOwner
- --by 有帶會寫一筆 journal 留審計紀錄;成功後照既有慣例背景推 Wiki 區

SOUL.md 樣板補上四組標記;persona-lib.mjs 新增 SOUL_SECTIONS/
readSoulSection/updateSoulSection;selftest.mjs +9 案例(append/replace/
去重/權限/journal/舊人格自動補標記)。全部 781 項 selftest 通過。
2026-08-11 11:11:41 +08:00
jiantw83andClaude Opus 5 2005f26c94 feat: 改寫為 Node.js,新增動漫角色建人格、劇場模式與記憶固化條件
腳本全面從 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>
2026-07-29 16:03:27 +00:00
jiantw83 4426ede979 初版 2026-07-29 14:37:20 +00:00