前言¶
DeepSeek Harness (DSH) 的内置 @deepseek-ai/dsh-time-context 插件会在每次请求时注入约 280 个字符的元数据。这增加了上下文的冗余,并占用较多的 token 预算。
dsh-date-wrapper 是针对这一问题的解法。它将相同的日期信息压缩为 46 个字符,并改变了其注入位置:不再作为消息流发送,而是挂载到平台的运行时上下文快照(systemPrompt.context)中。这减少了数据量,并避免了额外的 JSONL 事件写入。
插件定位¶
dsh-date-wrapper 是一个 Cordis 主机插件。它将日期字符串(例如 “Current date: 2026-09-08 Asia/Shanghai Tuesday”)挂载到 DSH 的运行时上下文快照中。该插件由 drscrewdriver 维护,遵循 MIT 许可证,不需要修改 DSH 源代码或提交 PR 即可集成。
核心功能¶
- 挂载日期字符串到运行时上下文快照
插件会向 DSH 的运行时上下文快照中注入日期信息。 - 压缩元数据
将原本约 280 个字符的元数据压缩为 46 个字符(约 12 tokens),压缩率约为 84%。 - 无运行时依赖
插件运行不依赖任何外部运行时库。 - 不依赖
@deepseek-ai/dsh-time-context
这是一个独立的实现,不依赖 DSH 官方的dsh-time-context包。
配置与启用¶
插件随 cordis.patch.yml 一起发布。安装后,需在配置文件中定义插件并设置时区,重启服务即可生效。
cordis.patch.yml 示例:
- insert:
- id: date-wrapper
name: dsh-date-wrapper
config:
timeZone: Asia/Shanghai # IANA zone; omit to use the process zone
插件激活即开启,无需在设置面板中配置开关或额外参数。
版本兼容性¶
该插件兼容 DSH 的 0.1.x 线(artifact ≤ 0.2.0)和 0.2.0-rc.1+ 线(artifact ≥ 0.3.0)。
| DSH 版本范围 | Artifact 版本 | 使用的契约点 |
|---|---|---|
| 0.1.0-rc.7 ~ 0.1.7.x | ≤ 0.2.0 | systemPrompt.context |
| 0.2.0-rc.1+ | ≥ 0.3.0 | systemPrompt.context |
插件不注册设置命名空间,也不导出配置模式(Config),因此不提供设置面板的配置入口。
实现细节与注意事项¶
- 与原生插件的冲突:该插件与 DSH 自带的
@deepseek-ai/dsh-time-context功能重叠,不能同时使用。由于原生插件默认不安装,因此插件默认处于关闭状态。 - 无浏览器端:插件不包含浏览器端的
dsh.client实现,不涉及 DOM 或 CSS 语义 token。 - 无源码修改:插件通过 Cordis 插件机制实现,不修补 DSH 源代码。
- 时区处理:无效的
timeZone会在启动时抛出错误,没有静默回退到 UTC 的机制。