dsh-message-datetime:DeepSeek Harness 每輪時鐘上下文插件

前言

在 DeepSeek Harness (DSH) 的開發與調試過程中,讓大模型準確感知當前時間、計算跨輪對話的閒置時長,是提升體驗的關鍵細節。如果僅依賴模型自行推斷或進行復雜的日期運算,不僅消耗 token,還容易產生錯誤。

dsh-message-datetime 插件正是爲了解決這一具體痛點而生。它通過在每輪對話開始時注入簡短的時間戳與閒置時長信息,讓模型始終知曉“現在幾點”、“上一輪何時結束”以及“閒置了多久”,從而無需模型自行計算歷史耗時。

插件簡介

名稱:dsh-message-datetime
維護者:john-walks-slow
類別:模型推理
許可證:MIT

這是一個輕量級插件,主要功能是在每個對話 turn 的起始階段,向模型上下文追加一條時間通知。它覆蓋了用戶 turn、自動續跑 round 以及 subagent turn,且完全保護 DSH 原生的分支功能(不破壞 Web UI 中的 turn-tail 約束)。

核心功能

  1. 每輪時鐘注入:在每輪對話的第一個 step(step === 1)時,自動注入當前時間。後續的 step 不會重複注入。
  2. 跨輪閒置感知:在後續輪次中,自動顯示上一輪的結束時間與閒置時長(如 idle for 25m)。
  3. 零權限與中斷安全:插件不涉及外部服務、網絡請求或文件系統寫入。任何注入失敗僅降級爲 warn,絕不打斷當前的 turn。
  4. 全場景覆蓋:支持用戶對話、目標自動續跑以及 subagent 調用,確保所有場景下的模型都能獲得時鐘信息。

安裝

通過 DSH CLI 進行安裝:

dsh plugin --profile web add dsh-message-datetime

安裝後,插件會自動通過自帶的 cordis.patch.yml 掛載生效。

配置與輸出

基本配置

在 DSH 的配置文件中,可以指定一個可選的回退時區:

- id: message-datetime
  name: dsh-message-datetime
  config:
    timeZone: Asia/Shanghai   # 瀏覽器時區不可用時採用此配置

輸出示例

插件會在每輪對話的第一個 step 後追加通知。模型看到的格式如下:

首輪(無上一輪記錄):

Current time: Tue 2026-09-15 01:04:34 +08:00 (Asia/Shanghai)

後續輪次(包含上一輪結束時間):

Current time: Tue 2026-09-15 01:04:34 +08:00 (Asia/Shanghai) | Last turn ended: Tue 2026-09-15 00:39:34 +08:00 (idle for 25m)

在 Web UI 中,該通知會渲染爲摺疊的 context chip,點擊展開可查看完整文本。

注意事項

  1. 依賴版本:插件依賴 @deepseek-ai/cordis 4.0.2 和 @deepseek-ai/dsh-llm 0.1.2-rc.1。
  2. 與官方插件衝突:不建議同時啓用官方的 @deepseek-ai/dsh-time-context 插件,因爲兩者機制同源,同時啓用會導致雙重時間注入。
  3. 時區回退:時區解析優先級爲:瀏覽器時區 → 配置的 timeZone → 進程時區。無效值會靜默回退,不影響流程。
  4. 安全機制:插件僅追加 user/message 類型的通知,位於 step 窗口內,滿足 token-meter replay 約束。

總結

dsh-message-datetime 是一個專注於提供時鐘上下文的工具,它通過輕量級的單行注入,解決了模型在多輪對話中感知時間流逝和計算耗時的問題,非常適合需要精確時間控制的智能體場景。

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

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

小夜