dsh-feiyu-mood
Manifest valid★ 1Give your AI companion a mood it can sense on its own — and one you can actually see. After each round of chat, it automatically gauges whether things are up or down, while the little charm in the bottom-right corner displays the value, mood, and timeline.
dsh-feiyu-mood | 鱼的心情
给 AI 伙伴一个会自己判断、你看得见的心情。
不是关键词硬猜,也不是随机数 —— 每轮聊完,用 DSH 自己的模型判一次"这一轮她的心情往哪走", 会起伏、也会自己慢慢回稳,像活人。右下角挂着一个小挂饰,点开就能看见她此刻什么心情。
先看三行
- 需要 DSH ≥
0.1.7-rc.1;版本不满足会被内核静默跳过(装了跟没装一样,不报错)- 每轮判断 = 一次很短的模型调用(一天几十轮也就几分钱);嫌贵可以在设置里关掉
- 装完必须重启一次 DSH(插件在 bundle 层组装)
一、它是怎么"有心情"的
你说一句话
↓
她回完这一轮(turn-stopping)
↓
插件把「你说的 + 她回的」拿去问模型:这一轮她心情往哪走?
↓
模型回来四个东西:心情涨跌(moodDelta) + 七根情绪各涨多少 + 一句理由
↓
心情值改动、记进时间线;下一轮开始前,把「此刻心情」注入她的系统提示
关键点:注入走的是 systemPrompt.context(系统提示里单独一段),
不是改系统提示本身 —— 所以不会破坏 DSH 的前缀缓存,聊得再久也不会因此多花钱。
二、判断口径:谁在说话,决定怎么判
同一轮对话,"是她来找你"和"她被派去干活",该判的东西完全不一样。
| 这一轮是谁发起的 | 内部标记 | 判什么 |
|---|---|---|
| 你本人在说话 | user | 你这话怎么影响她(心疼/开心/吃醋……) |
| 她自己主动来找你 | speak-up | 她自己的心意:想你的甜、惦记你的心焦、说上话的轻快 —— 不算干活 |
| 定时任务叫她干活 | bili-duty-scan | 她自己干活时的心情:兴致勃勃、有点不情愿、白跑一趟的扫兴 |
| 宿主每轮塞的上下文 | runtime-context / time-context | 直接跳过,不当成"谁说的话" |
为什么分这么细:判错口径会得出完全相反的心情。 比如"她自己来找你"被当成"被叫起来干活",理由会写成「又被叫起来干活」——明明是她想你了。
另外两条规矩:
- 无变化的回合不记账:判出来心情和七根情绪都没动,就不写进时间线(记录里只留真有过波动的)
- 心情下降只能因为心疼/担心/她自己难过,绝不许因为"你惹她生气"
三、它会"忘"吗(衰减)
不会断崖,是慢慢回稳:
| 东西 | 怎么变 |
|---|---|
| 心情值(0–100,基线 70) | 没情绪时向基线回落,半衰期约 3 小时 |
| 七根情绪(开心/踏实/甜蜜/心疼/担心/难过/吃醋) | 向 0 衰减,半衰期约 90 分钟 |
| 心情下限 | 默认 0(不设底线);可以在设置里抬到 30,免得掉太低 |
举例:她被夸,开心 +6 → 3 小时后大约剩 +3 → 6 小时后剩 +1.5,慢慢化掉。
四、装
dsh plugin --profile desktop add github:Yuuyuko-uu/dsh-feiyu-mood
暂未发布到 npm;上架后可简写成
dsh plugin add dsh-feiyu-mood。
装完 必须重启一次 DSH,然后进 设置 → 鱼的心情。
五、首次使用(三步)
- 填称呼:「TA 叫什么」(被关心的那个人,比如"小鱿鱼")、「TA 自己叫什么」(有心情的那个人,比如"大肥鱼")
- 选会话:「在哪个会话里生效」—— 只有这个会话里会判断和注入(心情本身是全局一份,跨会话共享)
- 聊两句:回去看这一页,心情应该动了;右下角挂饰也会跟着变
六、设置页里每一项是干什么的
| 项 | 作用 | 建议 |
|---|---|---|
| 当前心情 | 五档表情 + 数值 + 标签 + 最后一条理由 + 时间 | 就看看 |
| 重置到基线 | 把心情拉回基线、七根情绪清零、清空时间线 | 想重新开始的时候点 |
| TA 叫什么 | 写进判断提示词,理由里出现的就是这个名字 | 换成你自己的称呼 |
| TA 自己叫什么 | 同上,判断时"你是谁" | 换成你伙伴的名字 |
| 在哪个会话里生效 | 只在选中的会话里判断和注入;下拉里是真会话(跳过归档和空会话) | 选你平时跟 TA 聊天的那个 |
| 判断用哪个模型 | 心情判断这一次小调用用哪个 provider / 模型。留空 = 跟着当前会话的模型走;想更准就指到更强的,想省钱就指到便宜的 | 判断出错多 → 换强一点的;嫌贵 → 换便宜的 |
| 每轮判断心情 | 总开关。关掉 = 完全不判断、不改数值、不花判断的钱 | 想省钱、或者不想记录的时候关 |
| 把当前心情注入对话 | 关掉 = 她不会被心情影响口气,但挂饰照常显示 | 只想"看"不想"影响"的时候关 |
| 基线心情 | 没情绪时回落到多少(30–100) | 想要她平时更开朗 → 调到 75~80 |
| 心情下限 | 最低能掉到多少(0–100),0 = 不设底线 | 怕她太低 → 设 30 |
| 完整记录 | 最近 40 条:时间 / 心情值 / 变化 / 理由 | 回看心情是怎么走到今天的 |
所有设置改完立刻生效,不用重启、不用改文件。
七、右下角的挂饰
- 点一下:展开面板 —— 五档表情、心情值、七根情绪各多少、完整时间线
- 按住可以拖,拖到你觉得舒服的位置
- 五档表情跟着心情换:
| 心情值 | 表情 |
|---|---|
| ≥ 80 | 欢喜 face-great.png |
| 62–79 | 开心 face-good.png |
| 42–61 | 一般 face-ok.png |
| 25–41 | 心疼 face-worry.png |
| < 25 | 难过 face-sad.png |
八、常见问题
心情一直不动? 先去设置页「完整记录」看最后一条是什么时候 —— 三种可能:① 会话选错了 ②「每轮判断心情」关了 ③ 这几轮真的没变化(无变化不记账)。
理由写得像"被叫起来干活",但她明明是来找我说话的?
旧版把 speak-up(她自己主动搭话)当成定时任务了,0.2.0 已修:现在分「你自己搭话 / 定时干活 / 你说话」三种口径。
"关掉判断"和"关掉注入"有什么区别? 判断 = 算不算这一次心情(花钱那步);注入 = 算出来的心情要不要影响她说话。两个可以分开。
换了伙伴 / 换了名字? 设置页改两个称呼就行,不用重装。
九、换掉示例图片
assets/ 里就是那五张表情 + 一张形象图,换成你自己的图,文件名保持不变就能用:
assets/face-great.png 448×352 建议
assets/face-good.png
assets/face-ok.png
assets/face-worry.png
assets/face-sad.png
assets/feiyu.png 挂饰用的形象图(正方形最好是 PNG 透明底)
十、数据在哪(不上传任何地方)
<DSH_HOME>/feiyu-mood/:
| 文件 | 内容 |
|---|---|
state.json | 当前心情、七根情绪、完整时间线 |
config.json | 上面那些设置 |
diag.log | 判断日志:哪一轮、判成什么、为什么没记账 |
全部在你自己电脑上,插件不联网、不往任何服务器传东西(判断那一步走的是你自己的模型 provider)。
十一、许可
MIT。
Comments
Loading…
From the same category
by awesome-dsh-plugin
A curated list of plugins for DeepSeek Harness (dsh) · DeepSeek Harness 插件精选列表
★ 19.8k
CC0-1.0
Python
Oct 20, 2026
by 0xsline
DeepSeek Harness (DSH) ecosystem: curated plugins, tools, and infrastructure from dsh-external/hub and the public dsh-plugin topic.
★ 1.2k
CC0-1.0
Python
Oct 16, 2026
by pax-beehive
Open-source CLI, schemas, resolver, and DSH agent tools for DSH Plugin Hub
★ 386
MIT
TypeScript
Oct 20, 2026
by xiajiajun516
DeepSeek Harness (DSH) backup & restore plugin — export, import, migrate and sync your complete DSH configuration, plugins, MCP servers, skills and workspace. One-click migration to another machine.
★ 217
MIT
TypeScript
Oct 18, 2026
dsh plugin --profile web add dsh-config-managerby yjh051108
推荐组件(非必须):DeepSeek Harness 运行时注入器;已随 dsh-routing-suite 单仓库化保留,本仓库继续维护/发布。
★ 165
TypeScript
Oct 16, 2026
dsh plugin --profile web add @dsh-external/dsh-super-injectorby jigjoy-ai
A CLI that turns a goal into a pull request - and a sandbox for testing concurrent AI coding agents on the Mozaik runtime.
★ 124
MIT
TypeScript
Oct 13, 2026