OoO
|
72a7c385d5
|
feat(p26): PPT 視覺審核 daily 22:00 cron — minicpm-v 自動掃當天新生 .pptx
CD Pipeline / deploy (push) Successful in 2m54s
Operation Ollama-First v5.0 / Phase 26 — PPT 自我審視整合
services/ppt_vision_service.py 擴充:
- check_ppt_file(pptx_path, max_slides=5) — 整檔視覺檢查
• LibreOffice headless 轉每張 slide 為 png
• 對前 N 張跑 check_image
• 彙總 issues + 平均 confidence
• fail-safe:LibreOffice 不在 / 轉檔失敗 → 回 skip 不阻擋
- audit_recent_ppts(reports_dir, hours=24, max_files=10)
• 掃 reports/ 過去 24h 新生 .pptx(getmtime filter)
• 對每個檔跑 check_ppt_file
• 彙總總 issues
- push_ppt_audit_to_telegram(summary)
• 有 issues 才推 Telegram(避免「無問題」洗版)
• 每檔最多 3 張 slide / 每張 2 個 issue 列出
run_scheduler.py — 每日 22:00 cron
- run_ppt_vision_audit task wrapper
- PPT_VISION_ENABLED=false 時 service 內部 skip(不打 LLM)
設計哲學:
不動既有 5 個 prs.save() 呼叫點(risk 高)→ 改寫獨立 daily cron 集中處理
零侵入 PPT 生成主流程 / 零 risk regression / feature flag OFF 預設
部署需求:
LibreOffice headless(apt install libreoffice)— 不在則 cron task 自動 skip + log
tests/test_ppt_vision_audit.py (9 tests 全綠)
- flag OFF skip / 目錄不存在 / 無 .pptx
- 舊檔(>hours)filter / LibreOffice 不在 fail-safe
- check_ppt_file flag/missing 容錯
- Telegram 推播:無 issues 不推 / 有 issues 推
regression: ppt_vision_service 既有 6 tests 全綠
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-05-04 11:16:11 +08:00 |
|