前言¶
DSH 的插件模型允許把外部能力掛到具體 profile 上。若你在使用 DeepSeek Harness (dsh) 時,希望把 AI 編碼活動、代碼行數和耗時彙總到 WakaTime,就需要一個能讀取 dsh 工具活動並調用 wakatime-cli 的插件。
下面介紹 @dingyi222666/dsh-wakatime。
插件定位¶
@dingyi222666/dsh-wakatime 是 WakaTime plugin for DeepSeek Harness (dsh),用於 track AI coding activity, lines of code, and time spent。
- 維護者:
dingyi222666 - 許可:MIT
- 來源:ported logic from
opencode-wakatime(MIT)
它適合安裝到會運行 agent loop 的 dsh profile,例如:
web
headless
tui
從 npm 安裝時需要:
dsh >= 0.1.2-alpha.5
該插件聲明零運行時依賴,只導入 Node builtins,以及 host 提供的 @deepseek-ai/* peers。列出的 peer dependencies 爲:
@deepseek-ai/cordis >=4.0.0
@deepseek-ai/dsh-session >=0.1.0-rc.0
@deepseek-ai/schemastery >=3.0.0
核心能力¶
1、Automatic CLI management:自動下載和更新 wakatime-cli,也可以使用全局安裝。
2、Detailed file tracking:跟蹤 edit、write、read、read_image 和 str_replace_editor 操作。
3、AI coding metrics:發送 --ai-line-changes,由 fs tools 的 diff hunks 計算。
4、Rate-limited heartbeats:每個項目每分鐘 1 次心跳,並 persisted to disk。
5、Session lifecycle flush:在 session disposal 和 plugin teardown 時 flush 待發心跳,包括 one-shot headless runs。
6、Batch tool support:一次編輯涉及多個文件時,通過 --extra-heartbeats 在單次 wakatime-cli 調用中發送。
7、Zero runtime dependencies:只依賴 Node builtins 和 host 提供的 @deepseek-ai/* peers。
安裝前準備¶
先確認 WakaTime API key 已配置在 ~/.wakatime.cfg 的 [settings] 段:
[settings]
api_key = waka_your_api_key_here
wakatime-cli 可以不手動安裝;插件會在缺失時下載和更新。若要手動安裝,可以用:
brew install wakatime-cli
或從 WakaTime releases 下載。
安裝與啓用¶
先安裝到 web profile,再啓動/重啓 dsh web:
dsh plugin --profile web add @dingyi222666/dsh-wakatime
dsh web
如果會運行 headless,也安裝到對應 profile:
dsh plugin --profile headless add @dingyi222666/dsh-wakatime
需要安裝到每個會運行 agent loop 的 profile。更新時,重新執行相同的 dsh plugin add 命令。
如果使用源碼啓動的 dsh CLI,可以直接執行 bin:
node --import tsx/esm apps/cli/src/bin.ts plugin --profile web add @dingyi222666/dsh-wakatime
從源碼安裝¶
先拉取倉庫並構建,再把本地目錄加入 web profile:
git clone https://github.com/dingyi222666/dsh-wakatime
cd dsh-wakatime
pnpm install && pnpm run build
dsh plugin --profile web add .
dsh web
配置¶
配置字段都是可選的,加載時由 schemastery schema 校驗。可以在 profile 的 user patch layer 或 --patch 中加入 id: wakatime。例如只打開 debug:
- id: wakatime
config:
debug: true
其他可選字段包括 heartbeatIntervalMs、client、timeoutMs,按需填寫。
適用場景與注意¶
適合需要把 dsh 中的 AI 編碼活動接入 WakaTime 的開發者,尤其是同時使用 web、headless、tui 多個 profile 的場景。
注意:
- 插件以當前 dsh 進程權限運行。安裝前應檢查源碼與許可證,確認其調用
wakatime-cli、讀取工具事件,並使用已配置的 WakaTime API key 的行爲符合預期。 bash命令不會被歸因到具體文件。- 沙箱或遠程文件系統裏的工具調用可能按模型可見的
file_path參數記錄;如果沙箱解析方式不同,可能落爲 project-relative entities。 - 當插件位置無法解析
@deepseek-ai/dsh時,--plugintag 中的 dsh host version 會顯示爲unknown。
參考¶
GitHub:https://github.com/dingyi222666/dsh-wakatime
社區目錄頁可按插件名 @dingyi222666/dsh-wakatime 搜索;社區目錄是獨立站點,並非官方應用商店。目錄頁 URL 未在本文資料中列出。