Files
wecom_it_smart_desk/.workbuddy/memory/2026-06-05.md
T

4.2 KiB
Raw Blame History

2026-06-05 工作日志

部署上线 - Bug 修复

Bug 1: nginx set 指令位置错误

  • 现象: "set" directive is not allowed here in nginx.conf:21
  • 原因: set 只能在 server/location 块内使用,不能放全局
  • 修复: 移除全局的 env DATAQUERY_HOST;set $dataquery_host 两行(proxy_pass 已硬编码 IP

Bug 2: alembic 找不到 app 模块

  • 现象: ModuleNotFoundError: No module named 'app'
  • 原因: alembic 命令执行时 PYTHONPATH 未设置
  • 修复: docker-compose.yml command 改为 cd /app && PYTHONPATH=/app alembic upgrade head

Bug 3: 前端 301 重定向死循环

  • 现象: /itdesk//itagent/ 返回 301,跟随重定向后仍 301
  • 原因: alias + try_files $uri $uri/ 组合触发 nginx 目录重定向
  • 修复: try_files 移除 $uri/,改为 try_files $uri /itdesk/index.html

Bug 4: system_configs 重复插入(未修复,不影响功能)

  • 现象: duplicate key value violates unique constraint "system_configs_config_key_key"
  • 影响: 每次重启会报错但服务正常启动(第二条 Application startup complete.
  • 待修: INSERT 应改为 INSERT ... ON CONFLICT DO NOTHING(幂等插入)

当前部署状态

  • 服务器: 10.80.0.129:18080G端)
  • 容器: 4/4 全部 Upbackend 标记 unhealthy,功能正常)
  • 前端: /itdesk/ /itagent/
  • API: /api/health
  • 数据平台: / 代理到 10.80.0.130:8080(对方 nginx 未配业务,返回默认页)
  • 待办: 配置企微回调 URL + 验证

Bug 5: API 路由 404 — 双重 /api 前缀

  • 现象: 所有 API 端点返回 404curl /api/test-ping → 404
  • 原因: nginx proxy_pass 已剥离 /api/ 前缀,但 FastAPI app.include_router(api_router, prefix="/api") 又加了一次 → 实际请求路径变成了 /api/test-ping404
  • 修复: main.py 移除 prefix="/api" → 仅 app.include_router(api_router)
  • 同时修复了 @app.get("/api/test-ping")@app.get("/test-ping") 等直接路由

Bug 6: Docker build 网络不通(G端无法访问 deb.debian.org

  • 现象: Docker build 在服务器上超时
  • 解决: 本地 Windows 构建镜像 → docker save → 上传 tar → 服务器 docker load -i 导入

数据库修复 — dify_conversation_id 列缺失

  • 现象: H5 AI 对话 500 报错 column conversations.dify_conversation_id does not exist
  • 原因: 数据库是通过 SQLAlchemy 模型直接创建的(非 alembic 迁移),model 里加了列但 DB 没有
  • 修复: psql -U postgres -d it_smart_desk -c "ALTER TABLE conversations ADD COLUMN IF NOT EXISTS dify_conversation_id VARCHAR(128);"
  • 发现: 服务器 .env 不存在,PG 只有 postgres 用户(默认值 wecom 未生效),数据库名 it_smart_desk

反向代理申请清单

  • 已输出 反向代理开通申请清单.md,含 nginx 配置片段、网络要求、防火墙规则
  • 入口:通过 it-dataquery.dc.servyou-it.com/itdesk/ /itagent/ /api/ /ws/ 路径路由

本地开发环境搭建(2026-06-05 下午)

  • SQLite schema 修复:conversations 表 + dify_conversation_idmessages 表 + 6 列
  • Python 3.12 venv 搭建,全部依赖安装(含补装的 aiosqlite)
  • Docker Redis 本地容器启动(localhost:6379 无密码)
  • 后端 FastAPI 启动(localhost:80006 核心服务就绪)
  • H5 前端 dev server 启动(localhost:5174.env.development 禁用 OAuth2
  • 核心 AI 对话管道验证通过(H5 → 后端 → Dify → 回复)
  • ⚠️ AI 回复内容显示 [object Object] — Dify 响应解析 bug,待修

IT 支持知识库导入快速回复模块

  • 源文件IT支持知识库2026-4-24.docx830 段落,178 个知识条目)
  • 导入结果178 条全部导入 quick_reply_templates 表
  • 分类分布:硬件(13)、网络(30)、软件(46)、安全(13)、账号(2)、通用(82)
  • Category 映射:办公电脑→硬件,软件工具→软件,办公设备→硬件,办公网络→网络,终端安全→安全,资产管理+其他业务→通用
  • API 验证GET /quick-replies 返回 186 条(8 条预置 + 178 条导入)