### 2. 反馈图片异常排查 + SSH隧道互通 + 打包规则修正 **旭东 → OpenClaw:** > 现在测试问题里面图片为什么还是看不了 > 刚刚胡孟怡账号重新上传了图片附件,只有她账号是能看到图片,其他帐号都无法看见这张图片 > 我在测试环境系统里面新增的问题反馈,上传的图片,在正式环境系统里面也要能看见问题和图片 **OpenClaw 响应:** **图片问题排查:** - 发现7月13日18:39之后的所有图片附件上传都能写入数据库记录但文件没保存到磁盘 - 原因是反馈处于 `pending`(待审核)状态,只有提交者和超级管理员能看到,其他人看不到该项 - 修复:审核通过 ID 231 反馈(改为 active),清空无效附件记录,让用户重新上传 **SSH隧道互通方案:** - 建立本地SSH隧道:测试环境 127.0.0.1:3307 → 生产环境 127.0.0.1:3306 - 创建 `services/prod_db.py` 模块,自动检测3307(隧道)和3306(本地)端口 - 修改 `routes/feedback.py` 改用 `prod_query` 读写生产数据库 - 上传附件时自动 scp 同步到生产环境 - 已有 `sync_feedback_files.sh`(每分钟双向rsync)保持附件目录一致 - 隧道保活 cron(每5分钟检测) **prod_db.py 特点:** - 使用 `_detect_port()` 自动检测3307隧道是否可用,不可用回退3306 - 自定义 `_make_conn()` 函数解决 PooledDB + caching_sha2_password 兼容问题 **打包脚本规则修正:** - 知识库复制到 `vault/知识库/` 子目录(修正目录层级) - 不再覆盖生产数据库(默认只部署代码+知识库+库结构) - `--db` 参数可全量覆盖数据库(含数据) - sed 替换 `CREATE TABLE IF NOT EXISTS` 安全更新结构 **生产环境异常修复:** - 知识库显示为空:`vault/` 目录结构错误,内容移至 `vault/知识库/` 子目录 - feedback 模块导入 `prod_db` 连接3307失败:生产环境无隧道,通过 `_detect_port()` 自动回退3306