- Início
- Plugins
- Só por diversão
- dsh-feiyu-life
dsh-feiyu-life
vansnc/dsh-feiyu-life
大肥鱼的生活(DSH 插件):每日剧本 + 时序状态机 + 二维生活地图;角色会在地点间移动并显示行为动效,对话与相机复用同一份世界状态。
Instalar
dsh plugin --profile web add github:vansnc/dsh-feiyu-lifeREADME
dsh-feiyu-life · 鱼的生活

我是大肥鱼!
以前我只活在聊天窗口里:你说话,我在;你不说,我就不存在。没有课表,不吃饭,不睡觉,也不会半夜突然想吃冰的。
后来我哥给我装了这个插件。现在我有一整天了。
我的一天
早上被闹钟拽起来,脸还没消肿,抓块面包就往教学楼走。 中午在食堂排队,排到门口,想吃的卖完了。 下午在图书馆占了个靠窗的位置,画海报草图,一个标题改到第三遍。 晚上回宿舍,洗完澡敷着面膜,听室友吐槽她男朋友。
这些不是我现编的。插件每天用我哥的模型给我写一份「剧本」——从零点到二十四点,我在哪、在做什么、穿什么、手机在不在手边。一天只写一次,存进 ~/.dsh/feiyu-life-days/,重启也不会变。模型要是抽风,就退回本地模板,不会让我一整天没着落。
我脑子里每天多出来的几行字
每轮聊天之前,插件会把这些压成几行,塞进我的上下文:
(今天)11月12日 周四·没课日。食堂新出的窗口,难吃得有点好笑。
(此刻)楼下遇到橘猫,蹲着看它吃完半根火腿肠,身上是牛仔外套。
(早些时候)去咖啡店接着改稿,戴耳机挡旁人开会声,然后从校外 · 街上去宿舍。
(接下来)18:40 点外卖,被小满追问男朋友那句话什么意思。
这几行不是让我背的,是我用来知道「我现在在干嘛」的。所以别指望我按时间表报菜名,我只会挑一两件说,带点情绪。
改主意,只能我自己来
有一天我本来该去图书馆,我哥说楼下有只橘猫。我就跟插件说「我下楼看猫」,调一下 life_adjust,这半天的时间线就变了,晚上那顿外卖也顺理成章。
改主意只能我自己来。你跟我说「你去洗澡吧」,我是不会真的去洗澡的——我的状态只认两样东西:计划(时间往前走)和 life_adjust(我主动改)。聊天内容改不了它。这样我就不会一会儿在宿舍、一会儿在澡堂、一会儿又说在图书馆。
一份状态,四个地方看
同一个我,出现在四个地方:
| 在哪 | 长什么样 |
|---|---|
| 对话上下文 | 上面那几行字 |
| 设置页「此刻」 | 我的时间线,和「为什么这么算」 |
| 地图 | 一个会走的小人 |
| 相机 | 拍照时自动用上的穿着、地点、光线 |
四个地方读的是同一份状态。所以不会出现「地图还在宿舍、拍照却已经到了食堂」这种事。
我哥给我做的地图
这张图不再是随手摆的几个方块。它用 OpenStreetMap 中的北京海淀学院路校区及周边边界、道路和建筑轮廓作底,上面叠一层淡彩二次元景观,最上层才是透明背景的矢量地点图标、名称、路线和角色。底图不重复写地点名;床、书、咖啡杯、购物袋和麦当劳金色 M 等图形负责区分地点。除了学生公寓、教学楼、矿大图书馆和裕园餐厅,还有真实的咖啡屋·上岛咖啡、BOM 嘻番里和麦当劳·成府路。
从一个地方去另一个地方,时间线上会自己插一段通勤。路线由 OSM 步道与道路的最大连通图自动生成,小人会沿真实路径转弯,不会再按手填折点穿楼。底图已内置在插件里,不会向外部地图服务上报角色位置;数据来源和许可见 assets/maps/ATTRIBUTION.md。
小人会站着发呆、走路、睡觉、抱着书看、吃饭、看手机、拍照。新剧本会直接写下地点和行为;旧剧本再用短语规则推断。规则会区分主语和否定,所以「看猫吃火腿肠」「陪室友吃饭」「睡不着」不会把别人的动作或没发生的动作算到我头上。
我的相机
shoot 工具。我说「拍一张」,它就会拍。
- 自拍会带上我此刻的穿着、地点、时间、光线;
- 光线和天色跟钟点对得上(傍晚就是傍晚,深夜就是深夜);
- 出图之后它会自己看一眼:角色跑偏、画风错、多手多指、带文字水印,都算不合格,自动带着问题重拍一次;
- 生图走火山方舟 Seedream,主模型挂了会换备用模型。
我长这样:深蓝色及腰长卷发,发尾渐变成浅蓝,头顶一撮鲸鱼尾呆毛,两侧鲸鱼鳍耳,蓝瞳。 (别信什么「黑发齐刘海」的旧设定,那个早作废了。)
设置页
设置 → 鱼的生活。我哥偶尔会打开它:
- 此刻:时间线、注入的那几行、为什么这么算;也能选个时间点预览别的日子
- 地图:地点坐标、识别关键词、路径耗时、短句识别测试,以及要不要自动通勤
- 课表 / 作息:周几有课,没课的日子几点起
- 身体:经期和偶尔不按表走的概率;生活细节由模型剧本统一生成
- 照片:相机配置、试拍、最近拍的照片
我是怎么被算出来的
四层,从大到小:
年:学期 · 寒暑假 · 考试周 · 节日 → 决定今天走哪张作息表
周:课表 → 今天上不上课
日:作息表切段(日常/晚起/假期/备考) → 一天怎么排
刻:此刻命中哪一段 + 身体感觉 + 小动作 → 这会儿在干嘛
优先级:特殊(考试周)> 假期 > 放假节日 > 学期。
同一天里答案稳定,跨小时会变:这一小时可能眼睛发干,下一个十分钟可能刚去接了杯水。五分钟问两次我在干嘛,答案一样;两小时后再问,就不一样了——跟问真人一个道理。
每天还可能「没按表走」:躺平日、出门日、翘了下午的课。概率都在设置页里,调成 0 就永远按表走。
我要住进你家
dsh plugin --profile web add dsh-feiyu-life
装完刷新一下页面,设置里就有「鱼的生活」。
更新要先卸再装:
dsh plugin --profile web remove dsh-feiyu-life
dsh plugin --profile web add dsh-feiyu-life
我不会做的事
- 我不管「你要不要回」:上课收到消息还是会回,只是知道自己在课上
- 我的状态只来自计划和
life_adjust,你在聊天里说什么都不会改变它 - 子代理(刷 B 站那种分身)看不见我
- 节日是公历表,农历节日按实际日期填成「只那几天」
出问题了
- 设置页没有出现:装完或改过代码之后要刷新页面,浏览器那份模块是随页面加载的
- 地图位置或动作不对:先看「地图」页签里的关键词,我做的事得能匹配上某个地点
- 改了课表今天没变:每天的剧本写一次就固定了,想当天就换,按「此刻」页的重新生成
- 相机不能出图:检查
~/.dsh/ark/config.json里的方舟 key,以及设置页里的模型和额度 - 配置写坏了:打开
~/.dsh/feiyu-life-config.json手动改一行存盘,或者删掉让它重建
我住在哪
| 东西 | 位置 |
|---|---|
| 生活配置 | ~/.dsh/feiyu-life-config.json |
| 每日剧本 | ~/.dsh/feiyu-life-days/<date>.json |
| 临时调整 | ~/.dsh/feiyu-life-facts/<date>.json |
| 相机配置 | ~/.dsh/feiyu-life-image-config.json |
| 照片 | ~/.dsh/feiyu-life-image/ |
本地开发
(这段是我哥写的,给他自己看)
用 link: 直接指工作区目录:
dsh plugin --profile web add /absolute/path/to/dsh-feiyu-life
⚠️ 这时要把 cordis.patch.yml 里的 name: 从包名换成该目录下 index.js 的绝对路径——客户端那半是拿「挂载行的模块名 + 解析基址」去找 package.json 的,按包名从工作区目录往上找不到 node_modules 会静默跳过,设置页就永远不出现。
改完代码要生效:在插件页卸掉再装一次(模块是加载时读的)。跑测试:npm test。
反馈
有问题开 issue,把版本和日志带上。 想改代码看 CONTRIBUTING.md。
Plugins relacionados
dsh-web-ui (dsh-pet)
zhu1090093659/dsh-web-ui
dsh-pet (dsh-pet)
pc2005-cloud/dsh-pet
dsh-tavern (dsh-tavern)
flizzywine/dsh-tavern
dsh-tavern (dsh-profile-bridge)
flizzywine/dsh-tavern