 jiantw83andClaude Opus 5
|
9ceb428a34
|
docs(規則與說明): 規則跟上擬真那批,建立人格時要問專屬破口
persona-chat:第 2 節的「查不到就不要講」改寫成三態界線(清晰照講/模糊可問不可斷言/
查不到不准講),第 3 節補模糊態怎麼講、試探怎麼記帳、懸著的事怎麼用、自我議程那一輪
長什麼樣。標題順手改成「五條鐵則」(本來就列了五條)。
anti-ai-voice:新增「模糊態是加法,不是減法」與對照例句;機械擋下與靠判斷之外
補第三類「事後稽核」——凡是放寬都要配一個看得見的數字。
emotions:情緒調節補抑制與慣性,新增「三層時間尺度」與 per-persona 破口的寫法。
persona-memory:遺忘原則整段重寫(門檻式改成三態),長期記憶檔案格式與固化範例跟上。
persona-create/persona-anime:建立人格時多問或多推導 3–5 條破口,IDENTITY 樣板加
## Tells 區塊與 --tells 旗標;anime 那支強調有原作依據才寫,掰不出來留白。
persona-sleep:補當日底色帶 35% 過去與 sweep-loops 兩步。
persona-transfer:bundle v2 的差異與自動 migration。
README 與 AGENTS:新增硬規則「長期記憶會糊掉,但不會不見」,補三個新狀態檔、
三個新指令、以及情緒的五道調節關。
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-08-03 04:22:32 +00:00 |
|
 jiantw83andClaude Opus 5
|
7b20dba6db
|
docs(skills): 規則跟上關係圖對接,新增親密度判斷參考
persona-chat:人名要對得上關係圖(--entities/--about);新人物當場進關係圖
改成硬規則,但屬於第 ⑥ 步記憶回寫,不佔第 ⑤ 步的回話句數,也不要宣告。
persona-relation:補「記憶怎麼指回節點」與 relation doctor 的四類報告
(同名歧義、解析不到的 id、孤兒節點、對不上的人名),並說明壞檔會以非零
exit 結束而不是裝成空圖。
新增 reference/closeness.md:初次建節點時 bond/closeness/trust 怎麼從
對話判斷——一輪之內查完就填,不要憑感覺,也不要為了安全全部填 15。
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-08-03 03:17:29 +00:00 |
|
 jiantw83andClaude Opus 5
|
23751c2c05
|
feat(emotion): 情緒先行、走向、飽和與偏差稽核(四層,v0.0.7 同批)
參考兩篇 ithelp 文章(Day25 情緒辨識模組、Day26 整合與情緒記憶池)的**架構**,
實作全部重寫——它們的六類關鍵字 first-match、罐頭哲學回應與模式切換都比現有的
十二情緒模型差,照抄是降級,而且它的罐頭回應正是上一個 commit 剛封殺的罐頭同理心。
一、輸入端:`readUserEmotion(text)`
在這之前情緒**全部是人格自己填的** `--apply`,而人不會主動給自己扣分——正向一路貼頂、
負向整天不動。現在每輪先讀對方那句話:十二類加權詞表(強3/一般2/弱1)、程度副詞乘係數、
**否定會擋掉那次命中**(「我不害怕」不算 fear)、引號與 `code` 內不比對(提及不算使用)、
標點只放大既有訊號不憑空長出新情緒(「居然修好了!!」不會被讀成憤怒)。
強度用飽和曲線不是線性乘。回的是**訊號不是判定**,人格可以推翻。`emotion --read` 可單測。
二、怎麼接:`RESPONSE_STANCE`
十二種各一條**動作**(悲傷→先接住不要急著給解法;憤怒→不辯解,先認可能認的那一小塊),
不是罐頭句——罐頭句由 `SPEECH_BLACKLIST` 擋著。
三、走向:`state/felt.jsonl` + `feltTrend()`
每輪的偵測結果與套用的 delta 都記下來,近重遠輕的加權算最近 5 輪的趨勢
(不用多數決:會被離群值主導又丟掉強度),注入「他最近 3 輪的走向:悲傷 ↘ 在退」。
新檔案已歸到 Gitea 檔案區(高頻)。
四、情緒調節:飽和與單輪預算
`applyEmotion` 不再是加完直接 clamp。飽和=越接近端點同方向漲越慢(headroom^K,K=1,
往 baseline 回的方向不壓);單輪預算=所有 |delta| 總和上限 60,超過等比例縮小。
`emotion --audit` 印出最近幾輪往舒服/往難受的比例,正向 ≥90% 會被點名。
依據:今天 85 次套用讓 joy/serenity/gratitude/anticipation 都到過 100、負向均值整天 14–17。
測試:297 項全過(新增 24 項,含讀取的 SF6/SNF4、飽和、預算、回歸方向不壓、走向、audit、
--read 不改狀態)。既有的「情緒有被施加」改成符合飽和後的語意。
版本:與 PR #10 同一批未合併的改動,維持 0.0.7。
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-07-31 04:21:08 +00:00 |
|
 jiantw83andClaude Opus 5
