前言¶
在 DeepSeek Harness(DSH)裏用智能體改代碼,牆鍾時間往往分散在多次會話、多個工作目錄之間。若想事後按項目回顧「這波 AI 一共活躍了多久、動了哪些文件、增刪了多少行」,常見做法是翻日誌或憑印象估算,既難對齊真實 diff,也容易把未採集的數據當成零。
dsh-coding-time 是維護者 Dclef 發佈的 DSH 插件,歸類爲「記憶」類擴展。它在本地按項目(cwd)記錄 AI 活躍的牆鍾區間、基於工具返回的真實 diff 元數據統計增刪行,並可選擇性地統計人類編輯時長;數據落在本機 ~/.dsh 下,不經第三方賬號或上報。下面介紹其能力、安裝方式與使用時的注意點。
這是什麼¶
dsh-coding-time 面向已在運行 Harness 且具備 dsh CLI 的環境,提供編碼活動計時與彙總 Web 面板。插件複用 Harness 既有 webServer 掛載儀表盤,不單獨開端口;存儲爲 JSONL,並支持 CSV 導出。
當前版本在 package 中爲 0.1.0,許可證 MIT。項目狀態爲實驗性、僅本地使用,以源碼形式發佈供審閱與自託管。
核心功能¶
下列能力均來自項目 README 的說明。
按項目的活躍時間¶
記錄 AI 活動(工具調用與助手事件)的牆鍾區間,按工作目錄分組。重疊區間會做並集合並,總時長不是簡單相加。
真實行數統計¶
增刪行僅來自工具顯式返回的 diff 元數據;缺少元數據時保持爲未知,不會填成 0。
可選的人類編輯計時¶
默認關閉;僅在編輯器集成能提供明確「真實輸入」證據時纔會啓用。
時間與文件維度展示¶
活躍區間會分攤到涉及文件,以環形圖等形式展示佔比;項目按並集活躍時長排序,帶進度條與相對領先項目的百分比。
日程與近期活動¶
按日展示 AI(及在已連接時的人類)活躍時間的柱狀圖;另有近期事件時間線,以及各項目當前 Git 工作樹的只讀快照。
設置與導出¶
在 Host 爲插件暴露可寫配置命名空間時,可在設置頁調整心跳、空閒與刷盤間隔、採集開關、本地存儲目錄及存儲統計等。支持將彙總下載爲 CSV,未知值與零值區分顯示。
本地與隱私¶
無第三方 API、無出站統計、UI 不讀寫憑證。運行時核心邏輯僅使用 Node 內置模塊;設置表單依賴 Host 提供的 @deepseek-ai/schemastery 作爲 peer。未採集或未連接項在界面上標明(如 “not collected” / “not connected”),不僞造爲 0。
安裝與啓用¶
環境要求:Node >=22.14.0(package 中亦爲 ^22.14.0 || >=24.0.0),Harness 運行中且 dsh 在 PATH 上;與 dsh 版本需滿足 >=0.2.1-rc.2 <0.3.0-0。
從 npm 安裝並加入 web profile:
npm install dsh-coding-time@0.1.0
dsh plugin --profile web add dsh-coding-time
或直接從 GitHub 倉庫添加:
dsh plugin --profile web add 'https://github.com/Dclef/dsh-coding-time'
更細的安裝說明見倉庫內 docs/INSTALL.md。
配置要點¶
默認配置摘錄如下(完整校驗規則見 README):無效字段、憑證字段、非法數字、非法時區或非絕對路徑會被拒絕,而非靜默截斷。idleThresholdSeconds 不得小於 heartbeatIntervalSeconds。
| 字段 | 默認值 |
|---|---|
enabled |
true |
heartbeatIntervalSeconds |
60 |
idleThresholdSeconds |
180 |
flushIntervalSeconds |
10 |
trackAgentActivity |
true |
trackAiLines |
true |
humanTracking.enabled |
false |
storageDirectory |
~/.dsh/coding-time |
timezone |
本機 IANA 時區 |
weekStartsOn |
1(週一) |
exclude |
常見構建、版本控制與敏感路徑 |
若 Host 未暴露本插件的可寫 Config 命名空間,客戶端會處於只讀狀態,不會發起保存請求。
典型用法¶
- 按上文完成安裝後,通過 Harness 自帶的 Web 入口打開 coding-time 儀表盤(會話頭可查看當日 AI 活躍時長摘要)。
- 在日常智能體開發中保持插件
enabled;按需調整心跳與空閒閾值,避免長時間無操作仍計爲活躍。 - 需要歸檔或外部分析時,在面板使用 CSV 導出;注意導出中未知行數與時間會與零值區分。
- 若要統計人類編寫時長,需具備能上報真實輸入證據的編輯器集成,並將
humanTracking.enabled設爲true(默認仍爲關閉)。
中文說明另見倉庫 README.zh.md。
適用場景與注意¶
適合希望在 本機 追溯各倉庫 AI 編碼投入、對比項目間活躍時長、並結合真實 diff 行數做回顧的 DSH 用戶。不適合需要雲端多人協作統計或官方 SLA 的場景;項目自述爲實驗性,自動化測試通過並不等同於已在所有瀏覽器環境做過人工驗收。
插件以當前 dsh 進程權限運行,可讀工作區與 Git 狀態;安裝前建議通讀 GitHub 倉庫 源碼與 MIT 許可證,確認 exclude 與存儲路徑符合本機安全策略。DSH 生態採用「一切皆插件」思路,社區目錄站點 SkillHub 上的條目 與 DeepSeek / 幻方無官方從屬關係,本文不因目錄分類「記憶」而暗示官方背書。
結尾¶
dsh-coding-time 把項目級 AI 活躍時長、diff 行數與可選的人類編輯計時收攏到本地 JSONL 與可視化面板,強調未知即未知、數據不出本機。若要查看簡介與安裝入口,可訪問 SkillHub 目錄頁 或 GitHub:Dclef/dsh-coding-time。