🔍 分类筛选
🔴 P0 必做(高优先级)
本次巡检最高优先级阻塞 / 待修复项
| 编号 | 任务 | 类别 | 说明 |
| P0-1 |
/itportal/ 入口 500 错误复燃 |
♻️ 历史遗留 |
看板 v1.7 标 "commit 21830d5 已修复(待部署)" 08-03;但 实际未部署。实测:/itportal/ → 500,/itportal → 404。根因:nginx location /itportal/ (line 133/306) 仍指向空 dist。dist 自 2026-07-08 空 28 天 |
| P0-2 |
sensitive_words.py 13 端点无鉴权 |
♻️ 历史遗留 |
GET/POST/PUT/DELETE /sensitive-words*、/privacy-patterns*、/moderation-logs[/stats]、/moderation-config 全部缺 @require_admin。08-04 已指出未治理。完全可复用 08-03 troubleshooting_templates.py 治理方案 |
| P0-3 |
closing_service.py:467 datetime 时区错位 |
🆕 新增 |
datetime.now() - close_time 报 TypeError: can't subtract offset-naive and offset-aware datetimes。影响 POST /h5/conversations/current/reopen。2026-08-03 16:08 连续 3 次 500 |
| P0-4 |
h5_ai_task.py:1198 SessionLocal NoneType |
🆕 新增 |
_push_asset_recommends 调 get_employee_profile_service() 时 db = SessionLocal() 返回 None → TypeError: 'NoneType' object is not callable。影响 IT 资产推荐异步推送。2026-08-04 01:36 + 02:29 两次 |
🟡 P1 重要
| 编号 | 任务 | 类别 | 说明 |
| P1-1 |
前端 console 残留 208 行 |
🆕 新增 |
frontend-h5/src 26 文件 + frontend-agent/src 14 文件含 console.log/warn/debug。建议 vite 构建时 terser drop_console: true + 加 lint 规则 |
🟢 等用户决策(阻塞项)
均超 3 天阈值,需 PM 升级催办
| 编号 | 任务 | 阻塞时长 | 卡点 / Owner |
| BLK-A |
企微会议室 Secret |
⚠️ 25 天(自 2026-07-11) |
需企业微信管理后台申请。Owner: 平台组 |
| BLK-B |
ITSM API 授权 |
⚠️ 25 天(自 2026-07-11) |
需向 ITSM 平台方申请 app_id/app_secret。Owner: 平台组 |
⏳ 进行中 (In Progress)
| 编号 | 任务 | 状态 | 说明 |
| #81 |
敏感词检测 + 语气优化 |
v1.2 待排期 |
v1.1 阶段 1 已于 2026-07-28 完成(词库入库 + 后台管理 UI + 12 配套 API)。剩余"语气优化、灰度策略细化"待 v1.2 排期 |
🖥️ 服务器运行状态
| 组件 | 状态 | 实测数据 |
| Docker 容器 | 正常 | 5/5 healthy:nginx (Up 15h) / backend (Up 35h) / redis (Up 2w) / postgres (Up 3w) / neo4j (Up 3w)。无 Exited/Restarting/Unhealthy |
| 后端 health | 正常 | /health → HTTP 200 in 3.9ms;/docs → 200 |
| 后端 5xx 错误 | 异常 | 24h 内 3 类真实 Traceback(见 P0-3 / P0-4) |
| PostgreSQL | 正常 | pg_isready → accepting connections |
| Redis | 正常 | redis_version:7.4.9 / 独立模式 + 密码认证 |
| Nginx 配置 | 正常 | nginx -t → syntax OK |
| 前端入口 | 异常 | /itportal/ 500、/itportal 404;/itdesk、/itagent、/itadmin 200 OK |
| 磁盘 / 内存 | 正常 | 130G 可用(13% 用)/ 15.7G→3.5G used / 负载 0.99 / 已运行 53 天 |
| 日志 | 正常 | 主 wecom-it-desk.log 9.1M (34294 行),5 个轮转日志各 21M,轮转正常 |
🔍 代码规范与质量检查
| 问题 | 位置 | 建议 |
| console.log 残留 208 行 / 40 文件 |
frontend-h5/src(26) + frontend-agent/src(14) |
加 lint 规则禁用 production console;或构建时 terser drop_console: true |
datetime.now() 混用 naive/aware |
closing_service.py: 7 处 + SQL 比较 3 处 |
引入项目内统一工具函数 utcnow() 替代 datetime.now(),DB 列 TIMESTAMPTZ 强制 aware 语义 |
| 历史残留目录 |
/opt/wecom-it-desk/app.bak-evening、dist-backup-2026-06-21、backups/、_backups/ |
清理以减少运维误判(避免"宿主残留目录误导校验"陷阱) |
| 后端无 print() 调试残留 |
src/backend/app/** |
grep 排除后通过 |
🔐 安全检查
| 风险 | 位置 | 修复 |
| P0 13 端点全部无鉴权 |
src/backend/app/api/admin/sensitive_words.py |
全部加 Depends(get_current_user) + @require_admin,参照 troubleshooting_templates.py 治理 |
| OK CORS 配置合理 |
main.py CORSMiddleware |
allow_origins=settings.cors_origins_list / allow_credentials=True / methods 限 5 种 / headers 仅 3 个。需验证 cors_origins_list 配置源未放开 * |
OK 前端 src/** 无硬编码密钥 |
grep api_key/access_token/app_secret |
仅命中 node_modules,通过 |
| 建议 依赖过期 |
cryptography==42.0.8、pydantic==2.7.4 |
升至 cryptography ≥ 43.x / pydantic ≥ 2.8.x 并跑回归 |
| OK 日志未见敏感信息 |
后端日志扫描 |
仅含 errcode、code masked、stack,通过 |
⚠️ PM 立即关注
1. 【最关键】/itportal/ 500 错误已持续 28 天
看板 v1.7 标 "commit 21830d5 已修复(待部署)",但 jumpserver 实测仍未部署。建议:① 立即部署 commit 21830d5(docker compose up -d --force-recreate nginx);② 或评估 /itportal/ 入口是否还需保留(看板记忆未提,按设计 #81 PRD 应走 /itdesk/ H5 入口)
2. sensitive_words.py 13 端点零鉴权(同昨日巡检结论,未治理)
与 08-03 troubleshooting_templates.py 5 端点是同类问题。建议立即复制其治理方案:GET → get_current_user;POST/PUT/DELETE → @require_admin
3. 3 类后端真实 5xx 24h 内集中爆发
① closing_service.py:467 → 改 utcnow() 并保证 DB 列 aware
② h5_ai_task.py:1198 → 检查为什么 get_employee_profile_service() 没拿到 db
③ OAuth2 errcode=40029 凌晨 3 次 → 评估是否企微回调 code 短时过期,或客户端重复刷新
4. 2 项长期阻塞(25 天)需升级
企微会议室 Secret + ITSM API 授权已超 3 天阈值。建议 PM 主动对接平台组负责人,或调整为"降级方案 + P0 重启"
5. 看板分区缺失
v1.7 仅"进行中/待开始/暂停"三个分区,无 P0/P1/等决策正式分区,导致巡检定位困难。建议 PM 提一版 v1.8 恢复分级分区(草稿已生成:docs/07-项目管理/项目状态看板.md v1.8 草稿)
🔄 与昨日(2026-08-04)对比
| 指标 | 08-04 巡检 | 08-05 巡检 | 变化 |
| 容器健康 | 5/5 healthy | 5/5 healthy | 持平 |
| /itportal/ 入口 | 🔴 500 | 🔴 500 | 未修复 |
| sensitive_words 鉴权 | 🔴 12 端点缺失 | 🔴 13 端点缺失 | 未治理 |
| 5xx 错误 | 未列 | 🔴 3 类新发现 | 新增 |
| 阻塞项时长 | 24 天 | 25 天 | +1 天 |
| 依赖版本 | cryptography 42.0.8 / pydantic 2.7.4 | 同上 | 未升级 |
🔗 相关链接
- 📄 看板:
docs/07-项目管理/项目状态看板.md v1.7 (08-03)
- 📋 看板 v1.8 草稿:
docs/07-项目管理/项目状态看板.md v1.8-DRAFT(待审核)
- 📂 巡检报告目录:
docs/07-项目管理/巡检报告/
- 🤖 自动化记录:
.workbuddy/automations/automation-1782986180887/memory.md
- 📦 工作记忆:
.workbuddy/memory/MEMORY.md + YYYY-MM-DD.md