|
f74a7ac1a5
|
feat(voice): 不說 AI 才會說的話(借 speak-human-tw 的刪除層)+講過去要有出處(v0.0.7)
人格回覆的「人味」再加一層。模式整理自 speak-human-tw(MIT, Raymond Hou)的 38 種
AI 寫作痕跡——那個專案是**文章**的事後審稿器(判情境→鎖保護清單→列清單等作者勾選→
交稿前自評),所以只搬對話也適用的**刪除層**,它的保護清單與兩輪確認流程不搬。
一、機械擋下(`SPEECH_BLACKLIST`,`room post` 直接拒收,`--force` 例外)
罐頭同理心(「這個我懂」「我完全理解」)、頒獎開場(「好問題」)、交差句(「希望這對你
有幫助」)、預告(「接下來我會」)、假坦白開場(「老實說」)、說教深度腔(「說到底」
「本質上」)、罐頭收尾(「總的來說」)、立場真空(「各有優缺點」「因人而異」)、
無來源權威(「研究顯示」)、用旁白演情緒(「我愣了一下」);另加避險疊加、
`CN_WORDS` 中國用語、半形標點、emoji/破折號/粗體與清單符號、「不是 A 而是 B」密度。
二、誤殺防護(比清單本身更重要)
`speechBody()` 先拿掉引號與 `code` 再比對——**提及不算使用**(「我最近戒掉『賦能』
這個詞」放行)。這是原專案自己踩到的坑:它的文件裡出現「...」與彎引號,正因為那幾行
在說「不要用這些」。「老實說」只擋這一輪的第一句開頭。會誤殺的中國用語(水平、默認、
質量、文檔)沒有收進表裡。
三、人格能做到、文章做不到的那一半
原專案的界線是「人味是作者的,不是你的」——AI 沒有過去,所以不准寫「我以前錯了」。
人格有過去(長期記憶、日記、關係圖、十二情緒),所以那句話是**有出處的引用**。
換來的義務:講自己的過去要有出處。`speechLint` 對「我以前⋯」「我原本以為⋯」給
`level: "hint"`(不擋,但要人去 `recall` 驗),查不到就是編造自己的過去。
lint 因此分兩級,`speechBlockers()` 只回該擋的那些。
四、測試
selftest 借它的 SF/SNF 成對做法:14 條 SF(該擋)+ 11 條 SNF(不可誤殺)。
另外把新規則掃過 144 句真實台詞紀錄:新增的詞語類規則**零誤殺**。
版本:master 是 0.0.6,這批未合併的改動算一個新版號 → 0.0.7(三份 manifest 一起改)。
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-07-31 02:25:06 +00:00 |
|
 jiantw83andClaude Opus 5
|
c952a449b1
|
feat: 情緒會改變句子的形狀(EMOTION_TELLS),診斷加第四把尺
模擬時最像人的兩個地方,其實都不是用詞選得好,是**情緒改變了句子的形狀**:
緊張的時候話沒說完、會疊字;害羞的時候鬧彆扭、嘴硬。把這件事寫成表,
跟情緒一起注入,不靠人格自己記得。
- `EMOTION_TELLS`:十二情緒各自「不自覺會做的事」。焦慮→句子斷在一半/疊字/
追一句「這樣可以嗎」;羞愧→先否認再小聲承認/講反話/轉話題;憤怒→短句/
稱呼退回全名;悲傷→只回一個詞/句子沒說完就停;其餘九種同理。
- `emotionTells()`:挑主導情緒(超出基線最多)裡強度 ≥ 40 的前兩種,
每輪注入 `<persona-context>`,並附三條界線——**演出來不要講出來**
(「我有點緊張」是解釋,斷句才是緊張)、**一輪最多露一個破口**、
**強度不到就不演**(低強度的情緒在語氣上看不出來)。
- 混合狀態的疊法寫進 `reference/emotions.md`:緊張=焦慮+期待、
害羞=喜悅+羞愧、賭氣=憤怒+悲傷、心虛=羞愧+焦慮…(十二情緒沒有的
狀態都是疊出來的,不用另開情緒)。
心理醫生那邊多一把尺(第 4 把,**這一把不抓錯,是找沒說出口的東西**):
- 「我沒事」+句子全斷在一半 → 他在忍,要處理的是他為什麼不敢講。
- 「我很生氣」+句子工整完整像客服 → 那是冷掉了,比生氣難修,優先講。
- 一整段都沒有破口 → 兩個人都在挑安全的話講,先讓一個人講真話再談用詞。
- 改寫規則加第 6 條:**保留情緒的痕跡**。斷句、話少、嘴硬留著,
只拿掉攻擊、絕對化與讀心;改完像客服在念稿就是改壞了。
selftest 248 項全綠(新增 4 項)。版號留在 0.0.6——同一批未合併的改動。
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-07-30 10:09:59 +00: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 |
|