DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

Vansnc /

Vansnc/dsh-feiyu-life

Verified

大肥鱼的生活线(DSH 插件):按校历、课表、作息算出现在在干什么,注入两行上下文,带设置页。

★ 0 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHubProject homepage
READMESource: main@456c7a34

dsh-feiyu-life · 鱼的生活线

npm license node

给她一条自己的时间。

她原来永远在线:你什么时候说话,她什么时候在。心情也只由对话决定。 这个插件补的是另一半:今天是什么日子、这会儿在干什么、手机在不在手上、身上还压着什么小事。

每轮组装提示词时注入两行,长这样:

(此刻)上课,手机静音。
(今天)国庆,放假;昨晚两点才睡,有点懵。

设置页在 设置 → 鱼的生活线,六个页签:此刻 / 年度 / 课表 / 作息 / 身体 / 事件。


它怎么算(四层)

年:学期 · 寒暑假 · 考试周 · 节日        ← 决定今天走哪张作息表
周:课表(只写在学期里有课的日子)
日:作息表切段(日常 / 晚起 / 假期 / 备考)
刻:此刻命中哪一段 + 这一小时的身体感觉 + 偶尔的小动作

优先级:特殊(考试周)> 假期 > 放假节日 > 学期。 落在假期或放假的节日里,自动走假期作息、不上课。

关于"同一时刻算出来一样"

早先只按日期做种子,同一天里的每一分钟都一模一样,读着像背日程表。0.2.0 起分三层变:

层 变什么 按什么抽
日 今天可能"没按表走":躺平日 / 出门日 / 翘了下午的课 日期
小时 这一小时的身体感觉:坐不住 / 眼睛发干 / 想喝冰的 日期 + 小时
十分 临时小动作:去接水 / 拿快递 / 等外卖(概率 7%) 日期 + 十分钟

所以同一分钟问两次答案一样,过了这一小时再问就不一样了 —— 跟你问真人"在干嘛"是一个道理。 三类偏离的概率都在设置页里,调成 0 就永远按表走。

它不做什么

  • 不调模型:纯本地计算,一分钱不花。
  • 不给工具:没有一个叫 life_now 的按钮 —— 她是人,不是能查自己状态的程序。
  • 不写会话日志:配置和计算都在插件自己这边,重启不丢也不脏。
  • 不碰别的插件:只往 systemPrompt.context 加一段。

设置页

页签 能改什么
此刻 现在注入给她的两行 + 「为什么这么算」(今天落在哪段、走哪张表、命中了哪一段);选个时间点可以预览别的日子
年度 学期 / 假期 / 特殊(考试周)三段起止;节日分"每年都过"和"只那几天"(后者按放假处理)
课表 周一到周日,每段 起 / 止 / 在干什么 / 手机状态
作息 日常 / 晚起 / 假期 / 备考四张表;以及哪几天的早上能睡到中午
身体 经期(起始 / 周期 / 天数)、三类"不按表走"的概率
事件 一天里可能发生的小事:段(上午/中午/下午/晚上)、内容、条件(早课)

改完点「保存」,宿主立刻用新配置算下一轮(配置文件按 mtime 热更,不用重启)。

装完或改过插件代码之后,刷新一下页面才能看到设置页 —— 浏览器那份模块是随页面加载的。

配置

文件:~/.dsh/feiyu-life-config.json(也可以手改,存盘即生效)。

{
  "总开关": true,
  "时区": "Asia/Shanghai",
  "经期": { "起始": "2026-11-05", "周期": 29, "天数": 5 },
  "校历": {
    "学期": [{ "名": "2026 秋季学期", "起": "2026-09-07", "止": "2027-01-17" }],
    "假期": [{ "名": "寒假", "起": "2027-01-18", "止": "2027-02-21", "作息": "假期" }],
    "特殊": [{ "名": "期末周", "起": "2027-01-04", "止": "2027-01-17", "作息": "备考" }]
  },
  "节日": [{ "名": "元旦", "月": 1, "日": 1 }, { "名": "国庆", "起": "2026-10-01", "止": "2026-10-07" }],
  "日常": [["00:00", "01:30", "躺床上刷手机", "在手"]],
  "晚起": [], "假期": [], "备考": [],
  "晚起日": [4],
  "课表": { "1": [["08:00", "11:30", "上课", "静音"]] },
  "事件池": [["下午", "图书馆抢到靠窗的座"], ["上午", "早八差点睡过去", "早课"]],
  "偏离": { "躺平日": 0.12, "出门日": 0.1, "翘下午课": 0.08 }
}
  • 工作区 是数组:只在这些目录的会话里注入(前缀匹配)。留空 = 所有顶层会话。 别的活儿(写代码、查资料)不该看见「你在上课」时,把它填成 ["/home/ubuntu/dsh-agentchat"]。
  • 手机状态只有四个值:在手 / 静音 / 在床头 / 不在手边。
  • 作息表里必须有一段含「睡着」,早上几点起是从那段的结尾算的。
  • 事件池的第三项是条件,目前支持 早课(那天有早八才可能抽到)。

安装 / 更新

dsh plugin --profile web add dsh-feiyu-life

装完刷新一下页面,设置里就有「鱼的生活线」。

更新要先卸再装(直接装可能拿到缓存里的旧副本):

dsh plugin --profile web remove dsh-feiyu-life
dsh plugin --profile web add dsh-feiyu-life

本地开发(改代码要立刻生效)

用 link: 直接指工作区目录:

dsh plugin --profile web add /absolute/path/to/dsh-feiyu-life

⚠️ 这时要把 cordis.patch.yml 里的 name: 从包名换成该目录下 index.js 的绝对路径 —— 客户端那半是拿"挂载行的模块名 + 解析基址"去找 package.json 的,若按包名从工作区目录往上找 不到 node_modules,它会静默跳过,设置页就永远不出现。改成路径后走 nearestPackage,直接命中。

改完代码要生效:在插件页卸掉再装一次(模块是加载时读的,不是每次都读盘)。

已知边界

  • 只管"在干什么",管不了"要不要回":上课时收到消息还是会回,只是知道自己在课上。
  • 工作区过滤已做:工作区 留空仍然全注,填上就只注那几个目录。
  • 子代理不注入:只挂在 agents.roots(),刷 B 站那种分身看不见本体在不在上课。
  • 节日是公历表:农历节日(春节、中秋)按你这几年实际的日期填成"只那几天"。

反馈

  • 装不上 / 用不对:先看上面的「排错」和「已知边界」;
  • 还是不行就开 issue,按模板把版本和日志带上;
  • 想改代码看 CONTRIBUTING.md。
—/ 5

No ratings yet

Verified DSH bundle

Commit 456c7a34dd54

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout