dsh-time-context:为 DSH 模型注入当前时间与上条消息时效

前言

在 DSH 里和模型对话时,用户常说「昨晚」「刚才」「早上说的那件事」——模型本身没有时钟,若 prompt 里没有可核对的时间事实,只能猜相对时间,容易答偏。Skill 还要模型记得去调用,稳定性不够。下面介绍的 dsh-time-context 走插件路径:在每次组 prompt 时自动写入当前本地时间与上一条用户消息的时间关系,让模型对照事实解析相对时间词,而不是凭空推断。

这是什么

dsh-time-context 由 JessenReinhart 维护,归类为模型推理相关插件。一句话定位:为 DSH 模型做时间锚定(Temporal grounding)——在每次 prompt 组装时注入动态的 runtime-context,包含精确的当前本地时间(日期、钟点、星期、时区、时段),以及用户上一条消息的时间戳、日与消息之间的相对关系、距今间隔;并附带稳定的 system-prompt 片段,引导模型用这些事实理解「last night」「this morning」「a while ago」等表述。

与「只靠 Skill 让模型自己查时间」相比,本插件注册在 DSH 原生的 systemPrompt.context() / systemPrompt.section() 注册表里,事实随每一次请求自动进入 harness 的 runtime-context 快照(新快照覆盖旧快照,避免重复堆叠)。

核心功能

自动注入的时间块

每次 prompt 组装都会收到一块 runtime-context,其中包括:

  1. 当前本地时间:日期、时钟、星期、时区、 day-part(时段)。
  2. 上一条用户消息的时间信息:时间戳、与「今天」的日关系、recency gap(距现在多久)。
  3. 跨会话与重启:上一条消息可以来自更早的会话,或在应用重启之前;插件会尽量保持连贯,而不是只认当前窗口内的最后一句。

事实来源(Ground truth)

README 中说明插件依赖以下数据来源,而不是让模型「感觉」现在几点:

来源 作用
agent/inbox/inserted 进入 agent inbox 的实时用户消息
api-session/activity(sessionId, updatedAt) 可持久化的用户消息时间戳
~/.dsh/time-context/state.json 本地 ledger,重启后仍保留,例如早上打开仍能知道「昨晚聊过」

命令:查看当前注入内容

在 DSH 中可使用:

/time

用于打印当前会写进 prompt 的那一整块时间上下文,便于调试或确认时区、上条消息间隔是否符合预期。

安装与启用

资料中的安装说明强调:插件已接入 DSH Desktop 的 profile bundle(dsh.profile.bundles),不是单独的 dsh plugin add … 一行命令。若你在本地改动了插件或 profile 配置,需要重启 DSH Desktop,让 bundle 行重新加载。

使用前请确认环境满足 package.json 要求:Node.js >= 20。插件版本在资料中为 1.0.0,许可证 MIT。

安装或启用前,建议自行阅读 GitHub 仓库 源码与许可证;插件在当前 DSH 进程权限下运行,会读写 ~/.dsh/time-context/state.json 并订阅会话活动,权限与数据范围应与你的部署策略一致。

典型用法

  1. 在 Desktop profile 中确保 dsh-time-context bundle 已启用(按你当前的 DSH Desktop 配置方式操作)。
  2. 重启 DSH Desktop,使 bundle 生效。
  3. 正常与 agent 对话;无需每轮手动触发 Skill,时间块会随请求自动注入。
  4. 若回答里对「刚才 / 昨晚 / 今天早上」的理解可疑,在会话中执行 /time,对照输出里的当前时间与 previous message 相关字段是否与你预期一致。

资料未提供额外 YAML 配置项示例;行为主要由插件注册与上述 ground truth 链路决定。

适用场景与注意

适合谁

  • 做个人助理、日程回顾、跨天续聊时,希望模型把「相对时间口语」对齐到真实时钟与上一条消息间隔的 DSH 用户。
  • 希望时间事实默认进 prompt、不依赖模型是否记得调用某个 Skill 的场景。

注意

  • 时区与「本地时间」取决于运行 DSH 的环境;多机或多容器部署时,应保证时钟与时区配置一致,否则「昨晚」的边界可能和用户主观不一致。
  • 上一条消息时效依赖 inbox / session activity 与本地 ledger;若某条消息未进入这些链路,recency 可能不完整——可用 /time 核对注入结果。
  • 社区目录 SkillHub 插件页 为独立站点,与 DeepSeek / 幻方无官方从属关系;星标与传播数据以各站点当时展示为准(资料中 GitHub 星标为 0)。

结尾

dsh-time-context 把「现在几点」和「上一条用户消息距今多久」变成每次请求里固定的 runtime-context,用插件注册表自动送达模型,减少相对时间词上的幻觉。若要进一步了解分类与简介,可看目录页;实现细节与 bundle 说明以 GitHub README 为准。

  • 目录页:https://www.skillhub.cn/plugins/JessenReinhart/dsh-time-context
  • GitHub:https://github.com/JessenReinhart/dsh-time-context
羽毛球分组比赛记分
小程序二维码

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

小夜