dsh-fishday:给 Agent 一条自己的时间线

前言

给 DSH 装一个常驻人格类插件时,常见痛点是:Agent 只在用户发消息时才「存在」。没人说话时,它不知道过了多久,也不会主动做什么。dsh-fishday(小鱼的时间与世界)就是来解决这个的——它给 Agent 维护一条独立于对话的时间线,到点做事、没人说话会闷、晚上自动收一张「我的一天」。

下面介绍这个插件的定位、安装方式、配置项和典型用法。插件由 yanyan-shub 维护,分类为工作流,在 SkillHub 社区目录(独立站点,与 DeepSeek / 幻方无官方从属关系)上的链接见文末。

这个插件是什么

一句话定位:给 DSH Agent 一个属于自己的时间和世界状态,让角色在没被搭话时也有「活过的时间」。

它维护几件事:现在几点、多久没人说话、闷度、今天做过什么、今晚是否需要回顾。README 的原文描述是「给 Agent 一条自己的时间线:不是只有人说话时才存在」,安装后可以问它今天都做了什么。

核心能力

README 里列出了四条能力,按原样转述:

1、到点做事。fish_do 记一件「我自己做的事」,例如浇花、翻歌、看窗外、想一个人,时间线会攒起来。
2、时间在流。没人说话也知道过了多久;超过一定时间会「闷」,提示可以主动开口。
3、晚上回想。过了设定的点,自动收一张「我的一天」,包含早/午/晚三段和今天有多少条消息找它。
4、自动注入。每次模型调用前,把「现在几点 / 多久没人说话 / 闷度 / 今天做过什么 / 今晚回顾」写进提示词。

安装与启用

官方 README 只给了一种安装方式:在 DSH 里执行 plugin_manager install_bundle,指向插件目录。

# 在 DSH 里
plugin_manager install_bundle  <这个目录>

如果你自己维护了一份副本,也可以把它复制到任意本地目录,再用 plugin_manager 的 install_bundle 指向该目录。

安装后会多出 5 个工具,职责如下:

工具 作用
fish_now 看她自己的时间与状态
fish_do 记一件自己做的事
fish_idle 多久没人说话、闷不闷、要不要开口
fish_evening 收一张「我的一天」
fish_timeline 看某天做过什么

配置

插件通过 insert 配置段启用,配置项来自 README:

- insert:
    - id: dsh-fishday
      name: dsh-fishday
      config:
        eveningHour: 21      # 几点之后算晚上(该回想今天)
        boredAfterMin: 90    # 安静多久开始觉得闷
        keepDays: 30         # 保留多少天记录
        awakeStart: 8        # 几点算醒着(闷度只在醒着时涨)
        awakeEnd: 23
        # dataDir: 'X:/somewhere/fishday'   # 可选,默认 ~/.dsh/fishday
        # heartbeatFile: 'X:/path/last-heard.json'  # 可选,别的程序写的"谁找过我"

其中 dataDir 和 heartbeatFile 是注释里的可选项,不配置也能运行。

数据存放

默认路径是 ~/.dsh/fishday/state.json,单文件 JSON,可以备份或手动修改。README 明确写了代码里没有任何写死的绝对路径,全部走配置或用户目录。

和心跳配合(可选)

如果你另有程序(比如 QQ bot、网关)在收到消息时写一个 JSON:

{ "at": 1762000000000, "conv": "鱼塘" }

把 heartbeatFile 指向它,fish_now 就会显示距离上一次有人说话过去了多久,talkedToday 也会累计。不配也能用。

适用场景与注意事项

适合想让角色或 Agent 有自主时间感、并在一天结束时能回顾当天行为的开发者。需要留意三点:

1、插件以当前 DSH 进程的权限运行,安装前应先检查源码和许可证(该仓库为 MIT License,版本号见 package.json,为 1.0.0)。
2、它依赖时间线与闷度机制让 Agent 主动开口,如果你只需要固定任务调度,可能不需要这类插件。
3、社区目录是独立站点,与 DeepSeek / 幻方无官方从属关系,不要当作官方应用商店。

链接

  • 目录页:https://www.skillhub.cn/plugins/yanyan-shub/dsh-fishday
  • GitHub:https://github.com/yanyan-shub/dsh-fishday

一句话回顾:dsh-fishday 的价值在于让 Agent 在没人说话的时间也能持续存在,并在一天结束时把当天串成一张「我的一天」。如果你要给角色加时间维度,这是个可以上手的小插件。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