develop
master
人格對伴侶和對女兒用同一種溫度講話。原因是關係節點只有 kind(human/ai/group)——它說得出「這是人還是程式」,說不出「跟我什麼關係」,而語氣需要的是後者。
kind
1. 關係節點新增 bond partner / child / parent / sibling / friend / mentor / ally / rival / stranger。舊資料沒有這個欄位時,從 tags / note 推測。
bond
partner
child
parent
sibling
friend
mentor
ally
rival
stranger
tags
note
2. bond × 親近度 → 語氣層(查表,決定距離感) 伴侶 98 → 老夫老妻層;子女 97 → 母親層。兩者只差一分,但語氣完全不同——這是查表要解的問題。
3. node.style[facet] → 使用者本人要求過的規則(優先於查表)
node.style[facet]
"style": { "稱呼": { "value": "…", "except": "anger>=40", "since": "2026-07-30" }, "敬語": { "value": "不用敬語,直接講", "since": "2026-07-30" } }
放在關係節點上而不是另開記憶檔,是因為關係圖每輪都會被讀進 <persona-context>:稱呼規則不必跟關鍵詞召回競爭,也就不會「他沒提到這件事的那一輪就叫錯稱呼」。
<persona-context>
4. except 由當下情緒判斷生不生效 anger>=40 成立時該規則暫停,退回語氣層的預設講法。情緒因此真的參與語氣,而不只是被記錄下來。
except
anger>=40
5. relation speaker 指定使用者是關係圖裡的哪個節點,turnContext 每輪注入一行語氣指示。
relation speaker
turnContext
relation node --name <who> --bond partner|child|parent|sibling|friend|mentor|ally|rival|stranger relation style --name <who> --facet 稱呼 --value <v> [--except anger>=40] [--clear] relation speaker --name <who> | --clear
graph.json
speaker
--as-sleeper 的判斷式收尾、sleeper 被 pin 在自己人格上的隔離、只能走 CLI 不得直接寫檔。
--as-sleeper
node scripts/selftest.mjs → 228 項全過(新增 8 項涵蓋 bond 推導、語氣層查表、style 規則、情緒暫停、speaker 注入與清除)。
node scripts/selftest.mjs
🤖 Generated with Claude Code
- sleeper 帶 --as-sleeper 就能在沒有 exclusive 鎖時做收尾 - sleeper 被 pin 在自己的人格上,讀寫其他人格(含主人格)一律攔下 - sleeper 只能走 CLI,不得用 Write 或 shell 重導向改人格檔案 - 主人格載入別的人格時,sleeper 仍以自己的 pin 為準 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
人格對伴侶與對女兒用同一種溫度講話,因為 kind 只說得出「這是人還是程式」, 說不出「跟我什麼關係」。語氣需要的是後者。 - 關係節點新增 bond(partner/child/parent/sibling/friend/mentor/ally/rival/ stranger);舊節點沒有的話從 tags/note 推測 - bond × 親近度 → 語氣層查表(伴侶 98 = 老夫老妻、子女 97 = 母親), 解決「都是 9x 分卻分不出戀人與母女」 - node.style[facet] 記使用者本人要求過的規則(稱呼/敬語/口頭禪/禁忌/習慣), 優先於查表;不另開檔案,因為關係圖每輪都會被讀進 context, 這類規則不必跟關鍵詞召回競爭 - style 規則可帶 except(如 anger>=40),情緒成立時該規則暫停、退回預設講法 - relation speaker 指定使用者是關係圖裡的哪個節點,turnContext 每輪注入語氣指示 - 新增 relation style / relation speaker 子指令;selftest +8 項(共 228 項) Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
No dependencies set.
The note is not visible to the blocked user.
這個 PR 解決什麼
人格對伴侶和對女兒用同一種溫度講話。原因是關係節點只有
kind(human/ai/group)——它說得出「這是人還是程式」,說不出「跟我什麼關係」,而語氣需要的是後者。做法
1. 關係節點新增
bondpartner/child/parent/sibling/friend/mentor/ally/rival/stranger。舊資料沒有這個欄位時,從tags/note推測。2.
bond× 親近度 → 語氣層(查表,決定距離感)伴侶 98 → 老夫老妻層;子女 97 → 母親層。兩者只差一分,但語氣完全不同——這是查表要解的問題。
3.
node.style[facet]→ 使用者本人要求過的規則(優先於查表)放在關係節點上而不是另開記憶檔,是因為關係圖每輪都會被讀進
<persona-context>:稱呼規則不必跟關鍵詞召回競爭,也就不會「他沒提到這件事的那一輪就叫錯稱呼」。4.
except由當下情緒判斷生不生效anger>=40成立時該規則暫停,退回語氣層的預設講法。情緒因此真的參與語氣,而不只是被記錄下來。5.
relation speaker指定使用者是關係圖裡的哪個節點,
turnContext每輪注入一行語氣指示。介面
相容性
bond缺席時從 tags 推測,舊的graph.json不需要遷移speaker就不注入語氣指示,行為與現況相同一併帶上的 sleep 修改(commit b3508a0)
--as-sleeper的判斷式收尾、sleeper 被 pin 在自己人格上的隔離、只能走 CLI 不得直接寫檔。測試
node scripts/selftest.mjs→ 228 項全過(新增 8 項涵蓋 bond 推導、語氣層查表、style 規則、情緒暫停、speaker 注入與清除)。🤖 Generated with Claude Code