前言¶
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 切換。
核心功能¶
- 倒計時展示:天 +
hh:mm:ss實時遞減(具體文案含中英文 locale:locale/en.json、locale/zh.json)。 - 改退休日期:點倒計時旁的
✎,選日期並保存。 - 本地持久化:目標日期存在瀏覽器
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。
典型用法¶
- 按上一節命令安裝並刷新 DSH Web 界面。
- 打開任意已有消息的會話,在輸入框上方查看倒計時。
- 點
✎→ 選擇目標退休日 → 保存;必要時在開發者工具 Application → Local Storage 中確認dsh.retirement-countdown.target。 - 若要從零恢復默認日期,刪除上述 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。