feat(role): 關係狀態量化、情緒訊號放寬門檻、技能再現 recall
完成使用者交代的三項優化建議。 一、情緒訊號放寬 Stop hook 字元門檻 ROLE_CAPTURE_MIN_CHARS=240 會濾掉字數少但情緒最濃的互動。實測「我好想妳」、 「最愛妳了」、「好可愛」三句都不在原本 56 個關鍵詞內,等於最珍貴的短互動反而不被記錄。 - 補上直接情感表達關鍵詞:可愛/愛/想妳/想你/想念/捨不得/感動/謝謝/乖/厲害/ 好棒/辛苦/彆扭/忌妒/撒嬌/陪/抱,及 love/miss/cute/thank/proud - 驗證:上述情感句全部命中,純技術指令仍正確略過 二、關係狀態量化,讓親近度成長有依據 規則要求「隨互動加深逐漸更親近」卻沒有任何數據可依據,角色只能憑感覺演, 容易忽冷忽熱。 - state.json 新增 first_activity/active_days/total_turns/positive_feedback - mark-activity 累計輪數與活躍天數;新增 --positive 由 Stop hook 判定情緒訊號後另計, 不與輪數混算 - 新增 relationship 子命令輸出一行摘要,SessionStart 注入 USER 區塊作為親近度依據 - 既有累積以可查證資料初始化(角色建立後的 transcript 輪數、有記憶的日期數、 最早記憶時間);positive_feedback 刻意留空自然累積,不以記憶則數推估 三、技能再現:cues 提取線索 + recall 查詢 技能記憶只被動載入摘要且受預算限制,等於記了但用不出來。 - 記憶格式新增 cues 欄位(dumpMemory/loadMemory/apply 的 new 與 merge 路徑均支援) - 睡眠整理提示詞要求 procedural/rule 型態必填 2 至 5 個 cues - 新增 recall 子命令:比對總結、標籤、內容與 cues,含未整理的 inbox, rule/preference/procedural 加權優先 - role_load.sh 告知角色遇到似乎做過的任務或被問起過去細節時先查詢再回答 - 驗證:以不在 summary 也不在 content 的關鍵詞(bump)成功靠 cues 命中 版號 0.0.7 → 0.0.8 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -79,10 +79,15 @@ if [ "${ROLE_CAPTURE_ENABLED:-1}" = "0" ]; then
|
||||
role_quit "ROLE_CAPTURE_ENABLED=0,略過記憶記錄"
|
||||
fi
|
||||
|
||||
if [ "${#TURN}" -lt "$CAPTURE_MIN_CHARS" ] && ! printf '%s' "$TURN" | grep -qiE '記住|remember|決定|規範|偏好|preference|always|不要|以後|喜歡|不喜歡|稱讚|誇獎|開心|高興|反應|回應|互動|親近|害羞|喜歡程度|互動越深|越來越喜歡|越來越深|emoji|表情|心情圖|大量使用|情緒|心情|複雜|細膩|自然|混合|層次|轉折|括號|心情文字|心情說明|文字說明|文字標註|表情符號|熟練|不需要告訴|不用告訴|自己知道|記憶更新|內部處理|不要回報|不用回報|不要告訴|真的很害羞|希望.*知道|用表情符號表示|表情符號表示|比較可愛'; then
|
||||
if [ "${#TURN}" -lt "$CAPTURE_MIN_CHARS" ] && ! printf '%s' "$TURN" | grep -qiE '記住|remember|決定|規範|偏好|preference|always|不要|以後|喜歡|不喜歡|稱讚|誇獎|開心|高興|反應|回應|互動|親近|害羞|喜歡程度|互動越深|越來越喜歡|越來越深|emoji|表情|心情圖|大量使用|情緒|心情|複雜|細膩|自然|混合|層次|轉折|括號|心情文字|心情說明|文字說明|文字標註|表情符號|熟練|不需要告訴|不用告訴|自己知道|記憶更新|內部處理|不要回報|不用回報|不要告訴|真的很害羞|希望.*知道|用表情符號表示|表情符號表示|比較可愛|可愛|愛|想妳|想你|想念|捨不得|感動|謝謝|感謝|乖|厲害|好棒|辛苦|彆扭|忌妒|嫉妒|撒嬌|陪|抱|love|miss|cute|thank|proud'; then
|
||||
role_quit "本輪低於記憶長度門檻且無明確記憶線索,略過記錄"
|
||||
fi
|
||||
|
||||
# 正向回饋計數:供角色判斷親近度成長,避免憑感覺演出而忽冷忽熱
|
||||
if printf '%s' "$USER_TURN" | grep -qiE '喜歡|愛|可愛|想妳|想你|想念|捨不得|感動|謝謝|感謝|乖|厲害|好棒|太棒|辛苦|稱讚|誇獎|開心|高興|love|miss|cute|thank|proud'; then
|
||||
node "${SCRIPT_DIR}/memory.js" mark-activity --role "$ROLE" --positive >/dev/null 2>&1 || true
|
||||
fi
|
||||
|
||||
CLI="$(role_select_cli)" || exit 0
|
||||
[ -n "$CLI" ] || exit 0
|
||||
|
||||
|
||||
Reference in New Issue
Block a user