READMESource: main@f4c1352f
dsh-relationship-heart
给 DSH 加一句「最近像什么」。
不是好感度,不是进度条。它从你说过的话里算一个模糊的关系读数,只输出一句话,并且允许自己说「我读不太准」。
[关系] 最近像什么:贴得挺近,话也密。 这是从对话里算出来的读数,不是自我评价。
它和别的「关系/好感」插件不一样的地方
| 常见做法 | 这个 | |
|---|---|---|
| 表达 | 好感度 72、亲密度 +1、进度条 | 一句话;允许「说不清」「最近有点远」 |
| 数字来源 | 模型自己「感觉」出数值,写进设定 | 只统计真实事件(消息数、时间、暖/冷词、深夜占比) |
| 变化 | 单调上涨 | 会涨也会退:久不联系、冷场都会让它漂 |
| 用途 | 给玩家看面板 | 给模型一个上下文,别把关系演成客服 |
它刻意不做:面板、排行榜、数值养成、抽卡。
装
dsh plugin --profile web add github:xzn67/dsh-relationship-heart
# 本地目录:
dsh plugin --profile web add file:D:/path/to/dsh-relationship-heart
仓库:https://github.com/xzn67/dsh-relationship-heart
装完重启 DSH(Web profile 不热重载插件)。
配置
写在 cordis.patch.yml 里本插件的 config:
| 键 | 默认 | 说明 |
|---|---|---|
enabled |
true |
关掉后不再记账、不再注入 |
windowDays |
7 |
统计窗口(天) |
order |
50 |
prompt 段的插入顺序 |
它到底算的是什么
三个维度,全部 0–1,但只在内部用,不向用户展示:
intimacy:这周说了多少、暖话比例、深夜占比distance:距上次说话多久(72 小时封顶)unknown:数据够不够(消息少、日子不连续 → 读不准)
对外只有 render() 拼出来的一句话。关系变化会记进 history("因为什么变了"),那是给审计看的,不是给你看的进度条。
relationship_roll 是掷骰:概率中心由读数决定,宽度随不确定性变,每次掷前重新采样——同一天问两次,答案可以不一样。
数据在哪
~/.dsh/relationship/state.json,纯本地,不上传、不联网。删掉它就从零开始。
边界
- 不生成色情内容。
- 它是读数,不是人。不会替你承诺任何事,也不会假装记得它没记的事。
- 不要拿它给「AI 有没有感情」这件事背书——它算的是对话的形状,不是内心。
已知限制
- 三个维度、词表是硬编码的,标定还没做完(实际用下来偏乐观,会偏向"贴得近")。
- 只支持一个用户;多人/群聊场景没设计。
- 没有 UI。想看当前读数就调
relationship_state工具。
许可
AGPL-3.0-or-later。个人使用随意;要商用、或改完闭源提供网络服务,请先看许可证原文。
No comments yet. Be the first to write one.