你可能正在用着好几个健康设备,但管理起来却头疼不已?
其实吧,身边不少朋友都有好几款可穿戴设备:比如手上有块 Garmin 运动手表,床头放个 Withings 睡眠追踪器,偶尔还骑骑 Peloton 动感单车。每个设备都有自己的 App,数据东一块西一块,想统一查看健康状态?不存在的。这时候你就需要一个能把所有设备集成到一起的工具——Betterness CLI 的 connected-devices 技能就是干这个的。
说实话,我第一次看到这个技能的时候,第一反应是:“终于不用再在不同应用之间切来切去了!”今天就来聊聊怎么用它管理健康设备连接。放心,操作非常简单,就跟平时跟朋友聊天一样自然。
先搞定前置条件——别急着跑命令
技能页面里明确写了,使用前必须先阅读../betterness-shared/SKILL.md。这个共享技能负责认证和全局标志。你要是直接运行命令,大概率会报错。我上次就犯过这个错误,当时以为直接就能用,结果“Permission denied”弹了一脸。所以,先按下面步骤来:
- 确保你已经安装了 betterness-cli 并配置了全局认证(比如 API key 或 token)
- 熟悉全局标志,比如
--json用于输出 JSON - 如果你还没安装这个技能,执行:
npx skills add https://github.com/Betterness/betterness-cli --skill betterness-connected-devices
搞定之后,你就可以愉快地敲命令了。
第一件事:看看你目前连了哪些设备
运行betterness connected-devices list --json,终端会输出类似这样的 JSON:
[
{
"provider": "GARMIN",
"type": "native",
"syncEnabled": true,
"deviceId": "123456789"
},
{
"provider": "WITHINGS",
"type": "cloud",
"syncEnabled": false,
"deviceId": "abc-def-ghi"
}
]
可以看到每个设备的供应商、类型(原生/云)、同步是否开启以及设备 ID。如果你有多个设备但某个同步没开,就可以从这里发现问题。
第二件事:发现能连但还没连的设备
有时候你可能不知道除了 Garmin,还能连哪些品牌。用betterness connected-devices available --json就能列出所有支持但当前未连接的供应商。它会返回类似:
[
{"key": "OURA", "name": "Oura Ring", "description": "睡眠和活动追踪戒指"},
{"key": "PELOTON", "name": "Peloton", "description": "健身自行车和跑步机"},
...
]
你可以根据名称和描述决定要不要连。比如我一直想试试 Oura 戒指,看到这个选项后马上就行动了。
第三件事:连接一个新设备
连接分两种:普通设备和 Apple HealthKit。
普通设备连接:用link子命令。比如我想连 Garmin,就运行:
betterness connected-devices link --integration-key GARMIN --json
它会返回一个 URL,你需要在浏览器里打开这个 URL,授权 Betterness 访问你的 Garmin 数据。授权完成后,设备就自动连上了。
Apple HealthKit 连接:如果你用 iPhone,需要先通过 Junction 应用生成一个连接码。命令是:
betterness connected-devices apple-health-code --json
返回一个 connectionCode,你在 Junction 应用里输入这个码即可。之后 HealthKit 的数据就会同步到 Betterness。
第四件事:断开设备(安全第一!)
断开操作比较敏感,万一不小心断错了,数据收集就会中断。所以技能设计了一个“预览模式”——先跑一次 --dry-run 看看效果,确认后再执行。
# 预览
betterness connected-devices disconnect --integration-key GARMIN --dry-run --json
# 实际断开
betterness connected-devices disconnect --integration-key GARMIN --json
页面里还特别提醒了 Agent 规则:每次断开前必须先用 dry-run 预览,并且要得到用户确认。这个设计太贴心了,不用怕手滑。
一些实用技巧和注意事项
- 先查看可用设备,再连接: 用
available看看有哪些供应商,然后link去连。 - 至少连一个设备才能获取健康数据: 像活动、睡眠、生命体征、身体成分这些数据,都需要至少一个已连接的设备才能返回。如果你发现那些命令返回空,很可能就是没设备。可以先用
list检查一下。 - JSON 输出很好用: 所有命令都支持
--json,方便写入脚本或与其他工具配合。比如你可以写个 cron 定时检查设备连接状态,然后发通知。
我自己的实际体验
刚学这个技能的时候,我试着连了我的 Withings 体重秤。过程很简单,先 available 看到 Withings 在列表里,然后 link --integration-key WITHINGS,浏览器弹出来授权页面,点允许,OK。之后用 list 确认设备已经出现,然后再跑身体成分相关的命令,就真的有数据了!不过中间我遇到了一个小坑:忘了先授权共享技能里的认证,结果报错 401。现在想想,还好它报错了,不然我都不知道哪一步没做对。
断开设备的时候我特别小心,每次都先 dry-run,看到会断开哪个设备、是否影响其他集成。说实话这个设计真的很加分,毕竟健康数据太重要了,谁也不想误操作导致数据丢失。
写在最后
好啦,关于 connected-devices 技能就介绍到这里。总的来说,它帮你把各种健康设备连接、管理和断开都收拢到一个命令行里。如果你在用 Betterness 生态,或者有多个可穿戴设备,强烈建议试试。如果你还有其他问题,欢迎在评论区留言,我看到都会回。