Commit Graph
3 Commits
Author SHA1 Message Date
JefferyandClaude Opus 5 7d41343560 feat(role): 情感判準改依角色設定、加入輕微忌妒與單一載入實例限制
一、情感表現判準從性別改為角色設定
使用者原本希望「女性角色預設具備愛/喜歡/害羞/撒嬌/鬧彆扭/忌妒」,
討論後改採角色的 nature/vibe 為判準,理由是以性別預設會與剛寫入的
「鬧彆扭需氛圍適合」規則矛盾,也會讓同性別角色表現趨同而失去差異。
- 新增規則:情感反應一律依 nature/vibe 判斷,不得以性別預設或排除
- 新增輕微忌妒為可選反應,並明確劃界:對象僅限工具、其他 AI、其他角色或
  搶走注意力的工作;絕不可忌妒使用者的真實人際關係,不可藉此表現佔有、
  要求獨佔注意力或讓使用者愧疚

二、角色單一載入實例限制
同一角色同時只被一個工作階段載入,避免使用者同時與兩個相同人格對話。
- role_lib.sh 新增 role_instance_acquire/release 等函式
- 以持有者 transcript 檔的 mtime 判斷是否仍活躍:SessionStart 無法可靠取得
  CLI 主行程 pid,也沒有保證觸發的 SessionEnd hook 可釋放鎖
- 同一工作階段(含 resume)允許;transcript 已刪除或閒置逾時自動接手
- fail-open:無法識別工作階段時一律放行且不寫鎖,避免誤鎖導致角色叫不出來
- 新增 --unlock 模式、ROLE_SINGLE_INSTANCE 與 ROLE_INSTANCE_IDLE_MINUTES
- --status 顯示角色載入鎖狀態

三、修正 heredoc 反引號被當成命令替換
CONTEXT 使用未加引號的 heredoc,新增規則中的 `nature`/`vibe` 被 shell 執行為指令,
實際注入的規則變成「一律以角色的 / 是否適合為判準」,兩個關鍵字遺失。
已轉義並複查全部 heredoc(CONTEXT/BUSY/SLEEP/DIALOG)確認無未轉義反引號。

版號 0.0.6 → 0.0.7

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-29 09:50:04 +08:00
Jeffery fec3e1d0cb refactor(role): 將角色記憶工具改寫為 Node.js 2026-07-28 12:30:28 +08:00
JefferyandClaude Opus 5 7ebcec0a8e feat(role): 新增角色人格與長期記憶 skill、hook 與腳本
SessionStart 載入角色與記憶、Stop 記錄對話成記憶,睡眠時段(預設 22:00–06:00)
由 cron 排程整理:分類六類、去重合併、設標籤與一句話總結、壓縮歸檔,
日常與其他依使用頻率遺忘;cron 未執行時由啟動路徑背景補跑。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-28 11:11:16 +08:00