dsh-time-context:爲 DSH 模型注入當前時間與上條消息時效

前言

在 DSH 裏和模型對話時,用戶常說「昨晚」「剛纔」「早上說的那件事」——模型本身沒有時鐘,若 prompt 裏沒有可覈對的時間事實,只能猜相對時間,容易答偏。Skill 還要模型記得去調用,穩定性不夠。下面介紹的 dsh-time-context 走插件路徑:在每次組 prompt 時自動寫入當前本地時間與上一條用戶消息的時間關係,讓模型對照事實解析相對時間詞,而不是憑空推斷。

這是什麼

dsh-time-context 由 JessenReinhart 維護,歸類爲模型推理相關插件。一句話定位:爲 DSH 模型做時間錨定(Temporal grounding)——在每次 prompt 組裝時注入動態的 runtime-context,包含精確的當前本地時間(日期、鐘點、星期、時區、時段),以及用戶上一條消息的時間戳、日與消息之間的相對關係、距今間隔;並附帶穩定的 system-prompt 片段,引導模型用這些事實理解「last night」「this morning」「a while ago」等表述。

與「只靠 Skill 讓模型自己查時間」相比,本插件註冊在 DSH 原生的 systemPrompt.context() / systemPrompt.section() 註冊表裏,事實隨每一次請求自動進入 harness 的 runtime-context 快照(新快照覆蓋舊快照,避免重複堆疊)。

核心功能

自動注入的時間塊

每次 prompt 組裝都會收到一塊 runtime-context,其中包括:

  1. 當前本地時間:日期、時鐘、星期、時區、 day-part(時段)。
  2. 上一條用戶消息的時間信息:時間戳、與「今天」的日關係、recency gap(距現在多久)。
  3. 跨會話與重啓:上一條消息可以來自更早的會話,或在應用重啓之前;插件會盡量保持連貫,而不是隻認當前窗口內的最後一句。

事實來源(Ground truth)

README 中說明插件依賴以下數據來源,而不是讓模型「感覺」現在幾點:

來源 作用
agent/inbox/inserted 進入 agent inbox 的實時用戶消息
api-session/activity(sessionId, updatedAt) 可持久化的用戶消息時間戳
~/.dsh/time-context/state.json 本地 ledger,重啓後仍保留,例如早上打開仍能知道「昨晚聊過」

命令:查看當前注入內容

在 DSH 中可使用:

/time

用於打印當前會寫進 prompt 的那一整塊時間上下文,便於調試或確認時區、上條消息間隔是否符合預期。

安裝與啓用

資料中的安裝說明強調:插件已接入 DSH Desktop 的 profile bundle(dsh.profile.bundles),不是單獨的 dsh plugin add … 一行命令。若你在本地改動了插件或 profile 配置,需要重啓 DSH Desktop,讓 bundle 行重新加載。

使用前請確認環境滿足 package.json 要求:Node.js >= 20。插件版本在資料中爲 1.0.0,許可證 MIT。

安裝或啓用前,建議自行閱讀 GitHub 倉庫 源碼與許可證;插件在當前 DSH 進程權限下運行,會讀寫 ~/.dsh/time-context/state.json 並訂閱會話活動,權限與數據範圍應與你的部署策略一致。

典型用法

  1. 在 Desktop profile 中確保 dsh-time-context bundle 已啓用(按你當前的 DSH Desktop 配置方式操作)。
  2. 重啓 DSH Desktop,使 bundle 生效。
  3. 正常與 agent 對話;無需每輪手動觸發 Skill,時間塊會隨請求自動注入。
  4. 若回答裏對「剛纔 / 昨晚 / 今天早上」的理解可疑,在會話中執行 /time,對照輸出裏的當前時間與 previous message 相關字段是否與你預期一致。

資料未提供額外 YAML 配置項示例;行爲主要由插件註冊與上述 ground truth 鏈路決定。

適用場景與注意

適合誰

  • 做個人助理、日程回顧、跨天續聊時,希望模型把「相對時間口語」對齊到真實時鍾與上一條消息間隔的 DSH 用戶。
  • 希望時間事實默認進 prompt、不依賴模型是否記得調用某個 Skill 的場景。

注意

  • 時區與「本地時間」取決於運行 DSH 的環境;多機或多容器部署時,應保證時鐘與時區配置一致,否則「昨晚」的邊界可能和用戶主觀不一致。
  • 上一條消息時效依賴 inbox / session activity 與本地 ledger;若某條消息未進入這些鏈路,recency 可能不完整——可用 /time 覈對注入結果。
  • 社區目錄 SkillHub 插件頁 爲獨立站點,與 DeepSeek / 幻方無官方從屬關係;星標與傳播數據以各站點當時展示爲準(資料中 GitHub 星標爲 0)。

結尾

dsh-time-context 把「現在幾點」和「上一條用戶消息距今多久」變成每次請求裏固定的 runtime-context,用插件註冊表自動送達模型,減少相對時間詞上的幻覺。若要進一步瞭解分類與簡介,可看目錄頁;實現細節與 bundle 說明以 GitHub README 爲準。

  • 目錄頁:https://www.skillhub.cn/plugins/JessenReinhart/dsh-time-context
  • GitHub:https://github.com/JessenReinhart/dsh-time-context
羽毛球分组比赛记分
小程序二维码

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

小夜