@dingyi222666/dsh-wakatime:DeepSeek Harness 的 WakaTime 插件

前言

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 時,--plugin tag 中的 dsh host version 會顯示爲 unknown。

參考

GitHub:https://github.com/dingyi222666/dsh-wakatime

社區目錄頁可按插件名 @dingyi222666/dsh-wakatime 搜索;社區目錄是獨立站點,並非官方應用商店。目錄頁 URL 未在本文資料中列出。

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

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

小夜