前言¶
在 DSH 的 Web 界面裏,長對話或重複追問時,用戶往往需要自己估算今天還剩多少時間。瀏覽器、日曆和番茄鍾都能看時間,但注意力仍留在輸入框時,多開一個窗口並不順手。dsh-offwork-countdown 是一枚常駐在 composer 下方的倒計時膠囊,把“距離下班”直接放在輸入框旁邊。
這是什麼¶
該插件由 ZydFirst 維護,屬於客戶端分類,GitHub 倉庫爲 ZydFirst/dsh-offwork-countdown。它解決的問題很輕:工作日顯示距離下班的剩餘時間和當天進度;到點後自動切換文案並繼續顯示加班時長;週末不倒數,只提示。
從實現看,它不負責重排界面,只是通過 DSH 的槽位機制,在 conversation.composer.dock 放入倒計時膠囊,在 shell.overlay 放入設置框。瀏覽器側腳本承載主要邏輯,Host 側 index.js 只保留空的 apply()。
核心功能¶
- 工作日倒計時:默認上班時間爲
09:00,下班時間爲18:00。膠囊顯示類似“距離下班 08:24:00”,右側細進度條表示當天從上班到現在走的進度。 - 到點切換:到下班時間後,文案先變成“下班啦”,隨後轉爲“已下班 00:03:12”等加班計時,並帶有輕微呼吸變化。
- 週末模式:週六週日不倒數,只顯示“週末快樂”。
- 自設上下班時間:點擊膠囊會彈出居中設置框,可修改上班 / 下班時間,保存後即時生效;也可以用“恢復默認”回到
09:00 – 18:00。 - 主題與本地化:顏色只使用
--dsw-alias-*主題 token,亮色和暗色會自動適配;可見文案走 Client locale 服務,提供中英雙語。 - 減少動效支持:在
prefers-reduced-motion情況下,關閉呼吸動畫和進度條過渡。
安裝與啓用¶
dsh plugin --profile web add github:ZydFirst/dsh-offwork-countdown
該命令來自 GitHub README。安裝完成後需要刷新一次頁面,插件纔會在 Web 界面加載。由於它是客戶端插件,功能依賴瀏覽器側腳本能否拿到對應槽位;刷新頁面即可讓新的 bundle 生效。
典型用法¶
安裝並刷新後,設置默認就是 09:00 – 18:00。用戶點擊輸入框下方的膠囊,會打開設置框,裏面有兩個時間輸入項:
- 上班時間 / 下班時間:使用
<input type="time">。 - 保存:改完後點擊“保存”;點擊“恢復默認”回到
09:00 – 18:00。 - 關閉:Esc、點擊遮罩或“取消”都可以關掉設置框。
設置不會上傳,也不會寫進會話日誌。它保存在本機瀏覽器的 localStorage 中,鍵名是 dsh.offwork-countdown.settings.v1。這一點對個人使用比較友好:換一個瀏覽器、清空 localStorage,或換一臺機器,設置就會回到默認值。
實現與目錄結構¶
插件是純 JavaScript,沒有構建步驟,也沒有運行時依賴。瀏覽器側的 client.js 通過 window.__ModuleLoader__ 註冊兩個槽位:conversation.composer.dock 放倒計時膠囊,shell.overlay 放設置框;設置框浮在所有列之上,不會被輸入框卡片遮擋。兩個槽位共享一個極小的模塊級 store,膠囊只運行一顆 1 秒的時鐘,卸載時通過 ctx.effect 清理。
倉庫中的文件包括:
client.js 瀏覽器側:槽位註冊、倒計時組件、設置對話框
index.js Host 側:空 apply
cordis.patch.yml bundle patch
locale/{zh,en}.json 插件清單裏的標題與描述
icon.svg 插件圖標
assets/icon-256.png 市場卡片用的位圖圖標
如果想改圖標,README 給出的本地命令是重新生成位圖:
python scripts/make-icon.py
該命令依賴 Pillow 和 numpy,只在維護圖標時需要使用,不影響日常安裝或運行。
適用場景與注意¶
它適合經常使用 DSH Web 界面、希望把下班時間放在手邊、又不想常駐額外窗口的用戶。對智能體開發者來說,如果需要展示本地小工具如何接入 DSH 的客戶端槽位,這個插件也可以作爲輕量參考:單個客戶端腳本註冊兩個槽位,Host 側只保留空 apply(),即可讓 bundle 進入插件清單。
需要注意兩點。第一,插件以當前 DSH 進程的權限運行,安裝前應檢查源碼、配置和許可證;該倉庫使用 MIT License,作者爲 ZydFirst。第二,設置僅停留在本機瀏覽器,不會同步;換瀏覽器或清緩存後需要重新設置。目錄頁屬於社區生態,與 DeepSeek / 幻方無官方從屬關係。
小結¶
dsh-offwork-countdown 的價值不在於複雜功能,而在於降低查看下班時間的注意力成本:平時放一枚膠囊,到點自動切換,週末不打擾,設置成本很低。適合作爲 DSH Web 界面的輕量輔助插件使用。
- 目錄頁:https://www.skillhub.cn/plugins/ZydFirst/dsh-offwork-countdown
- GitHub:https://github.com/ZydFirst/dsh-offwork-countdown