前言¶
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 未在本文资料中列出。