前言¶
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 的機制。