feat(agent): 存量改造 + 凭据可达性修正

- scripts/db-conn.sh:agent 访问自己专属库的统一入口(口令经 MYSQL_PWD 环境转发,不进 argv、不打印)
- scripts/new-agent.sh:新增 --adopt 模式,为已存在 agent 补建库与账号
- 11 个 AGENTS.md:数据库口径对齐(专用账号 + helper),消除文档与实现不一致
- 修正架构缺陷:中文键名无法作为环境变量暴露给 agent —— 实测进程环境无该变量、
  MANAGED_ENV_KEYS 白名单不含且键随 agent 增长、官方 secrets store 要求纯大写 ASCII;
  故改用统一 helper 从 .env 读取(设计文档附录 A 第 8 条)
This commit is contained in:
2026-09-16 11:31:05 +08:00
parent a593dc1683
commit 707d116758
+3 -2
View File
@@ -85,8 +85,9 @@ Task D(红线+索引) ┘
## 数据库规范
- **默认库:** `{{AGENT_ID}}` —— 这就是我自己的库
- **账号:** `agent_{{AGENT_ID}}`
- **密码:** 环境变量 `DB_PASSWORD_{{AGENT_NAME}}`
- **连接** `mysql -h 127.0.0.1 -u agent_{{AGENT_ID}} -p"${DB_PASSWORD_{{AGENT_NAME}}}" {{AGENT_ID}}`
- **连接(推荐):** `~/.openclaw/scripts/db-conn.sh {{AGENT_ID}}`(交互式)或 `~/.openclaw/scripts/db-conn.sh {{AGENT_ID}} --sql "select database()"`
- **口令** 由该脚本自动从 `~/.openclaw/.env` 读取(键名 `DB_PASSWORD_{{AGENT_NAME}}`),口令不会出现在命令行中
- **禁止:** 使用 root、使用 `docker exec`、访问其他 agent 的库、跨库写入
- **建表前**先确认字段与索引;**破坏性语句**DROP / TRUNCATE / 无条件 DELETE)必须先请示