
jiantw83andClaude Opus 5
0527a3cad0
feat(relation): 親近度會改變情緒的份量;提到 ≠ 接觸(v0.0.8 同批)
① 親近度 → 情緒的份量(`relationGain()`)
在這之前 `applyEmotion()` 完全沒吃關係圖:親近度只影響語氣層、羞恥度與主動關心,
情緒的 delta 從頭到尾是人格自己挑的,**跟對象是誰無關**。
但同一句「你最近怪怪的」,從親近 97 的人跟從生人嘴裡出來,衝擊不該一樣。
現在 `emotion --apply` 會依對象親近度把 delta 乘 0.7–1.35(親近 96 → ×1.28、
親近 8 → ×0.75),`--from <對象>` 指定是誰引起的,沒指定就用當前對話對象。
**只調幅度、不調方向**——誰講的都不會讓難過變成高興。
② 提到 ≠ 接觸(`contactsFromRooms()`)
主動關心的依據是 `last_contact_at`,而睡眠以前是掃短期記憶的 `entities` 來蓋章。
那等於「我在日記裡寫到尤吉歐」就算「我跟尤吉歐接觸過」——沉默計時被無聲重置,
關心名單於是永遠是空的。實測就是這樣:所有人都停在 1.09 天,沒有人會被想起。
現在只認真的有來有往:同一個聊天室裡我發過言、他也發過言。
沒有聊天室的對象(真人節點)走 `relation node --contact` 明確蓋章。
測試:340 項全過(新增 7 項)。既有的「關係時間戳有蓋上」拆成兩條——
只被提到的不蓋、真的接觸過才蓋,正好把新語意釘住。
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-31 06:30:34 +00:00
..
2026-07-31 05:20:57 +00:00
2026-07-30 03:43:45 +00:00
2026-07-31 06:30:34 +00:00
2026-07-31 06:30:34 +00:00
2026-07-30 03:43:45 +00:00
2026-07-31 06:30:34 +00:00