dsh-whoop-easy-connect: Connect to WHOOP and View Health Dashboard in DSH

前言

DeepSeek Harness(DSH)把能力拆成插件,主面板可以挂自定义入口。若你日常用 WHOOP 追踪恢复、负荷、睡眠和训练,常见做法是单独打开 WHOOP 应用或网页,或在别的项目里自己接 OAuth、调 WHOOP API v2。后者要处理回调、令牌续期和前端展示,工作量不小。下面介绍的 dsh-whoop-easy-connect(维护者 ShawnRen57)面向已在 DSH 里工作的开发者:在设置页用四步向导完成 OAuth,连接后自动同步,并在 DSH 左侧栏提供 WHOOP健康 专属看板。

这是什么

dsh-whoop-easy-connect 是 DSH 社区插件,分类为联网工具。它依赖 DeepSeek Harness(README 标注 ≥ 0.2.1)、Node.js 24+,对接 WHOOP API v2。一句话定位:轻松连接 WHOOP 账号、自动拉取数据,在 DSH 主面板集中查看恢复、负荷、睡眠与运动记录。许可证为 MIT(package.json 版本 1.0.0)。WHOOP 相关商标归 WHOOP, Inc.;该项目为个人开发的第三方插件,与 WHOOP 官方无关。

核心功能

简单连接

不需要手写 OAuth 配置。设置页提供四步引导:打开 WHOOP 开发者平台 → 创建应用 → 粘贴 Client ID / Client Secret → 授权绑定。回调地址可一键复制;插件在本机处理 HTTPS 回调(默认涉及 https://localhost:8443 与自签名证书)。

自动同步

连接一次后,每次进入看板会自动拉取最近 30 天数据;访问令牌在过期前通过 offline scope 自动续期,无需反复登录。看板右上角支持手动刷新;每次进入页面也会自动刷新一次。

专属健康看板

看板在 DSH 主面板内展示 WHOOP 数据,适配 DSH 明暗主题,右上角可切换中英文。README 中列出的区域包括:

区域 内容
三环主视觉 恢复分数(0–100)、每日负荷(0–21)、睡眠表现(0–100)
今日指标 HRV、静息心率、呼吸频率、血氧、皮肤温度、步数、能量、睡眠时长 / 效率 / 一致性
趋势 恢复 + HRV、静息心率、每日负荷、睡眠表现与一致性,支持 7 / 14 / 30 天
睡眠详情 浅睡 / 深睡 / REM / 清醒、实际 vs 所需睡眠、入睡 / 起床、干扰次数
训练记录 运动类型、时长、负荷、心率、能量、距离、心率区间等
身体与资料 账号姓名 / 邮箱、身高、体重、最大心率

图表由纯 SVG 绘制,不依赖第三方图表库。Host 端负责 OAuth、令牌与 WHOOP API 聚合;浏览器端负责侧边栏、设置向导与看板。

数据与隐私(README 说明)

  • OAuth 凭据与令牌保存在 ~/.dsh-whoop-easy-connect/state.json(权限 0600),自签名证书在同目录 tls/ 下。
  • 插件仅请求 WHOOP 官方 API(api.prod.whoop.com),README 写明不向其他第三方发送健康数据、无遥测。
  • 设置页可「解除绑定」,会调用 WHOOP 吊销接口并删除本地令牌。

安装与启用

插件以当前 DSH 进程权限运行;安装前建议自行查看 GitHub 仓库 源码与 MIT 许可证。

方式一:从 GitHub 安装(README 推荐)

在终端执行(将 desktop 换成你的 DSH profile 名称):

dsh plugin --profile desktop add github:ShawnRen57/dsh-whoop-easy-connect

也可在 DSH 内让 Agent 执行:

plugin_manager install_bundle target=github:ShawnRen57/dsh-whoop-easy-connect

安装后左侧栏应出现 WHOOP健康;若未出现,刷新页面一次。

方式二:插件市场

在 DSH 插件 → 发现 中添加社区插件索引,搜索 “WHOOP Easy Connect” 后安装。开放插件市场索引:https://dshopen.org/index.json。社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系。

典型用法:四步连接 WHOOP

WHOOP 要求每个应用使用自己的 OAuth 凭据,因此需在 developer-dashboard.whoop.com 创建一次应用;回调、令牌交换与续期由插件完成。

  1. 登录 WHOOP 开发者平台:在插件设置页打开开发者后台并用 WHOOP 账号登录。
  2. 创建 WHOOP 应用:填写 App 信息;将插件页面显示的回调地址复制到应用的 Redirect #1;勾选数据权限后 CREATE APP。
  3. 填写 Client ID / Client Secret:在设置页双击输入框编辑,粘贴并保存;凭据只保存在本机。
  4. 授权绑定:点击「绑定 WHOOP 账号」,在浏览器完成授权。首次访问本机回调时,浏览器可能提示自签名证书,选择「高级 → 继续前往 localhost」即可。

浏览器显示「WHOOP 账号已连接」后回到 DSH,看板即可显示真实数据。

适用场景与注意

适合谁:已在 DSH(≥ 0.2.1)环境中工作、使用 WHOOP 设备,希望在同一主面板查看恢复 / 负荷 / 睡眠 / 训练趋势,且愿意在 WHOOP 开发者后台创建个人 OAuth 应用的开发者。

常见问题(摘自 README):

  • 部分指标显示「—」:多为 WHOOP 未提供该数据(设备或当日未评分),不一定是插件故障。
  • 授权后仍显示未绑定:核对 Redirect #1 与插件显示的回调地址完全一致,并确认 Client ID / Secret 已保存。
  • 8443 端口被占用:插件会记录警告并回退;释放端口或于插件配置更换端口后重新登记回调地址。
  • 修改 Host 端代码后若未生效,可重启 DSH。

参考链接

经过上面的步骤,你可以在 DSH 内完成 WHOOP 连接与日常数据查看,而无需单独维护一套 OAuth 与看板前端。

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

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

Xiaoye