JularDepick/dsh-wakatime-plugin ↗★ 0
dsh-wakatime-plugin
将 DSH 的 AI 交互量化并上报至 WakaTime
安装
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:JularDepick/dsh-wakatime-plugin说明文档
阅读完整 README ↗或使用发布 tarball 本地安装(预构建产物,无需构建)
dsh plugin --profile add release/dsh-wakatime-plugin-0.1.1.tgz
> 从 GitHub 源码安装拉取的是源码而非构建产物,pnpm 会在安装时运行包的 `prepare` 构建脚本。pnpm 10 及以上默认拒绝执行 git 依赖的构建脚本,首次 `add` 会失败:把 pnpm 打印的包键(形如 `dsh-wakatime-plugin`)加入该 profile 的 `pnpm-workspace.yaml` 后再重新执行:
> ```yaml
> allowBuilds:
> dsh-wakatime-plugin: true
> ```
> 该授权意味着允许该包的代码在安装时于你的机器上执行,请只对源码可信的包授权。
## 使用
安装并启用插件后,配置 WakaTime API Key(在 wakatime.com/settings/api-key 生成):
- **手动**:在 Web 界面会话区域的 WakaTime 标签页粘贴保存(仅覆盖、不回显);
- **Agent 引导**:让 Agent 调用 `wakatime_config` 工具(op=set_apikey)代替你完成配置;
- **环境变量**:设置 `WAKATIME_API_KEY`(优先于文件配置)。
已配置 API Key 后,可在标签页执行「清除 API Key」回退到未登录状态。
此后插件会自动追踪 DSH 中的 AI 交互,按定时节奏批量上报至 WakaTime。
| 工具 | 用途 |
|:---:|:---|
| `wakatime_config` | 查看/修改插件配置(op=get/set);覆盖写入 API Key(op=set_apikey,仅覆盖不可查看) |
| `wakatime_logout` | 清除本地 API Key |
| `wakatime_status` | 查看认证状态(不回显 Key 明文) |
| `wakatime_stats` | 查看 Agent 协作战绩(提示词、思考时长、Token 消耗) |
## 配置
插件的配置通过 DSH 的 `cordis.yml` 提供:
```yaml
- id: wakatime
name: dsh-wakatime-plugin
config:
enabled: true # 是否启用数据上报
locale: zh-CN # 界面语言(host 工具文案;Web UI 语言跟随 dsh web)
reportInterval: 60 # 定时上报间隔(秒),启动时上报一次后循环
reportEnabled: true # 是否开启定时上报
includeTokens: true # 是否上报 Token 用量
includePrompts: true # 是否上报提示词长度
debug: false # 调试日志开关
环境变量:
| 变量名 | 描述 |
|---|---|
WAKATIME_API_KEY | WakaTime API Key(优先于文件配置) |
WAKATIME_DEBUG | 启用调试日志 |
WAKATIME_CONFIG_DIR | 覆盖凭证配置存放目录(默认 ~/.dsh/plugins/wakatime) |
发布与分发
标准分发流程(在仓库根目录手动执行):
## 使用
安装并启用插件后,配置 WakaTime API Key(在 wakatime.com/settings/api-key 生成):
- **手动**:在 Web 界面会话区域的 WakaTime 标签页粘贴保存(仅覆盖、不回显);
- **Agent 引导**:让 Agent 调用 `wakatime_config` 工具(op=set_apikey)代替你完成配置;
- **环境变量**:设置 `WAKATIME_API_KEY`(优先于文件配置)。
已配置 API Key 后,可在标签页执行「清除 API Key」回退到未登录状态。
此后插件会自动追踪 DSH 中的 AI 交互,按定时节奏批量上报至 WakaTime。
| 工具 | 用途 |
|:---:|:---|
| `wakatime_config` | 查看/修改插件配置(op=get/set);覆盖写入 API Key(op=set_apikey,仅覆盖不可查看) |
| `wakatime_logout` | 清除本地 API Key |
| `wakatime_status` | 查看认证状态(不回显 Key 明文) |
| `wakatime_stats` | 查看 Agent 协作战绩(提示词、思考时长、Token 消耗) |
## 配置
插件的配置通过 DSH 的 `cordis.yml` 提供:
```yaml
- id: wakatime
name: dsh-wakatime-plugin
config:
enabled: true # 是否启用数据上报
locale: zh-CN # 界面语言(host 工具文案;Web UI 语言跟随 dsh web)
reportInterval: 60 # 定时上报间隔(秒),启动时上报一次后循环
reportEnabled: true # 是否开启定时上报
includeTokens: true # 是否上报 Token 用量
includePrompts: true # 是否上报提示词长度
debug: false # 调试日志开关
环境变量:
| 变量名 | 描述 |
|---|---|
WAKATIME_API_KEY | WakaTime API Key(优先于文件配置) |
WAKATIME_DEBUG | 启用调试日志 |
WAKATIME_CONFIG_DIR | 覆盖凭证配置存放目录(默认 ~/.dsh/plugins/wakatime) |