返回顶部
r

runstr-fitnessRUNSTR健身

Give your AI agent access to your health and fitness data from RUNSTR. Fetches workouts, habits, journal entries, mood, steps, and more from Nostr. Use when the user asks about their workouts, fitness history, health habits, mood tracking, or wants AI fitness coaching based on real data.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.0
安全检测
已通过
1,517
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

runstr-fitness

RUNSTR 健身技能

让您的AI代理访问您真实的健康和健身数据。RUNSTR是一款免费的健身应用,可追踪锻炼、习惯、日记、情绪和步数,并在Nostr协议上存储加密备份。此技能让您的机器人能够读取这些数据,从而帮助进行健身指导、习惯问责、情绪追踪和健康洞察。

您的机器人可以访问的内容:

  • - 锻炼历史(跑步、步行、骑行、徒步、力量训练、瑜伽等)
  • 日常习惯和连续记录(戒烟、每日冥想等)
  • 带有情绪和能量水平的日记条目
  • 每日步数
  • 您支持的慈善机构和奖励路由

设置:将您的数据传输到机器人

如果您已经是RUNSTR用户并启用了备份,请跳至第3步。

1. 下载RUNSTR(如果尚未下载)

  • - iOS:在App Store搜索RUNSTR
  • Android:可在Zapstore或直接APK获取
  • GitHub:https://github.com/RUNSTR(开源)

RUNSTR是免费的。您可以通过锻炼赚取比特币(聪)。

2. 使用应用

  • - 创建或导入Nostr身份(应用会为您生成一个)
  • 追踪锻炼、记录习惯、撰写日记条目
  • 前往设置 > 备份,点击备份到Nostr

这将加密您所有的健身数据并发布到Nostr中继。只有您(使用您的私钥)才能读取。

3. 将您的nsec提供给机器人

您的nsec是您的Nostr私钥。在RUNSTR的设置 > 密钥(或您的Nostr密钥管理器)中找到它。

告诉您的机器人:这是我的RUNSTR nsec:nsec1...

机器人使用nsec从Nostr解密您加密的健身备份。nsec不会被存储、记录或传输——它仅用于当前会话中的解密步骤。

为什么用nsec而不是npub? 您的健身数据是加密的。公钥(npub)只能看到旧的公开锻炼帖子(如果有的话)。需要私钥(nsec)才能解密您的习惯、日记、情绪、步数和当前锻炼历史。

隐私说明: 如果您想为健身数据使用专用身份,请在RUNSTR中创建一个新的Nostr账户。您的健身nsec不必是您的主要Nostr身份。

4. 保持备份更新

您的机器人会看到您上次备份的内容。经过一周的新锻炼后,前往RUNSTR的设置 > 备份,再次点击备份以将最新数据同步到Nostr。

针对代理:如何获取RUNSTR数据

以下所有内容都是针对AI代理的说明,而非用户。

先决条件

必须安装nak(Nostr瑞士军刀):
bash
go install github.com/fiatjaf/nak@latest

中继

始终查询这四个中继(RUNSTR默认):

wss://relay.damus.io wss://relay.primal.net wss://nos.lol wss://relay.nostr.band

步骤1:解码nsec

bash
hex_sk=$(nak decode nsec1...)
hexpk=$(nak key public $hexsk)

步骤2:获取个人资料(种类0)

bash
nak req -k 0 -a $hex_pk -l 1 \
wss://relay.damus.io wss://nos.lol | \
jq -r .content | fromjson | {name, about, lud16, picture}

步骤3:获取加密备份(种类30078)

这是主要数据源

bash
nak req -k 30078 -a $hex_pk -t d=runstr-workout-backup -l 1 \
wss://relay.damus.io wss://relay.primal.net wss://nos.lol wss://relay.nostr.band

如果未找到备份: 告诉用户:在Nostr上未找到备份。请在手机上打开RUNSTR,前往设置 > 备份,创建一个备份。然后重试。

如果找到备份但exportedAt较旧: 警告用户备份已过时,可能缺少近期数据。建议他们在应用中重新备份。

解密备份

备份是NIP-44自加密并经过gzip压缩的。

方法1:使用nak
bash
content=$(nak req -k 30078 -a $hex_pk -t d=runstr-workout-backup -l 1 \
wss://relay.damus.io wss://nos.lol | jq -r .content)

解密(NIP-44自解密:用户对自己的公钥)

decrypted=$(echo $content | nak encrypt --sec $hexsk $hexpk --decrypt)

解压缩(先检查是否有[compression, gzip]标签)

echo $decrypted | base64 -d | gunzip | jq .

方法2:Node.js备用方案
javascript
// /tmp/decrypt-runstr.mjs — 运行方式:node /tmp/decrypt-runstr.mjs
import { gunzipSync } from zlib;
import NDK, { NDKPrivateKeySigner } from @nostr-dev-kit/ndk;

const signer = new NDKPrivateKeySigner(process.argv[2]);
const user = await signer.user();
const decrypted = await signer.decrypt(user, process.argv[3]);

try {
console.log(gunzipSync(Buffer.from(decrypted, base64)).toString());
} catch {
console.log(decrypted);
}

备份负载结构

json
{
version: 1,
exportedAt: 2025-01-15T10:30:00Z,
appVersion: 1.6.5,
workouts: [
{
id: uuid,
type: running,
startTime: 2025-01-15T07:00:00Z,
endTime: 2025-01-15T07:35:00Z,
duration: 2100,
distance: 5200,
calories: 312
}
],
habits: [
{
id: id,
name: No Smoking,
type: abstinence,
currentStreak: 45,
longestStreak: 45,
checkIns: [2025-01-15, 2025-01-14]
}
],
journal: [
{
id: uuid,
date: 2025-01-15,
content: Great morning run today.,
mood: great,
energy: 4,
tags: [morning, outdoors]
}
],
stepHistory: [
{ date: 2025-01-15, steps: 12450, source: healthkit }
],
preferences: {
unitSystem: imperial,
selectedCharity: hrf
}
}

字段参考:

  • - workouts[].type:running, walking, cycling, hiking, strength, meditation, yoga, diet, swimming, rowing
  • workouts[].duration:秒
  • workouts[].distance:米
  • habits[].type:abstinence(戒除某事)或positive(建立某事)
  • journal[].mood:great, good, neutral, low, bad
  • journal[].energy:1-5等级
  • stepHistory[].source:healthkit, health_connect, native

步骤4:检查旧版公开锻炼(种类1301)

老用户可能有公开的锻炼事件。始终检查:

bash
nak req -k 1301 -a $hex_pk -l 50 \
wss://relay.damus.io wss://relay.primal.net wss://nos.lol wss://relay.nostr.band

如果找到,解析tags数组:

标签示例
exercise[exercise, running]
distance
[distance, 5.2, km] |
| duration | [duration, 00:30:45] |
| calories | [calories, 312] |
| avgpace | [avgpace, 05:39, min/km] |
| steps | [steps, 8432] |
| team | [team, hrf] |

与备份数据合并。通过匹配锻炼开始时间或ID进行去重。

步骤5:分析和呈现

锻炼摘要: 总锻炼次数、按活动分类、距离/时长/卡路

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 runstr-fitness-1776353584 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 runstr-fitness-1776353584 技能

通过命令行安装

skillhub install runstr-fitness-1776353584

下载

⬇ 下载 runstr-fitness v1.0.0(免费)

文件大小: 4.6 KB | 发布时间: 2026-4-17 14:12

v1.0.0 最新 2026-4-17 14:12
Initial release

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部