前言¶
DSH 在每一輪對話中都會注入運行時上下文快照。如果模型沒有直接的時間信息,它只能依賴工具輸出、日誌行或文件時間戳來推斷時間。這會導致諸如“今晚”實際上是明天下午、或者“今天”的報告中日期跨度錯誤等問題。這個插件在上下文中增加了一行當前日期和時間,並在每次組裝時重新評估,提供權威時鐘值。
這是什麼¶
這是一個 DeepSeek Harness (DSH) 插件,由 apex-mochen 維護。
- 核心功能:給 DSH 代理注入當前日期和時間,使其能讀取時間而非推斷時間。
- 解決的問題:解決語言模型沒有時鐘、依賴歷史時間戳導致時間感知錯誤的問題。
核心功能¶
- 動態注入:在每次組裝時注入當前日期和時間。
- 權威時鐘:提供權威時鐘值,減少模型對時間的猜測。
- 高度可配置:支持配置時區、語言環境、標籤、精度等。
- 零依賴:插件本身不依賴外部庫(僅依賴 DSH 運行時環境)。
安裝與啓用¶
通過 npm 或 GitHub 安裝插件:
# 通過 GitHub 安裝
dsh plugin --profile web add github:apex-mochen/dsh-clock-context
# 通過 npm 安裝
dsh plugin --profile web add dsh-clock-context
安裝後,重啓配置文件或使用 patchReload: live 生效。
配置¶
在 cordis.patch.yml 中配置選項。所有選項均爲可選,默認值如下:
- id: dsh-clock-context
config:
timeZone: Asia/Shanghai # IANA 時區,默認爲主機時區
locale: zh-CN # 語言環境,默認爲主機 locale
label: 當前時間 # 注入行的前綴
includeUtc: true # 是否包含 UTC 時間,默認 true
includeEpoch: false # 是否包含 Unix 時間戳,默認 false
precision: minute # 精度:'second'(默認,每輪更新)或 'minute'(每分鐘更新)
hint: true # 是否添加“權威時鐘”提示句,默認 true
order: 105 # 上下文快照中的排序順序,默認 105
enabled: true # 是否啓用,默認 true
關於 precision 的說明:DSH 只有在快照文本發生變化時纔會重新記錄。設置爲 second 時,快照每輪都會更新;設置爲 minute 時,文本最多每分鐘更新一次,可以減少上下文變更的頻率。
驗證¶
詢問代理讀取其自身的運行上下文來驗證:
Quote the line from your runtime context that gives the current date and time, verbatim.
如果插件生效,回答中應包含 Current date/time: 行,且時間戳與當前時間一致。如果回答中沒有該行,請檢查:
1. dsh plugin --profile web ls - 確認插件已安裝。
2. cordis.patch.yml - 確認配置條目已生效。
注意事項¶
- 無 Config Schema:插件未聲明 Config schema,依賴默認值。
- 函數屬性:
text屬性是函數而非字符串,確保每次組裝時獲取最新值。 - 依賴版本:依賴
@deepseek-ai/cordis(>= 4.0.1)。 - 更新頻率:精度爲
second時,每輪都會更新上下文快照;精度爲minute時,每分鐘更新一次。
結尾¶
通過注入權威時鐘,這個插件消除了模型對時間推斷的不確定性,使其在處理當前時間、日期跨度等任務時更加準確。適合需要精確時間感知的 DSH 工作流。
- 插件目錄:https://www.skillhub.cn/plugins/apex-mochen/dsh-clock-context
- GitHub 倉庫:https://github.com/apex-mochen/dsh-clock-context