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
@@ -1,23 +1,37 @@
---
name: "wellness"
description: "管理按摩放松记录:查询/新增技师联系人(cc_contract放松记录(cc_contract_record),本地 MySQL wellness 库。"
description: "管理按摩放松记录:查询/新增技师联系人(cc_contract放松记录(cc_contract_record),本地 MySQL wellness 库。"
---
# Wellness — 按摩放松记录管理
管理本地 MySQL `wellness` 数据库,专注**按摩/放松**方向的技师联系人(联系方式)与每次放松记录的**查询与新增**。统计功能后续扩展。
**边界**:本库只记**到店/付费服务**的消费记录(技师联系人 + 每次服务记录)。健康/皮肤病症(湿疹、闭口粉刺、用药等)不属于本库,归 fitness(健康)agent 的健康档案。
## 数据库连接
复用 db-query skill 配置,数据库名「按摩放松」:
本库 `wellness` 是 agent `wellness` 的私有库:库名 = agent id,账号 `agent_wellness`,唯一入口 `db-conn.sh`
```bash
python3 skills/db-query/scripts/db_query.py --database "按摩放松" --query "<SQL>"
~/.openclaw/scripts/db-conn.sh wellness --sql "<SQL>"
```
- 连接方式:localhost Docker MySQL127.0.0.1:3306),user=rootpassword 已配置
- 所有查询/写入都走 db-query 脚本,凭据不直连
- 执行路径:`/home/yangxuan/.openclaw/workspace/skills/db-query/scripts/db_query.py`
- 口令存 `~/.openclaw/.env``DB_PASSWORD_放松保健`,由脚本内部读取(不进命令行、不打印)
- **禁止 root、禁止 docker exec 直连、禁止跨库**;旧写法(root 账号、`db-query --database "按摩放松"`)已废弃
### 中文乱码 / 写入失败(实测坑)
`db-conn.sh` 的 mysql 客户端连接字符集默认是 **latin1**(读写都受影响;这是 `db-conn.sh` 层面的行为,**其他 agent 的库同样适用**):
- 读:不带 `SET NAMES utf8mb4;` 时中文列全部返回 `???`
- 写:中文 INSERT/UPDATE 报 `ERROR 1265 Data truncated for column '<列名>'`
把该语句放在同一条 `--sql` 的最前面即可正常读写:
```bash
~/.openclaw/scripts/db-conn.sh wellness --sql "SET NAMES utf8mb4; SELECT contract_name,record_locale,comment FROM cc_contract_record ORDER BY record_date DESC LIMIT 5"
```
## 表结构
@@ -66,10 +80,10 @@ INSERT INTO cc_contract
(id, name, wechat, qq, phone, address, price, description, comment, group_type,
is_delete, status, deleted, gmt_create, gmt_update, score)
VALUES
(UUID(), '<name>', '<wechat>', '<qq>', '<phone>', '<address>', <price>, '<desc>', '<comment>', <group_type>,
(REPLACE(UUID(),'-',''), '<name>', '<wechat>', '<qq>', '<phone>', '<address>', <price>, '<desc>', '<comment>', <group_type>,
0, 0, 0, NOW(), NOW(), <score>)
```
> `<id>` 用 `UUID()` 生成(32位无横线)。若 name 已存在会因 UNIQUE 冲突报错,先查询确认。
> `cc_contract.id` 是 `varchar(32)`**必须去横线**。直接 `UUID()` 是 36 位,strict mode 下报 `ERROR 1406 Data too long`(实测);用 `REPLACE(UUID(),'-','')` 得 32 位。`cc_contract_record.id` 是 `varchar(50)`36 位也能存,但同样用去横线写法保持一致。若 name 已存在会因 UNIQUE 冲突报错,先查询确认。
**新增一次放松记录**
```sql
@@ -77,16 +91,16 @@ INSERT INTO cc_contract_record
(id, contract_id, contract_name, record_date, record_locale, price, score, comment,
is_delete, status, deleted, gmt_create, gmt_update)
VALUES
(UUID(), '<contract_id>', '<name>', '<record_date>', '<record_locale>', <price>, <score>, '<comment>',
(REPLACE(UUID(),'-',''), '<contract_id>', '<name>', '<record_date>', '<record_locale>', <price>, <score>, '<comment>',
0, 0, 0, NOW(), NOW())
```
> contract_id 需先从 cc_contract 查到对应联系人 idrecord_date 用 `YYYY-MM-DD`record_locale 必填。
> contract_id 需先从 cc_contract 查到对应联系人 idrecord_date 用 `YYYY-MM-DD`record_locale 必填——**用户没说地点时用机构名占位**(如 `奢思雅`),不要留空。价格/评分未提供时:price 留 `NULL`、score 走列默认 `0`=未评分),事后拿到再 `UPDATE` 补,不要为了凑字段而追问
### 3. 更新 / 软删
- 更新联系人/记录:`UPDATE ... WHERE id='<id>'`(保留软删字段不变)
- 软删:`UPDATE cc_contract SET status=1,deleted=1 WHERE id='<id>'`(不物理删除)
⚠️ **写入前先 SELECT 确认目标存在**,避免误操作。所有写入均通过 db-query 脚本执行。
⚠️ **写入前先 SELECT 确认目标存在**,避免误操作。所有写入均通过 `db-conn.sh wellness` 执行。
## 通用原则
- 全程中文交互