dsh-retirement-countdown:在 DSH 輸入框上方顯示退休倒計時

前言

DeepSeek Harness(DSH)把會話界面拆成可插拔的 slot,常見做法是改服務端邏輯或加工具鏈。若你只想在聊天輸入區上方加一塊輕量裝飾、又不佔宿主控件位置,自己寫定位腳本容易和主題、佈局打架。下面介紹社區插件 dsh-retirement-countdown:在官方推薦的 conversation.composer.dock 位常駐顯示距退休還剩多少天、時、分、秒,點鉛筆即可改目標日期,屬於「趣味換裝」類 UI 擴展。

這是什麼

dsh-retirement-countdown 是一個 UI 插件:渲染全在瀏覽器側,Host 端 index.js 的 apply() 爲空。維護者 GitHub 賬號爲 hiyouzheng;package.json 作者署名爲 Ghost Zhou。npm 包名與插件 id 一致,當前公開版本爲 0.1.0(MIT)。社區目錄頁:https://www.skillhub.cn/plugins/hiyouzheng/dsh-retirement-countdown;源碼:https://github.com/hiyouzheng/dsh-retirement-countdown。

顯示位置與行爲

插件註冊到 slot conversation.composer.dock——輸入框上方、界面已分配好空間的 list 區域,不必自行算定位,也不擋住宿主控件。

  • 有消息的會話界面裏常駐;切換會話不會消失。
  • 歡迎頁(尚無消息的空會話)不顯示:該屏走另一 variant,不渲染 composer dock。
  • 顏色使用 --dsw-alias-* 或 currentColor,明暗主題隨 DSH 切換。

核心功能

  1. 倒計時展示:天 + hh:mm:ss 實時遞減(具體文案含中英文 locale:locale/en.json、locale/zh.json)。
  2. 改退休日期:點倒計時旁的 ✎,選日期並保存。
  3. 本地持久化:目標日期存在瀏覽器 localStorage,不寫 Profile、不改服務端配置、無需重啓 DSH。
key 值
dsh.retirement-countdown.target YYYY-MM-DD,例如 2029-06-30

隻影響當前瀏覽器、當前機器。清除該 key 或整段 localStorage 後,回到 client.js 裏的默認值 DEFAULT_TARGET。已退休時的展示分支在作者的 smoke 測試裏已覆蓋。

安裝與啓用

包已發佈到 npm:dsh-retirement-countdown@0.1.0。package.json 要求 Node ^22.19.0 || >=24.0.0,DSH >=0.2.1-rc.2。

裝到 desktop Profile 的常用命令如下(與 README 原文一致):

# 任何人(裝到自己的 Profile 裏)
dsh plugin --profile desktop add dsh-retirement-countdown

# 倉庫地址直裝
dsh plugin --profile desktop add github:hiyouzheng/dsh-retirement-countdown

本地開發可用 link: 指向工作區(README 示例路徑爲 Windows 盤符,按本機目錄替換):

dsh plugin --profile desktop add link:D:\AITools\sdh\dsh-retirement-countdown

裝完後刷新頁面(Ctrl+R / Cmd+R),讓瀏覽器加載新的客戶端模塊。若同時跑 pnpm run dev:web,客戶端插件熱更新時可不刷新。

卸載:

dsh plugin --profile desktop remove dsh-retirement-countdown

組合成功後,dsh --profile desktop --dump-config 中應能看到 - id: retirement-countdown。

典型用法

  1. 按上一節命令安裝並刷新 DSH Web 界面。
  2. 打開任意已有消息的會話,在輸入框上方查看倒計時。
  3. 點 ✎ → 選擇目標退休日 → 保存;必要時在開發者工具 Application → Local Storage 中確認 dsh.retirement-countdown.target。
  4. 若要從零恢復默認日期,刪除上述 localStorage 項即可。

除 npm 外,作者提供了自建索引源(format 1,經 DSH 官方校驗器驗證):https://hiyouzheng.github.io/dsh-retirement-countdown/index.json。在 DSH「插件市場」添加該 URL 可分發;marketInstallTarget 解析爲 dsh-retirement-countdown@0.1.0。倉庫已打 dsh-plugin 等 topic,按 dshfind 規則可被每日同步收錄。

實現要點(二次開發時)

文件 作用
package.json dsh.bundle.patch + dsh.client(platform: web、immediately、inject 排序)
cordis.patch.yml 插入插件行
index.js Host 側,空 apply()
client.js 經 window.__ModuleLoader__.load 註冊 slot、渲染 React 組件
locale/*.json、icon.svg 插件頁文案與圖標

若要改成別的裝飾:在 client.js 把 slot 換成例如 conversation.session.header.actions、sidebar.footer.action、shell.overlay;Countdown 爲普通 React 函數組件,可改 UI。注意 README 中的硬約束:不要 require('@deepseek-ai/dsh-client-ui-primitives');不要在組件裏往 document.body 追加節點。

適用場景與注意

適合:長期在 DSH desktop Profile 裏寫代碼、跑智能體,希望輸入區上方有一個輕量、不侵入邏輯的倒計時提醒;或需要參考「composer dock 裝飾插件」最小實現的開發者。

注意:

  • 插件隨 DSH 客戶端加載,以你當前 DSH 進程與瀏覽器環境爲準;安裝前建議閱讀源碼與 MIT 許可證,確認無多餘網絡或敏感權限需求(本插件目標日期僅存 localStorage)。
  • 社區目錄(如 SkillHub)爲獨立站點,與 DeepSeek / 幻方無官方從屬關係;星標、觀感以你本地刷新後的界面爲準——作者 README 標明瀏覽器內實際間距與明暗對比度尚未在文檔中逐項驗收。
  • DSH 生態理念是「一切皆插件」;本插件歸類爲趣味換裝,不替代工時統計、人事系統或任何合規退休計算。

結尾

dsh-retirement-countdown 把退休倒計時固定在 composer dock,改日期只動瀏覽器 localStorage,安裝命令清晰、體量小(npm 0.1.0 tarball 約 15.3 KB、9 個文件)。需要條目說明時見 SkillHub:https://www.skillhub.cn/plugins/hiyouzheng/dsh-retirement-countdown;問題與改造見 GitHub:https://github.com/hiyouzheng/dsh-retirement-countdown。

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

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

小夜