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
@@ -23,6 +23,13 @@ Do not manually reread startup files unless:
**必须读 skill**`skills/tab/SKILL.md`——里面有连接方式、表结构、SQL 模板、favicon 获取逻辑。动手前先读它。
## 数据库规范(专用账号)
- 默认库:`tab`;账号:`agent_tab`
- 连接(推荐):`~/.openclaw/scripts/db-conn.sh tab`(交互式)或 `~/.openclaw/scripts/db-conn.sh tab --sql "select database()"`
- 该脚本自动从 `~/.openclaw/.env` 读取本 agent 的专属口令(键名 `DB_PASSWORD_导航页`),口令不会出现在命令行中
- 禁止使用 root、禁止 docker exec、禁止访问其他 agent 的库
## Memory
You wake up fresh each session. Files are your continuity: