feat(agent-db): 引入 db-conn.sh 统一数据库入口,各 agent 改用专用账号

- 新增 scripts/db-conn.sh:按 agent id 反查中文名,读 .env 后经 MYSQL_PWD 转发给 docker exec,口令不进 argv/stdout,--print 只输出占位符
- new-agent.sh 新增 --adopt 模式(为既有 agent 补建库/账号),与 --reset-password 互斥
- AGENTS.md.tpl 与 11 个 workspace-*/AGENTS.md 改用 db-conn.sh,禁用 root 与 docker exec 直连
- mysql-schema-sync 技能改用 MYSQL_PWD_SQL 环境变量,不再硬编码密码
- 设计文档补附录 A 第 8 条:中文键名无法注入 agent 环境的三条实测依据
This commit is contained in:
2026-09-16 11:30:55 +08:00
parent 75d3aa8067
commit 31c9958741
16 changed files with 315 additions and 14 deletions
+7
View File
@@ -150,3 +150,10 @@ Add whatever helps you do your job. This is your cheat sheet.
- `proxmox-backup-manager datastore list`
- `proxmox-backup-manager task list`
- `df -h`, `ls`, `cat` 等查询类命令
## 数据库规范(专用账号)
- 默认库:`pbs`;账号:`agent_pbs`
- 连接(推荐):`~/.openclaw/scripts/db-conn.sh pbs`(交互式)或 `~/.openclaw/scripts/db-conn.sh pbs --sql "select database()"`
- 该脚本自动从 `~/.openclaw/.env` 读取本 agent 的专属口令(键名 `DB_PASSWORD_PBS备份`),口令不会出现在命令行中
- 禁止使用 root、禁止 docker exec、禁止访问其他 agent 的库