Files
openclaw-config/workspace-wellness/skills/wellness/SKILL.md
T
openclaw-314 f33afa77bb refactor(db-query): 本地库改走 db-conn.sh,远程迁至 db-remote.json
- db_query.py 重写:本地库由 agents.entries 动态推导并调用 db-conn.sh(账号 agent_<id>,不用 root、脚本不接触口令);远程改读 db-remote.json 的 password_env,SSH 隧道逻辑未改动
- db-config.json 更名为 db-config.json.deprecated-20260916(保留备查);新建 ~/.config/clawdbot/db-remote.json(3 个 VPS 主库,仅存口令键名,无明文)
- 同步调用方文档:workspace/MEMORY.md、wellness 与 tab 技能文档、workspace-finances/SOUL.md(删除含明文口令的旧连接块)
- 注:workspace/skills/** 受 .gitignore 覆盖,db-query 技能本体的改动仅存于磁盘未入库
- 已知遗留:workspace-finances/db_config.json(含明文)被 23 个历史脚本引用,未动
2026-09-16 11:52:30 +08:00

4.3 KiB
Raw Blame History

name, description
name description
wellness 管理按摩放松记录:查询/新增技师联系人(cc_contract)和放松记录(cc_contract_record),本地 MySQL wellness 库。

Wellness — 按摩放松记录管理

管理本地 MySQL wellness 数据库,专注按摩/放松方向的技师联系人(联系方式)与每次放松记录的查询与新增。统计功能后续扩展。

数据库连接

本库 wellness 是 agent wellness 的本地私有库:库名 = agent id,账号 agent_wellness,唯一入口 db-conn.sh

# 推荐(新机制唯一入口)
~/.openclaw/scripts/db-conn.sh wellness --sql "<SQL>"

# 也可以走 db-query skill(内部同样走 db-conn.sh
python3 /home/yangxuan/.openclaw/workspace/skills/db-query/scripts/db_query.py --database wellness --query "<SQL>"
  • 连接方式:本机 Docker MySQL 容器,账号 agent_wellness禁止 root、禁止 docker exec 直连、禁止跨库
  • 口令存 ~/.openclaw/.envDB_PASSWORD_放松保健,由 db-conn.sh 内部读取(不进命令行、不打印)
  • 执行路径:/home/yangxuan/.openclaw/workspace/skills/db-query/scripts/db_query.py

表结构

cc_contract — 技师/联系人

字段 类型 说明
id varchar(32) PK 联系人 id
name varchar(100) UNIQUE 名称(唯一)
face_url varchar(200) 头像地址
wechat / qq / phone varchar(100) 微信 / QQ / 电话
address varchar(500) 地址
is_read tinyint 是否已阅
price int 价格
description / comment text 描述 / 评论
group_type int 组别:0自营 1客服 2spa
score int 评分
gmt_create / gmt_update datetime 创建 / 更新时间
status tinyint 0有效 1无效
deleted bit(1) 是否删除

cc_contract_record — 每次放松记录

字段 类型 说明
id varchar(50) PK 记录 id
contract_id varchar(32) 对应联系人 id(必填)
contract_name varchar(100) 名称(冗余)
record_date date 日期(必填)
record_locale varchar(200) 地点(必填)
price int 价格
score int 评分
comment text 评论
gmt_create / gmt_update datetime 创建 / 更新时间

操作规范

1. 查询

  • 查联系人:SELECT id,name,phone,wechat,qq,address,price,score,group_type,comment FROM cc_contract WHERE deleted=0 AND status=0(可加 name LIKE / group_type / price 过滤)
  • 查一次记录:SELECT contract_name,record_date,record_locale,price,score,comment FROM cc_contract_record WHERE deleted=0 AND status=0 ORDER BY record_date DESC(可加 contract_id / 日期范围过滤)
  • 按技师查历史:... WHERE contract_id='<id>' ...
  • 展示给用户时用中文清晰呈现,联系方式公开非敏感

2. 记录(新增)

新增技师联系人

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>,
 0, 0, 0, NOW(), NOW(), <score>)

<id>UUID() 生成(32位无横线)。若 name 已存在会因 UNIQUE 冲突报错,先查询确认。

新增一次放松记录

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>',
 0, 0, 0, NOW(), NOW())

contract_id 需先从 cc_contract 查到对应联系人 idrecord_date 用 YYYY-MM-DDrecord_locale 必填。

3. 更新 / 软删

  • 更新联系人/记录:UPDATE ... WHERE id='<id>'(保留软删字段不变)
  • 软删:UPDATE cc_contract SET status=1,deleted=1 WHERE id='<id>'(不物理删除)

⚠️ 写入前先 SELECT 确认目标存在,避免误操作。所有写入均通过 db-query 脚本执行。

通用原则

  • 全程中文交互
  • 联系方式非敏感信息,正常展示,但不向第三方外泄
  • 任何删除/批量修改操作前,先向杨轩展示精确清单并确认
  • 统计/报表功能后续扩展,暂不做