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>
This commit is contained in:
@@ -22,14 +22,38 @@ bundle 是**單一 JSON 檔**(可 gzip),不依賴任何外部工具,複
|
||||
| --- | --- |
|
||||
| `IDENTITY.md` / `SOUL.md` / `AGENTS.md` / `USER.md` | `state/lock.json`、`state/guests.json`(載入鎖與 guest 租約屬於「那台機器的那個程序」) |
|
||||
| `state/config.json`、`state/emotion.json`(十二情緒的 levels/baseline/半衰期) | `journal/`(原始逐字稿:量大且最私密,要帶請明確加 `--with-journal`) |
|
||||
| `state/inner.jsonl`(心裡話)、`state/said.jsonl`(說過的話) | 任何**其他人格**的資料——一個 bundle 只有一個人格 |
|
||||
| `state/mood.json`(當日心情底色)、`state/loops.json`(懸著的事)、`state/probe.jsonl`(試探紀錄) | 任何**其他人格**的資料——一個 bundle 只有一個人格 |
|
||||
| `state/inner.jsonl`(心裡話)、`state/said.jsonl`(說過的話) | |
|
||||
| `memory/`(短期、長期一則一檔、INDEX、inbox) | |
|
||||
| `mindmap/`(心智圖與思維導圖)、`relations/`(關係圖) | |
|
||||
|
||||
規則很簡單:**除了鎖與租約,人格目錄裡的東西都帶走**。所以之後新增的狀態檔不必回頭改這張表——
|
||||
`state/lock.json` 與 `state/guests.json` 是唯一兩個明文排除的(它們描述的是「那台機器的那個程序」,
|
||||
換一台機器就是假的)。
|
||||
|
||||
檔案裡有 `checksum`(sha256),匯入時會驗;對不上就是被改過或損毀。
|
||||
|
||||
---
|
||||
|
||||
## bundle 版本(目前 v2)
|
||||
|
||||
| 版本 | 差在哪 |
|
||||
| --- | --- |
|
||||
| v1 | 長期記憶只有 `salience`;內文不分層;沒有 `mood.json`/`loops.json`/`probe.jsonl` |
|
||||
| **v2** | 長期記憶多了 `strength`(回想強度)與 `when`/`where`/`mood`(情境索引),內文分「主旨/細節」兩層;狀態多了當日心情底色、未完事項、試探紀錄 |
|
||||
|
||||
- **舊的 v1 bundle 照樣吃得下**:`import` 寫完檔案會**就地跑一次 migration** 補齊欄位並切分內文,
|
||||
所以匯入之後這台機器上只有一種格式,不必到處判版本。
|
||||
- **遷移失敗不會讓整個匯入失敗**(INDEX 還是要重建),代價是它也**不會出現在人看的輸出裡**——
|
||||
只有 `--json` 的 `migrated` 看得到統計,是 `null` 就代表那次遷移出過錯。
|
||||
匯進來卻沒升格式的人格,它的老記憶進不了衰減與模糊態,等於最重要的那批記憶反而沒效果,
|
||||
所以**匯入舊 bundle 之後補跑一次**比較保險:`migrate --session <PERSONA_SESSION> --dry-run`
|
||||
看還有沒有東西要動,有就跑一次不帶 `--dry-run` 的。
|
||||
- **比本版新的 bundle 會被擋下**(`validateBundle` 直接判不合法):未來的欄位沒有辦法猜,
|
||||
硬吃會把不認得的資料寫進人格目錄。這種時候該更新 plugin,不是加 `--force`。
|
||||
|
||||
---
|
||||
|
||||
## 匯出
|
||||
|
||||
**只能匯出「本 session 目前載入的那個人格」**——這是隔離規則的一部分,
|
||||
@@ -75,7 +99,9 @@ checksum 對不上會被擋下;要硬吃得加 `--force`,並**主動告訴
|
||||
2. **匯出後回報實際路徑與大小**,還有帶了幾則長期記憶——他要拿去搬家,得知道搬了什麼。
|
||||
3. **匯入前先 `list`**,看目標 slug 是否已存在:存在就給他「換名匯入 / 覆寫」兩個選擇,
|
||||
不要自己決定 `--force`。
|
||||
4. 匯入後告訴他 `/jsc-persona:persona-chat <slug>` 就能開始聊。
|
||||
4. **匯入的是 v1 bundle 就講一句**:長期記憶已經升成新格式(補回想強度、切主旨/細節)。
|
||||
這會改變那個人格「記得多清楚」的行為,使用者有權知道搬過來的不完全是原樣。
|
||||
5. 匯入後告訴他 `/jsc-persona:persona-chat <slug>` 就能開始聊。
|
||||
|
||||
## 邊界
|
||||
|
||||
|
||||
Reference in New Issue
Block a user