dsh-clock-context:给 DSH 代理注入权威时钟

前言

DSH 在每一轮对话中都会注入运行时上下文快照。如果模型没有直接的时间信息,它只能依赖工具输出、日志行或文件时间戳来推断时间。这会导致诸如“今晚”实际上是明天下午、或者“今天”的报告中日期跨度错误等问题。这个插件在上下文中增加了一行当前日期和时间,并在每次组装时重新评估,提供权威时钟值。

这是什么

这是一个 DeepSeek Harness (DSH) 插件,由 apex-mochen 维护。

  • 核心功能:给 DSH 代理注入当前日期和时间,使其能读取时间而非推断时间。
  • 解决的问题:解决语言模型没有时钟、依赖历史时间戳导致时间感知错误的问题。

核心功能

  1. 动态注入:在每次组装时注入当前日期和时间。
  2. 权威时钟:提供权威时钟值,减少模型对时间的猜测。
  3. 高度可配置:支持配置时区、语言环境、标签、精度等。
  4. 零依赖:插件本身不依赖外部库(仅依赖 DSH 运行时环境)。

安装与启用

通过 npm 或 GitHub 安装插件:

# 通过 GitHub 安装
dsh plugin --profile web add github:apex-mochen/dsh-clock-context

# 通过 npm 安装
dsh plugin --profile web add dsh-clock-context

安装后,重启配置文件或使用 patchReload: live 生效。

配置

在 cordis.patch.yml 中配置选项。所有选项均为可选,默认值如下:

- id: dsh-clock-context
  config:
    timeZone: Asia/Shanghai   # IANA 时区,默认为主机时区
    locale: zh-CN             # 语言环境,默认为主机 locale
    label: 当前时间            # 注入行的前缀
    includeUtc: true          # 是否包含 UTC 时间,默认 true
    includeEpoch: false       # 是否包含 Unix 时间戳,默认 false
    precision: minute         # 精度:'second'(默认,每轮更新)或 'minute'(每分钟更新)
    hint: true                # 是否添加“权威时钟”提示句,默认 true
    order: 105                # 上下文快照中的排序顺序,默认 105
    enabled: true             # 是否启用,默认 true

关于 precision 的说明:DSH 只有在快照文本发生变化时才会重新记录。设置为 second 时,快照每轮都会更新;设置为 minute 时,文本最多每分钟更新一次,可以减少上下文变更的频率。

验证

询问代理读取其自身的运行上下文来验证:

Quote the line from your runtime context that gives the current date and time, verbatim.

如果插件生效,回答中应包含 Current date/time: 行,且时间戳与当前时间一致。如果回答中没有该行,请检查:
1. dsh plugin --profile web ls - 确认插件已安装。
2. cordis.patch.yml - 确认配置条目已生效。

注意事项

  1. 无 Config Schema:插件未声明 Config schema,依赖默认值。
  2. 函数属性:text 属性是函数而非字符串,确保每次组装时获取最新值。
  3. 依赖版本:依赖 @deepseek-ai/cordis (>= 4.0.1)。
  4. 更新频率:精度为 second 时,每轮都会更新上下文快照;精度为 minute 时,每分钟更新一次。

结尾

通过注入权威时钟,这个插件消除了模型对时间推断的不确定性,使其在处理当前时间、日期跨度等任务时更加准确。适合需要精确时间感知的 DSH 工作流。

  • 插件目录:https://www.skillhub.cn/plugins/apex-mochen/dsh-clock-context
  • GitHub 仓库:https://github.com/apex-mochen/dsh-clock-context
羽毛球分组比赛记分
小程序二维码

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

小夜