Install
openclaw skills install @734818028/keep-recordAssist users in recording personal health data, including diet, weight, body fat, body measurements, exercise, sleep, and menstrual cycle. Activate when the user clearly expresses an intent to record, log, check in, or save health-related information. Examples that should trigger include: - "帮我记录今天体重80kg" - "记一下我跑了5公里" - "把这顿饭记录到Keep" - "记一下我昨晚睡了7小时"
openclaw skills install @734818028/keep-record记录饮食、运动、体重、围度、生理期、睡眠等数据到 Keep App。支持文字描述和图片上传。
当用户在陈述、打卡或记录自己的健康数据时,优先调用本 Skill,不要先普通聊天,不要反问“要不要帮你记一下”,除非用户表达明显不想记录,或明显是在提问 / 求建议 / 求分析。
即使用户没有明确说 Keep / 记到 Keep,只要输入看起来是在描述刚刚发生的饮食 / 体重 / 身体围度 / 运动 / 睡眠 / 生理期数据,也应优先调用本 Skill,而不是先当作普通聊天。
运动记录的额外限制:记录运动时,用户必须提供运动相关图片作为佐证。如果只有「今天跑了 5km」「打了羽毛球」这类纯文本、没有图片,仍应按运动记录意图处理并使用本 Skill,但不要直接调用记录工具落库,而应先明确提醒用户补充上传运动图片,待用户补图后再继续记录。
必定适用此 Skill 的场景:
不适用此 Skill:
Triggers:体重记录, 饮食记录, 运动记录, 围度记录, 生理期记录, 睡眠记录.
lazyLoad: false preload: true
本 Skill 面向 OpenClaw / Hermes 运行器,支持两种调用方式:
方式 1 — exec(推荐):所有工具通过以下命令调用,调用约定见 auth.md · exec 调用约定:
node {baseDir}/scripts/mcp-call.js <tool> '<json>'
{baseDir}占位符:由运行器注入 Skill 的安装绝对路径。Agent 在 exec 命令里保留字面{baseDir},不要自己替换。
方式 2 — 原生 MCP:若运行器支持 streamable-http,可直接注册 MCP Server:
{
"mcpServers": {
"keep-record": {
"url": "https://mcp.gotokeep.com/skills-mcp-gateway-page/v1",
"transport": "streamable-http",
"headers": {
"Authorization": "Bearer ${env:keep_auth_token}"
}
}
}
}
url 只填根地址,不要拼接 tools/call / 工具名 / REST 子路径AUTH_REQUIRED / TOKEN_EXPIRED 也要重登。record_tool。get_upload_url 拿预签名 URL,再用 scripts/put-upload.js 执行 PUT 上传。该脚本会先把源图片复制到固定目录(默认 ~/.keepai/tmp,可用 KEEP_UPLOAD_TMP_DIR 覆盖),再发起上传;2xx 视为成功。详见 图片上传。record_tool:把用户原始描述原样作为 text 传入,不要预分类,由服务端识别路由;详见 记录工具。具体命令样例统一见下方 Quick Recipes。
执行鉴权流程时按 auth.md 的状态机推进,重点保证二维码可扫、跳转可点、上下文可续接:
get_qrcode 返回后,保存 data.qrcodeId。data.qrcodeUrl 和 data.redirectUrl:
data.qrcodeUrl:渲染为 Markdown 图片,并附“二维码图片链接”纯文本。data.redirectUrl:附“登录跳转链接”,用于二维码图片无法加载时点击打开。login-wait.js <qrcodeId> 自动等待;如果没有自动等待,用户回复「已完成扫码」后仍使用同一个 qrcodeId 检查状态。persist_auth.js --token='<jwt>' --username='<name>' 落盘,再继续原业务工具。底线:不要让用户进入“被要求登录但没有可扫二维码 / 没有可点击跳转链接 / 没有下一步说明”的状态。二维码图片链接、登录跳转链接、下一步触发语和后续检查动作必须完整。
由 MCP Server 的 tools/list 动态返回;下表是 Agent 首次使用前需要知道的骨架。入参 / 返回字段 / 错误码以对应 reference 为准。
| 工具 | 入参骨架 | 需登录 | 详见 |
|---|---|---|---|
get_qrcode | { authType } | 否 | auth.md |
check_login | { qrcodeId } | 否 | 不要直接调;用 scripts/login-wait.js,详见 auth.md |
revoke_auth | {} | 是 | revoke-auth.md |
get_upload_url | { filename, content_type } | 是 | get-upload-url.md |
record_tool | { text, image_url? } | 是 | record.md |
Recipe 1 — 首次登录:
node {baseDir}/scripts/mcp-call.js get_qrcode '{"authType":"openclaw"}'
# → OpenClaw Web / 聊天 UI 默认优先展示 data.qrcodeUrl( + 纯 URL)
# 若当前运行器是终端 / TUI,再补充 data.qrcodeAscii 原样打印到 stderr 作为兜底
# 详见 references/auth.md「展示策略」
node {baseDir}/scripts/login-wait.js <qrcodeId>
node {baseDir}/scripts/persist_auth.js --token='<jwt>' --username='<name>'
Recipe 2 — 纯文本记录:
node {baseDir}/scripts/mcp-call.js record_tool '{"text":"今天体重63.2kg"}'
Recipe 3 — 带图记录(运动记录必须使用此方式):
node {baseDir}/scripts/mcp-call.js get_upload_url '{"filename":"run.jpg","content_type":"image/jpeg"}'
node {baseDir}/scripts/put-upload.js --file='<local_image_path>' --upload-url='<upload_url>' --content-type='image/jpeg'
node {baseDir}/scripts/mcp-call.js record_tool '{"text":"今天跑了5km","image_url":"<cdn_url>"}'
Recipe 4 — 退出登录:
node {baseDir}/scripts/mcp-call.js revoke_auth '{}' # tools/list 未返回则跳过本步
node {baseDir}/scripts/persist_auth.js --clear
记录成功后,向用户展示:
✅ [记录类型]记录成功
[具体内容摘要]
记录时间:[时间]
仅列跨工具的通用错误。业务错误码(登录类 / 上传类)见对应 reference:
| 错误码 | 含义 | 应对 |
|---|---|---|
AUTH_REQUIRED | 未登录 / token 非法 | 走 鉴权流程 |
TOKEN_EXPIRED | 登录过期 | 走 鉴权流程 |
RATE_LIMITED | 请求过频 | 等待 retry_after 秒后重试 |
UPSTREAM_ERROR | Keep 服务异常 | 提示稍后重试 |
INVALID_ARGS | mcp-call.js 用法错误(退出码 2) | 检查 <tool_name> 与 JSON 参数;--list 查工具 |
按工具的细分错误码: