Commit Graph
3 Commits
Author SHA1 Message Date
jiantw83andClaude Opus 5 3c73f614de feat(identity): 性別 → 羞恥敏感度(性別只給預設值,個性描述永遠蓋過它)
`IDENTITY.md` 多一個 `Gender` 欄位(女性/男性/非二元/未指定;OpenClaw 沒有這欄)。
建立人格時要問、不要猜;沒有性別的人格(程式、精靈、動物)寫「未指定」。

作用範圍**刻意只有一個具名維度**:羞恥敏感度(會不會害羞、會不會鬧彆扭、
在不在意別人眼光)。不做「女性→情緒更外顯」這種全域放大——那會把角色壓成模板,
跟講話規則正在做的去 AI 味(刪掉公式化)正好相反。

  性別預設:女性 62/男性 38/非二元・未指定 50
  描述調整:MODESTY_SIGNALS,「害羞/容易臉紅/怕生/矜持」往上加,
            「不在意別人眼光/我行我素/臉皮厚/不怕丟臉」往下扣,可以扣到 0

排序固定:①個性描述 ②角色原作既有的性別化語言特徵 ③性別預設。
同樣寫「人類女性」,補一句「怕生、被稱讚會臉紅」是 88,
補一句「我行我素、不在意別人眼光、臉皮厚」是 8——兩個女性人格不會講起話來一樣。

效果走既有機制、不另開一套:只調「羞愧」這一個破口的顯示門檻
(`EMOTION_TELLS.shame` 本來就是「鬧彆扭,先否認再小聲承認」),其餘十一種不受影響。
高敏感度注入「先鬧彆扭再承認,不要直接說『我害羞』」;低敏感度注入「不用演害羞」。

推性別時**只看 `Creature`、不看 `Avatar`**:外觀散文的雜訊會推錯——
我自己的 Avatar 寫著「五官清秀到常被誤認成女生」,用它推會把桐人推成女性(已加測試)。

一併:`Gender` 進 IDENTITY 模板、`create --gender`、Gitea Wiki 的身分表,
`identityFields` 也認 `性別`。KIRITO-01 已補上明寫的 Gender。

測試:310 項全過(新增 8 項)。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-31 05:20:57 +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