前言¶
用 DSH 跑 Agent 時,一個長任務經常跑幾十分鐘,中間既沒有休息節奏,也沒有“今天到底專注了多久”的記錄。把計時器放在瀏覽器的另一個標籤裏,和 Agent 的工作區是割裂的;想看歷史專注分佈,還得自己存表做圖。
下面介紹 DSH Pomodoro,一個把計時工作臺放進 DSH 側欄、並可選配桌面懸浮窗的插件,由 EchoTint 維護,分類屬於客戶端。它不替代日曆或任務管理工具,只是把番茄鍾和專注統計收窄到 Agent 操作界面旁邊。
這是什麼¶
一句話定位:在 DSH 左側欄提供一個番茄鍾工作臺,並可選啓動 Electron 桌面懸浮窗,用於番茄倒計時、正計時、心流計時、任務管理、專注統計與備份。
解決的是三個具體問題:計時和 Agent 窗口都在一個界面裏,不用切窗口;專注時長自動累計成時間線、小時分佈和熱力圖,不需要手工記錄;任務、復盤與林地獎勵有地方存,且支持 WebDAV / S3 備份。
資料未給出任何用戶規模或性能數據,本插件在社區目錄中的星標爲 0,屬於早期版本。當前發佈版本是 v0.1.0,兼容 DSH 0.2.2-rc.1。
核心功能¶
以下能力均來自插件 README。
1、計時模式。倒計時包含專注、短休息和長休息三種階段;正計時與心流模式可以隨時結束並記錄。倒計時提前結束時,記錄的是實際專注時長,而不是原本設定的時長。
2、任務管理。任務支持優先級、預估番茄數和子步驟;每次專注記錄可以補寫能量等級與復盤筆記。
3、專注統計。包含時間線、小時分佈、近 7 日趨勢、年度熱力圖與每日目標。
4、環境音。由 Web Audio 合成,提供雨聲、篝火、海浪和雙耳節拍,不需要額外音頻文件。
5、種樹獎勵。專注達標後可在林地種樹,林地共 8 種植物,按進度逐步解鎖。
6、桌面懸浮窗。有三種形態:小卡 220×84、圓環 108×108、純時間 128×56;支持拖動、置頂、不透明度調節和日夜主題。懸停顯示操作,右鍵切換階段與計時方向。
7、備份。WebDAV 和 S3 兼容存儲用於手動或自動備份,同時支持 JSON 導出與導入。需要注意:備份不會自動做多端合併,多臺機器之間的數據需要自行協調。
安裝與啓用¶
插件沒有發佈到 npm,包名是 @echotint/dsh-pomodoro。在 DSH 插件管理中安裝下面的 GitHub Release 包並啓用:
https://github.com/EchoTint/dsh-pomodoro/releases/download/v0.1.0/dsh-pomodoro.tgz
另一種方式是把 https://github.com/EchoTint/dsh-pomodoro 作爲 GitHub 倉庫安裝源。倉庫內已經包含可直接加載的 JavaScript、dsh.bundle 清單和 Cordis patch,不需要構建步驟。
啓用後,左側欄出現「番茄鍾」入口,計時、統計、任務和設置都在這個入口裏管理。桌面懸浮窗需要額外準備 Electron,見下一節。
如果之前在用本地開發版 @local/pomodoro,切換時先停用舊版再啓用本包,避免兩個實例同時寫入同一份數據。業務數據沿用 $DSH_HOME/pomodoro;自定義設置可以在舊版導出或記錄下來,再在新版覈對。兩個包的標準 Config 條目不同,profile 中顯式設置不會自動複製過去。
Electron 桌面懸浮窗¶
插件不捆綁也不自動下載 Electron。需要先從 Electron 官方發佈頁獲取適合當前系統和架構的完整發行目錄,解壓後保留配套資源。Windows 上已驗證的版本是 Electron 43.3.0;其他版本以及 macOS / Linux 的桌面行爲尚未實測。
在啓動 DSH 之前設置可執行文件路徑,例如 PowerShell:
$env:DSH_POMODORO_ELECTRON = 'C:\Tools\Electron\electron.exe'
# 從繼承該環境變量的進程啓動 DSH。
沒有設置該環境變量時,插件按下面的默認位置查找。$DSH_HOME 默認是用戶目錄下的 .dsh。
| 系統 | 默認路徑 |
|---|---|
| Windows | $DSH_HOME/electron/electron.exe |
| macOS | $DSH_HOME/electron/Electron.app/Contents/MacOS/Electron |
| Linux | $DSH_HOME/electron/electron |
沒有 Electron 時仍然可以用側欄計時;懸浮窗啓動失敗時,設置頁會顯示錯誤。Linux 還需要可用的圖形會話以及 Electron 的系統依賴,插件文檔沒有列出具體包名,需要按 Electron 官方文檔自行確認。
設置、憑據與數據存放¶
計時參數、音效、懸浮窗外觀以及非敏感的備份目標,都通過 DSH 標準 Config 和 ctx.configEditor.edit() 保存。普通配置提交會由 Loader 重啓插件,插件在提交前先保存運行狀態。舊版文件中的設置可以遷移到當前條目,顯式 profile 值優先。
數據落盤位置如下:
- 任務、專注記錄、復盤與林地:
$DSH_HOME/pomodoro/data.json - 計時與窗口運行狀態:
$DSH_HOME/pomodoro/state.json
舊數據的格式版本與軟件版本是獨立的,發佈 v0.1.0 不會降低數據格式版本。
WebDAV 密碼和 S3 secretKey 通過 ctx.credentials 存入 pomodoro/webdav、pomodoro/s3。寫入流程是先寫舊明文再讀回驗證,全部成功後才清除舊明文,失敗可以重試。空密碼輸入會保留已有憑據;每次上傳重新讀取憑據,導出文件不包含密碼。實際落盤保護取決於宿主的憑據 provider,插件自身不做額外的加密保證。
界面上,普通控件使用 DSH 主題 token,界面與桌面文案跟隨 DSH 語言;森林插畫與階段強調色保留藝術配色。本機 HTTP 接口驗證 loopback、Host 和瀏覽器 Origin,明確不供公網使用。
插件聲明的必需宿主 peer 是 @deepseek-ai/schemastery@3.19.0 和 @deepseek-ai/dsh-credentials@0.2.2-rc.1。React 由 DSH Client 提供,Electron helper 是獨立的 CommonJS 應用。不要把宿主包複製進插件目錄。許可證是 MIT。
典型用法¶
裝好之後,日常使用不需要命令行,直接在側欄操作。
1、開始一個專注番茄。打開側欄「番茄鍾」,選擇專注階段開始倒計時;需要時用任務面板記下優先級和預估番茄數。
2、查看與補寫記錄。番茄提前結束會按實際時長記錄。結束後補寫能量等級和復盤筆記,比事後憑記憶補更可靠。
3、定期看統計趨勢。近 7 日趨勢用來判斷節奏是否穩定,年度熱力圖用來判斷長期投入,二者都不需要額外配置。
4、設置桌面懸浮窗。按前面的方式設置 Electron 路徑,把懸浮窗形態調成圓環或純時間,放在屏幕邊緣。懸停看操作,右鍵切換階段或計時方向。
5、備份。在設置裏添加 WebDAV 或 S3 目標,選擇手動或自動備份;遷移機器時用 JSON 導出與導入。因爲備份不做多端合併,多端場景建議讓一端爲主。
開發與驗證¶
倉庫自帶測試與打包檢查。Node.js 24 上可以直接跑純邏輯和打包檢查,不需要安裝依賴:
node --test core.test.mjs packaging.test.mjs
node scripts/runtime-check.mjs
node scripts/runtime-check.mjs --pack --pnpm /absolute/path/to/pnpm.mjs
打包檢查會禁用生命週期腳本,在臨時目錄生成並解包 .tgz,驗證資源、導入和源碼一致性,隨後在沒有 node_modules 的目錄運行測試。產物不包含個人數據或憑據。
想在已安裝的 Windows DSH Desktop 裏用真實宿主 peer 跑完整測試,把路徑替換爲本機實際安裝位置:
$env:ELECTRON_RUN_AS_NODE = '1'
$env:DSH_TEST_RUNTIME_ROOT = 'C:\path\to\resources\app.asar\dsh'
$test = Start-Process 'C:\path\to\electron.exe' -ArgumentList '--import','./scripts/host-imports.mjs','--test','core.test.mjs','compliance.test.mjs','packaging.test.mjs' -Wait -NoNewWindow -PassThru
exit $test.ExitCode
完整測試覆蓋計時、統計、憑據遷移與失敗重試、配置編輯、deadline 保留以及 HTTP 邊界。憑據服務用 mock 注入,不操作個人憑據。當前已驗證的環境是 Windows 上的 Electron 43.3.0 / Node 24.18.1;真實遠端 WebDAV / S3 賬戶尚未實測。GitHub CI 只跑無宿主的測試與打包檢查,不代表跨平臺桌面驗證結論。
適用場景與注意¶
適合這幾類用法:長時間跑 Agent 任務、需要固定休息節奏的人;希望專注時長自動變成統計圖表的人;想把計時控件放到桌面邊緣、而不是瀏覽器標籤裏的人;需要把專注數據備份到自建 WebDAV 或 S3 的人。
需要留意幾點:
- 插件以當前 DSH 進程的權限運行,安裝前應檢查源碼與許可證。許可證是 MIT,倉庫地址爲
https://github.com/EchoTint/dsh-pomodoro。 - 桌面懸浮窗依賴本機自行準備的完整 Electron 發行目錄,插件不下載、不捆綁,Windows 之外的行爲尚未實測。
- 備份不做多端合併,多臺機器共用同一份數據時需要自己約定主端。
- 憑據寫入依賴宿主憑據 provider 的落盤保護,README 沒有聲明額外加密。
- 社區插件目錄是獨立站點,與 DeepSeek / 幻方沒有官方從屬關係,本插件也不是官方應用商店上架的組件。
結尾¶
DSH Pomodoro 的價值在於範圍收窄:不做通用日程工具,只把番茄鍾、專注統計、任務子步驟、林地反饋和 WebDAV / S3 備份放進一個側欄工作臺,需要時再掛上一個桌面懸浮窗。當前是 v0.1.0 的早期版本,Windows 桌面路徑和遠端備份的驗證已經給出了明確邊界,macOS / Linux 用戶可以對照默認路徑自行試裝。
目錄頁:https://www.skillhub.cn/plugins/EchoTint/dsh-pomodoro
GitHub:https://github.com/EchoTint/dsh-pomodoro