dsh-time-pin:为 DSH 对话钉住「截至时点」与证据时间窗

前言

在 DSH 里做历史复盘、政策变迁或「站在某一天」的推演时,常见问题是:模型默认按「今天」的知识与检索结果作答,web_search 也会拉回未标注日期的网页。你关心的是某个 as_of 前后一段区间内的可引用证据,而不是混进窗口外的材料仍被当作依据。

dsh-time-pin(Time Anchor / 时间锚定)由维护者 HenryHe520 发布,分类为工作流。它在会话级为每条对话加上 as-of 时点 与 检索区间(锚点前后两侧),组成证据窗 [as_of − before, as_of + after]。在受限模式下约束模型如何引用证据并过滤 web_search;默认模式下不向模型注入、也不过滤。插件以 MIT 许可证发布,仓库在 GitHub 上当前约 1 star。

这是什么

一句话:把智能体的「现在」钉在指定时刻,并为对话划定带日期的证据窗口(可覆盖过去、未来或公元前年份),而不是始终按当日知识作答。

宿主侧能力(命令、注入、证据过滤、静默任务旁白)可在任意交互式 Profile 使用;聊天标题栏上的 Time Anchor 控件需要 Web 或 Desktop 类 Profile。

说明: 资料中的坦诚声明强调,这是 证据隔离,而非抹除模型记忆。模型仍可能知道 as_of 之后的事件;插件约束的是 可作为证据使用的内容,并要求在受限窗下声明窗口,不能保证训练知识零泄漏。应以引用来源为准,而非模型自信度。

核心功能

下面能力均来自项目 README 与 package.json 说明。

能力 作用
钉住时间窗 标题栏控件与 /pin 命令设定 as_of 与前后检索范围;支持默认、过去、未来、公元前年份。
证据纪律(受限模式) 告知模型权威窗口、要求标注日期;未标注或窗外材料视为不可用;窗口内无可用证据时需说明。
过滤 Web 证据 web_search 来源若无日期或落在窗外会被丢弃,并向模型说明排除了哪些结果。
锚点回显 进入或更改受限窗后,模型首条回复须用一行确认当前窗口;缺失时最多提示一次,不阻断轮次。
静默任务旁白 长时间无输出的后台任务在约 90 秒后(之后每 3 分钟)产生确定性 [TIME FACT],供模型汇报进度;默认开启,与是否钉住时间窗无关,可在 Configure 关闭。

默认时间窗模式下插件不注入、不过滤;标题栏仍显示当前状态(例如英文 UI 下 Default · Unlimited,中文 UI 下 默认 · 不限)。

环境与安装

要求(README):

  • DSH 0.2.1-rc.x(文档写明在 0.2.1-rc.5 上构建验证)
  • Node.js >= 20
  • 需要标题栏控件时使用 Web 或 Desktop Profile

package.json 中 engines: dsh 为 >=0.2.1-rc <2。

插件按 Profile 安装,不会全局启用;安装或升级后 需重启 DSH 一次,Host 模块才会生效。之后可在 Plugins → Installed → dsh-time-pin → Configure 调整设置。

从 npm 安装

npm 包名 dsh-time-pin(README 写明 latest 为 0.1.0):

dsh plugin --profile desktop add dsh-time-pin

将 desktop 换成你实际聊天的 Profile(例如 web)。

从 Git URL 安装

dsh plugin --profile desktop add https://github.com/HenryHe520/dsh-time-pin

Web UI

Settings → Plugins → Add plugin,可粘贴包名、Git URL 或本地绝对路径(README 亦给出本地路径形式,此处从略)。

安装后重载会话视图;若标题栏芯片未出现,可刷新页面。

典型用法

快速上手

  1. 安装并重载后,标题栏出现 Time Anchor 芯片,默认模式无过滤。
  2. 在面板中设置,或输入命令钉住窗口:
/pin 2000-01-01 10年

只写一侧范围时会镜像到另一侧,即 2000-01-01 前后各 10 年,证据窗为 1990-01-01 … 2010-01-01。默认 promptLocale: zh 时,命令回执为「时间窗已更新:2000-01-01 · 前后各10年」并说明受限模式规则;promptLocale: en 时为英文回执。
3. 继续提问时,下一次模型请求携带窗口块;中文 UI 下首条回复应以 时间窗:2000-01-01 · 前后各10年 开头,web_search 仅保留该区间内 有日期 的来源。
4. 结束后清除:

/pin off

芯片回到默认 unlimited;模型会被告知证据窗已清除。

常用 /pin 变体

命令 结果
/pin 或 /pin status 显示当前模式与窗口
/pin 2000 钉在 2000-01-01,保留当前范围
/pin 2000-01-01 前10年 后5年 不对称前后范围
/pin 2000-01-01 前10年 后0 仅回看至锚点(0 可不带单位)
/pin 7天 保持默认时钟跟随的锚点,±7 天
/pin 3000-01-01 未来视角:须将推测与事实区分标注
/pin 公元前200年 前20年 公元前窗口(无公元 0 年)
/pin 不限 去掉范围,等同默认模式

/pin 是人类专用会话命令;模型可通过 time_pin_status 查看窗口,不能自行移动锚点。面板提交的命令行与手动输入共用同一套校验。

可在 Configure 中修改模型提示语言(promptLocale)与静默旁白阈值等,详见仓库 Configuration 章节。

适用场景与注意

较适合:

  • 需要在固定历史截面上讨论行业、政策或技术,并要求检索与引用落在明确日期区间内;
  • 希望 web_search 结果被约束在窗内、且模型首条回复显式声明窗口;
  • 长时间静默的后台任务需要确定性进度事实,而非模型猜测「是否还在跑」。

使用前注意:

  • 插件在 当前 DSH 进程的权限 下运行;安装前应阅读源码与 MIT 许可证,确认符合你的合规要求。
  • 社区目录 skillhub.cn 为独立站点,与 DeepSeek / 幻方无官方从属关系;DSH 生态理念是「一切皆插件」,本文安装命令以仓库 README 为准。
  • 受限模式不能替代人工审稿:窗外知识仍可能出现在生成文本中,应依赖带日期的引用与窗口规则,而非单靠插件「忘掉」之后的事件。

结尾

dsh-time-pin 把「截至哪一天、证据允许落在哪段区间」变成会话内可配置、可回显、可过滤检索的状态,适合工作流里需要 时间锚定 + 证据窗 的问答与推演。目录与源码:

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

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

小夜