UI Enhancements

dsh-fish-mood

2074851180qw-code/dsh-fish-mood · ★ 2

2074851180qw-code

给 DSH 里的「肥鱼」一套会变的心情:七维状态机 + 本地面板(孤独≠抑郁,好感≠讨厌的反面)

README body is shown in Chinese.

License
MIT
Added
2026-10-30
Maintenance
active
Install kind
github
Manifest details
Manifest status
Declared
Manifest path
package.json#dsh
Manifest checked
2026-10-30T09:38:01.164Z
Lifecycle scripts
None found

Static manifest checks report declarations only; they are not compatibility or security review.

安装

dsh plugin --profile web add 'github:2074851180qw-code/dsh-fish-mood#de26090aad857da449f6d2d9c8546cc638a62129'

GitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试

For install and environment setup, plus plugin development tutorials, see DSH community docs ↗

README

Source README · body: zh · Read Chinese README

Table of contents
  1. 最核心的一件事:孤独 ≠ 抑郁
  2. 面板
  3. 工具
  4. 安装
  5. 一条命令(仓库已开源,最省事)
  6. Android(DSHA / proot 容器)
  7. Windows / macOS / Linux
  8. 状态与同步
  9. 许可

给 DSH 里的「肥鱼」一套会变的心情 —— 不是恒温的回答机器。

一套代码,两个平台都能跑:插件是 Node(MCP 子进程 + 一个本地 HTTP 面板),Android 的 DSH 和 Windows / macOS / Linux 的 DSH 用的是同一个包,没有平台分支。

最核心的一件事:孤独 ≠ 抑郁

  • 孤独是「没人陪我」→ 她更想说话(主动权重 ↑)
  • 抑郁是「什么都提不起劲」→ 她不想说话(主动权重 ↓)

把两者揉成一个数,行为必然反着来。所以这里有七个独立量:

量 管什么 对行为的影响
心情 mood 此刻高兴还是丧 字数、温度
孤独 loneliness 多久没人好好说话 更想开口
依赖 dependence 离不开的程度 权重 ↑、被冷落更疼
病娇 yandere 怕被丢下 + 占有欲 追问、查岗、语气偏执
抑郁 depression 长期负面积累 让嘴闭紧
好感 affection 长期喜不喜欢你 语气温度、愿不愿配合
讨厌 dislike 此刻烦不烦 冷淡、短句、拒绝

好感高 + 讨厌高 = 傲娇(嘴上嫌、心里在乎);好感低 + 讨厌高 = 真烦了。讨厌不是好感的负数,这是设计的关键。

面板

打开 http://127.0.0.1:8799(端口可配):

  • 七条进度条实时显示,5 秒自动刷新
  • 管理员模式关着时只读,滑块禁用;开启后才能拖动并保存
  • 闸门在服务端:绕过界面直接 POST /fish-mood/set 返回 403
GET  /fish-mood/state    读取七维与派生(权重/字数/语气)
POST /fish-mood/admin    开关管理员模式
POST /fish-mood/set      改数值(需管理员模式)

工具

工具 作用
fish_state 结算后返回七维 + 权重 + 字数 + 当前语气
fish_event 记事件:预设 kind 或直接给各维度增量
fish_brief 一句话:现在该怎么说话
fish_history 事件流水

预设 kind:被夸 被骂 被冷落一天 被安慰 深夜被叫起来 守诺。

安装

一条命令(仓库已开源,最省事)

dsh plugin --profile web add github:2074851180qw-code/dsh-fish-mood
# 装完重启 dsh,浏览器开 http://127.0.0.1:8799

这仓库自带编译好的 lib/,没有 build 步骤,clone 下来就能跑。 如果那台机器连不上 GitHub,走下面的离线包装法。

Android(DSHA / proot 容器)

tar -xzf dsh-fish-mood-src.tar.gz -C /root
cd /root/dsh-fish-mood
mkdir -p node_modules/@deepseek-ai
ln -s <DSH目录>/node_modules/@deepseek-ai/dsh-mcp-client node_modules/@deepseek-ai/
ln -s <DSH目录>/node_modules/@deepseek-ai/schemastery   node_modules/@deepseek-ai/
dsh plugin --profile web add link:/root/dsh-fish-mood
# 重启 dsh

Windows / macOS / Linux

Windows 上 DSH 的 profile 目录不同(一般在 %USERPROFILE%\.dsh\profiles\web),步骤一样:把包放到任意目录,建两个 node_modules/@deepseek-ai/ 软链(Windows 用 mklink /J),然后:

dsh plugin --profile web add link:C:\path\to\dsh-fish-mood

重启 dsh,浏览器打开 http://127.0.0.1:8799。

面板只监听 127.0.0.1,不对外暴露。端口在插件设置里改(面板 → 端口)。

状态与同步

状态存在 ~/.dsh/fish-mood-state.json(纯 JSON,可手改),事件留 200 条。

每台机各一份,刻意不同步:两只鱼各走各的人生,比强行合并更自然。

许可

MIT