前言¶
在 DSH 里長時間開多個會話時,截止日期往往散落在對話記錄或本地筆記裏,切回某個任務前很難一眼看到「還剩多久」。Deadline Pulse 把倒計時做成會話標題欄右側的膠囊,並支持多 deadline 衝突檢測與通過代理改期;數據落在全局 JSON,所有會話共享同一份列表。
下面介紹插件定位、能力、安裝與典型用法。事實以 GitHub 倉庫 README 爲準。
這是什麼¶
Deadline Pulse(npm 包名 @wjw0419/deadline-pulse,當前 package.json 版本 1.2.1)由維護者 wjw0419 發佈,在 SkillHub 目錄中歸類爲「記憶」。一句話:在 DSH Web 會話標題欄展示截止倒計時膠囊,離 due 越近視覺越醒目;v1.1 起增加多 deadline 準備窗口衝突檢測與重新調度,並可通過自然語言讓代理調用 deadline_tool 維護數據。
插件以 DSH 進程權限讀寫 ~/.dsh/deadline-pulse/deadlines.json,安裝前建議自行查看源碼與 MIT 許可證。
核心功能¶
標題欄倒計時與分級提醒¶
- 標題欄右側常駐倒計時膠囊,每秒刷新,等寬數字顯示。
- 剩餘 ≤1 天(含已過期):呼吸光暈與擺動動畫。
- ≤3 天:脈衝動畫。
- ≤7 天 與 >7 天:默認僅在展開面板中可見(膠囊在展開面板中仍可查看完整列表)。
- 每個膠囊帶環形進度,表示已消耗的時間比例。
- 點擊膠囊展開面板:顏色點、標籤、備註、預估工時、進度條,以及已完成分區。
- 當某條 deadline 跨過 3 天 或 24 小時 閾值時,頁面內會下滑 toast(約 5 秒自動消失);已在臨界狀態的條目在僅頁面加載時不會重複 toast。
衝突檢測與重新調度(v1.1+)¶
conflicts:掃描所有未完成的 deadline,檢測準備窗口是否重疊。- 嚴重度:
- High:同一天 due 且準備窗口重疊。
- Medium:不同天 due 但準備窗口重疊。
- Low:同一天 due 但準備窗口不重疊。
- 準備窗口定義爲
[due - effort, due];未設置effort時默認按 2 小時 估算。 - 面板內「衝突檢測」按鈕觸發檢測,結果內聯展示,並提供改期快捷入口。
reschedule:修改 due(可選同時改effort);可從面板行、衝突結果卡片或自然語言發起;若此前跑過沖突檢測,改期後會自動刷新檢測結果。
代理與自然語言¶
代理通過 deadline_tool 支持:add / list / done / remove / conflicts / reschedule,寫入同一 deadlines.json。
熱更新與無障礙¶
手動編輯 JSON 後,UI 約 15 秒內同步;窗口重新獲得焦點時可立即刷新。系統開啓 prefers-reduced-motion 時,脈衝與擺動動畫關閉,僅保留顏色狀態。
安裝與啓用¶
命令行(推薦發佈包)¶
指定你的 DSH profile 後執行:
dsh plugin --profile <your-profile> add @wjw0419/deadline-pulse
本地目錄尚未發佈到 npm 時,可用絕對路徑:
dsh plugin --profile <your-profile> add "file:<absolute-path-to>/deadline-pulse"
通過 DSH 代理安裝本地 bundle¶
在任意 DSH 會話中對代理說明使用 plugin_manager 的 install_bundle,目標爲本地插件目錄的絕對路徑,例如:
plugin_manager { action: "install_bundle", target: "<absolute-path-to>/deadline-pulse" }
安裝返回 application: applied 後,刷新瀏覽器(F5) 以加載客戶端模塊。
卸載時可對代理說:用 plugin_manager 移除 @local/deadline-pulse;deadlines.json 會保留。
典型用法¶
方式一:對代理說話¶
"幫我記一個截止日期:週五 18:00 交插件作業,標籤'課程',預估 4 小時"
"看看我現在有哪些截止日期"
"檢查一下我的截止日期有沒有衝突"
"把英語演講比賽調整到下週一"
"英語演講比賽那個截止日完成了"
"把'壞數據測試'那條刪掉"
方式二:編輯 deadlines.json¶
創建或編輯 ~/.dsh/deadline-pulse/deadlines.json:
{
"deadlines": [
{ "title": "提交插件作業", "due": "2026-02-10 18:00", "tag": "課程", "note": "含演示視頻", "effort": 4, "done": false },
{ "title": "英語演講比賽", "due": "2026-02-10 15:00", "tag": "社團", "effort": 3, "done": false }
]
}
字段說明(README 原文):
due支持"2026-02-10 18:00"、"2026-02-10"(視爲當天 23:59)或 ISO 格式。tag、note、effort、done、created均爲可選。
JSON 格式錯誤時插件不會崩潰:面板顯示紅色 parse failed,並保留上一次成功解析的數據。
適用場景與注意¶
適合誰: 需要在 DSH Web 界面裏常駐看到多個項目/課程 deadline、並希望在任務堆疊時用準備窗口做簡單衝突檢查的用戶。
務必注意:
- 數據全局共享於
~/.dsh/deadline-pulse/deadlines.json,與具體會話無關。 - 衝突檢測至少需要 2 條未完成的 deadline。
- 插件在 DSH 生態中按「一切皆插件」方式分發;SkillHub 目錄頁 爲社區站點,與 DeepSeek / 幻方無官方從屬關係。
- 安裝與運行等同於信任維護者代碼在本機 DSH 環境內執行;安裝前請閱讀倉庫源碼與許可證。
鏈接¶
- 目錄頁:https://www.skillhub.cn/plugins/wjw0419/-deadline-pulse
- GitHub:https://github.com/wjw0419/-deadline-pulse
經過上面的步驟,你可以在會話標題欄直接感知截止壓力,並用衝突檢測與改期減少同一時間段內多條任務搶準備窗口的情況。