111 lines
4.3 KiB
Markdown
111 lines
4.3 KiB
Markdown
# jsc-mod-companion
|
||
|
||
## 指令
|
||
|
||
### `/jsc-mod-companion:status`
|
||
|
||
查看目前角色、心情、好感與待辦數量。情緒有 8 個維度(心情、精力、害羞、忌妒、想念、心跳、想家、不悅),預設列出前 3 強,`--all` 顯示完整數值(▰▱ 量表依維度上色);band 上的情緒名稱為目前最強的主情緒。
|
||
|
||
```text
|
||
/jsc-mod-companion:status
|
||
/jsc-mod-companion:status --all
|
||
```
|
||
|
||
### `/jsc-mod-companion:switch <角色>`
|
||
|
||
切換角色;不給角色會列出可用角色。
|
||
|
||
```text
|
||
/jsc-mod-companion:switch 小明
|
||
```
|
||
|
||
### `/jsc-mod-companion:disable`
|
||
|
||
關閉陪伴,所有資料保留。
|
||
|
||
```text
|
||
/jsc-mod-companion:disable
|
||
```
|
||
|
||
### `/jsc-mod-companion:setup [key=value…]`
|
||
|
||
不給參數時顯示目前設定;給 key=value 則儲存。可設定:`nickname`、`wake=HH:MM`、`sleep=HH:MM`、`tz=+0800`、`careLimit=N`(每日主動關心上限)、`quietStart=HH:MM`、`quietEnd=HH:MM`。
|
||
|
||
```text
|
||
/jsc-mod-companion:setup nickname=阿明 wake=07:30 sleep=23:30 tz=+0800 careLimit=3 quietStart=22:00 quietEnd=08:00
|
||
```
|
||
|
||
### `/jsc-mod-companion:todo [list]`
|
||
|
||
列出未完成的待辦。
|
||
|
||
```text
|
||
/jsc-mod-companion:todo
|
||
```
|
||
|
||
### `/jsc-mod-companion:todo add <內容> [due=YYYY-MM-DDTHH:MM]`
|
||
|
||
新增待辦,可指定到期時間(依 `tz` 設定換算)。
|
||
|
||
```text
|
||
/jsc-mod-companion:todo add 買牛奶 due=2026-10-15T18:00
|
||
```
|
||
|
||
### `/jsc-mod-companion:todo promise <內容> [due=YYYY-MM-DDTHH:MM]`
|
||
|
||
記錄角色答應使用者的事(列表中標示【承諾】),用法同 `todo add`。
|
||
|
||
```text
|
||
/jsc-mod-companion:todo promise 週末一起討論新章節 due=2026-10-17T10:00
|
||
```
|
||
|
||
### `/jsc-mod-companion:todo done <編號>`
|
||
|
||
將待辦標為完成。
|
||
|
||
```text
|
||
/jsc-mod-companion:todo done 1
|
||
```
|
||
|
||
### `/jsc-mod-companion:quiet [分鐘]`
|
||
|
||
暫時靜音,不主動關心;預設 60 分鐘,`0` 取消靜音。
|
||
|
||
```text
|
||
/jsc-mod-companion:quiet 30
|
||
```
|
||
|
||
### `/jsc-mod-companion:ingest`
|
||
|
||
解析單章小說(txt/md),逐一詢問合併、新建或略過後寫入角色資料;提供章節檔或要求建立角色時也會自動使用。
|
||
|
||
```text
|
||
/jsc-mod-companion:ingest chapter1.md 章節編號 1
|
||
```
|
||
|
||
## 人格 18 參數(與第 9 章的差異)
|
||
|
||
人格參數依 wiki 9.2 實作於 `hooks/companion/core/params.ts`:
|
||
|
||
- 三層值:角色包基準(`core.json` 的 `params`)+存檔偏移(每次 ±1,上限 ±15)+今日偏移(N(0,5),上限 ±10),總值限制在 0–100。
|
||
- 衍生值:有效心防、有效害羞、有效口是心非,公式同 9.2;信賴與親密以 0–100 輸入。
|
||
- Big Five 保留為推導值:有 `params` 時,神經質(心情半衰期)與外向性(關心頻率)改由 18 參數推導,加權為設計啟發式;沒有 `params` 的舊角色沿用 `neuroticism`、`extraversion`。ingest 的 Big Five 推論與證據機制不變。
|
||
- 姓名、性別、年齡、核心信念不可由 AI 改動,`filterAiPatch` 會剔除這些欄位。
|
||
- 目前只提供計算與儲存欄位(`state.json` 的 `params`);每日抽樣、存檔偏移累積的觸發時機留待後續工作項目。
|
||
|
||
## 評估標籤
|
||
|
||
使用者每句話會對應到一個評估標籤,再由 `rules.ts` 的規則表換成心情增減量;模型只負責分類,不給數值。
|
||
|
||
- 正則先判明確的情況(責罵、感謝、完成)。
|
||
- 正則沒判出時,採用模型於回覆末尾補的 `<評估:標籤>`;標籤須在 `tags.ts` 的白名單內,缺失或不在白名單就當作沒有標籤。
|
||
- 白名單約 20 個,參考 wiki 第 9.4 章;不含戀愛與親密類標籤。
|
||
|
||
## 情緒模型
|
||
|
||
- 8 維度各有基準與半衰期(心情 8h、精力 6h、害羞 2h、忌妒 4h、想念 12h、心跳 1h、想家 24h、不悅 4h,神經質 50 時),數值集中在 `hooks/companion/emotion.ts`。
|
||
- 晝夜節律:精力基準在本地 15 點最高、凌晨 3 點最低(±0.1,依 `tz` 設定)。
|
||
- 事件的情感注入、疲勞易怒(精力低於 0.3 時負面變化 ×1.5)、正向習慣化(重複 ×0.7ⁿ)、負向敏感化(重複最多 ×2),計次以 6 小時半衰期遺忘。
|
||
- 舊的 PAD 存檔讀檔時自動映射(p→心情、a→精力、d→害羞)並升級,不需重建。
|
||
- 與第 9 章的差異:晝夜節律振幅、習慣化係數等數值為本實作自訂,尚未逐項對照第 9 章。
|