前言¶
在 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 亦给出本地路径形式,此处从略)。
安装后重载会话视图;若标题栏芯片未出现,可刷新页面。
典型用法¶
快速上手¶
- 安装并重载后,标题栏出现 Time Anchor 芯片,默认模式无过滤。
- 在面板中设置,或输入命令钉住窗口:
/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 把「截至哪一天、证据允许落在哪段区间」变成会话内可配置、可回显、可过滤检索的状态,适合工作流里需要 时间锚定 + 证据窗 的问答与推演。目录与源码: