jsc-mod-companion
指令
/jsc-mod-companion:status
查看目前角色、心情、關係階段與四維度(好感、信賴、親密、依賴)與待辦數量。
/jsc-mod-companion:status
/jsc-mod-companion:switch <角色>
切換角色;不給角色會列出可用角色。
/jsc-mod-companion:switch 小明
/jsc-mod-companion:disable
關閉陪伴,所有資料保留。
/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。
/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]
列出未完成的待辦。
/jsc-mod-companion:todo
/jsc-mod-companion:todo add <內容> [due=YYYY-MM-DDTHH:MM]
新增待辦,可指定到期時間(依 tz 設定換算)。
/jsc-mod-companion:todo add 買牛奶 due=2026-10-15T18:00
/jsc-mod-companion:todo promise <內容> [due=YYYY-MM-DDTHH:MM]
記錄角色答應使用者的事(列表中標示【承諾】),用法同 todo add。
/jsc-mod-companion:todo promise 週末一起討論新章節 due=2026-10-17T10:00
/jsc-mod-companion:todo done <編號>
將待辦標為完成。
/jsc-mod-companion:todo done 1
/jsc-mod-companion:quiet [分鐘]
暫時靜音,不主動關心;預設 60 分鐘,0 取消靜音。
/jsc-mod-companion:quiet 30
/jsc-mod-companion:ingest
解析單章小說(txt/md),逐一詢問合併、新建或略過後寫入角色資料;提供章節檔或要求建立角色時也會自動使用。
/jsc-mod-companion:ingest chapter1.md 章節編號 1
關係與階段
關係有好感、信賴、親密、依賴四個維度(0–100),各有「原典基準」(朋友線為 0)與「存檔累積」兩本帳,有效值為兩者相加。階段為 陌生、熟人、朋友、好友,只升不降:
| 階段 | 條件 |
|---|---|
| 熟人 | 好感 ≥ 15 |
| 朋友 | 好感 ≥ 30、信賴 ≥ 25 |
| 好友 | 好感 ≥ 50、信賴 ≥ 45、親密 ≥ 30 |
- 每日增量有日限(好感 4,信賴、親密、依賴依角色
relationTraits的心防、害羞、撒嬌、依賴傾向調整);有效增量 = 原始增量 × (1 − 今日累計 / 日限) × (1 − 目前值 / 100)。 - 被罵時好感 −3,信賴依期望違反公式扣除(越親密扣越多,單次上限 −30)。
- 14 天無互動後,每個維度每天 −0.5;階段不會降低。
- 舊版單一好感值(
affinity)的存檔在讀檔時自動升級:好感值保留,其餘維度依比例推估,階段不低於原本。
與第 9 章的差異:不實作曖昧、戀人、穩定戀人與冷戰子狀態;負向事件目前只有「被罵」一種嚴重度(0.4);增量沿用原有的「有意義互動/被罵」判斷,尚未接標籤管線。
人格 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 章;不含戀愛與親密類標籤。