auto: sync OpenClaw config 2026-09-16 22:13

This commit is contained in:
2026-09-16 22:13:36 +08:00
parent 43cd42a563
commit 10455625c4
11 changed files with 225 additions and 83 deletions
@@ -0,0 +1,37 @@
---
name: "fitness-db-access"
description: "读写 fitness 库健康数据时用:中文写入须前缀 SET NAMES utf8mb4(否则报错 1265 截断),斤转 kg,写后回读校验"
---
# Fitness 库读写
## 连接方式
一律用 `~/.openclaw/scripts/db-conn.sh fitness --sql "<SQL>"`(固定账号 `agent_fitness`)。
禁止 root、禁止 docker exec 直连、禁止访问其他 agent 的库。建表结构与字段以 AGENTS.md 为准,勿在此重复。
## 含中文的 SQL 必须以 `SET NAMES utf8mb4;` 开头
脚本内的 mysql 客户端连接字符集默认是 latin1(实测 `character_set_client` / `character_set_results` 均为 latin1)。因此:
- 写中文到 enum/文本列会直接失败:`ERROR 1265 (01000) ... Data truncated for column 'severity' at row 1`
- 读中文会返回乱码(如 enum 显示成 `'?'`
每条含中文的 SQL 都加前缀:
~/.openclaw/scripts/db-conn.sh fitness --sql "SET NAMES utf8mb4; INSERT INTO health_status_logs (...) VALUES (...)"
## 写入后回读(DML 与 DDL 都适用)
`--sql``-N -B` 执行(制表符分隔、无表头),INSERT 无输出即成功。
随后同条件 SELECT 回读,确认中文无乱码、字段无截断,再报完成。
建表/改表同样静默成功,用 `DESC <表>`(或 `SHOW CREATE TABLE <表>\G` 看 COMMENT 与索引)回读确认,再报完成。
## 体重单位换算
用户口述单位是「斤」,而 `body_records.weight` 存 kgdecimal(5,1)):kg = 斤 ÷ 2。
例:132.4 斤 → 66.2。
## 身体尺寸 / 尺码卡查询
尺寸单一真相来源是 `body_measurements`(字段清单见 AGENTS.md,勿在此重复)。取最新一条即"尺码卡":
~/.openclaw/scripts/db-conn.sh fitness --sql "SET NAMES utf8mb4; SELECT measure_date, height, shoulder_width, chest, waist, hip, arm_length, inseam, note FROM body_measurements WHERE user_id='yangxuan' ORDER BY measure_date DESC LIMIT 1;"
输出身高/肩宽/胸围/腰围/臀围/裤长,**必须标注腰围测法**:`waist` 是肚脐水平实测,与裤装标注腰围尺码可能差 2-4cm,买裤时以版型说明为准。
尺寸是无单位的 cm 数(与体重不同,**不做斤/公斤换算**),不要套用上面的体重换算。