OoO
5935a6512c
CD Pipeline / deploy (push) Successful in 2m31s
feat(p38): Telegram 補 4 個 AI 觀測台命令(B-3 完成)
統帥盤點要求:6 個觀測頁是否都有 Telegram 對應?
盤點結果:promotion_review 已有 (pg_ok/pg_no inline button),剩 4 個缺。
新增 4 個 cmd handler 對應 4 個觀測頁面:
1. cmd:obs_ai_calls — AI 呼叫總覽(24h)
- 總呼叫 / Token / cost / errors / RAG 命中 / cache 命中
- Top 5 provider 分組
2. cmd:obs_health — 主機健康監控
- 三主機 GCP-A / GCP-B / 111 即時 HTTP probe
- 過去 24h uptime % + 平均 response_ms(讀 host_health_probes)
3. cmd:obs_budget — 預算控管
- 當月 spent vs budget 各 provider
- 超 alert_pct 自動標記 ⚠️ / 超 100% 標記 🚨
4. cmd:obs_quality — Caller 反饋趨勢
- 過去 30 日 avg_score 最低 8 名
- 含 thumbs_up/down + trend 圖示
- 含 智能建議(feedback_quality_tracker)
UI/UX:
- main_menu_keyboard 加「🛰 AI 觀測台」入口
- 新 _submenu_observability() 在 menu_keyboards.py
- _SUBMENUS 註冊 'observability' key
- titles 映射加 observability 標題
- 4 個命令 cross-link(彼此互通 + 返回主選單)
Telegram 6/6 對應達成:
- promotion_review: pg_ok/pg_no inline button (既有)
- ai_calls: cmd:obs_ai_calls (新增)
- host_health: cmd:obs_health (新增)
- budget: cmd:obs_budget (新增)
- quality_trend: cmd:obs_quality (新增)
- ppt_audit: 既有「有 issues 才推 Telegram」推送行為(不需查詢命令)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-04 18:58:30 +08:00
..
2026-04-28 15:26:20 +08:00
2026-05-04 18:58:30 +08:00
2026-04-19 01:21:13 +08:00
2026-05-01 14:02:37 +08:00
2026-04-29 23:41:03 +08:00
2026-04-29 23:57:36 +08:00
2026-05-04 10:48:22 +08:00
2026-04-19 01:21:13 +08:00
2026-04-29 22:56:00 +08:00
2026-05-01 16:34:13 +08:00
2026-04-25 03:30:14 +08:00
2026-05-03 23:05:11 +08:00
2026-05-04 11:00:04 +08:00
2026-04-29 23:41:03 +08:00
2026-05-01 16:34:13 +08:00
2026-04-29 21:35:56 +08:00
2026-05-02 14:34:30 +08:00
2026-05-04 18:55:39 +08:00
2026-05-01 20:56:17 +08:00
2026-04-19 01:21:13 +08:00
2026-05-04 10:36:56 +08:00
2026-04-28 13:57:44 +08:00
2026-04-28 15:37:07 +08:00
2026-04-27 21:28:23 +08:00
2026-05-02 13:07:30 +08:00
2026-04-22 01:12:23 +08:00
2026-05-04 10:19:13 +08:00
2026-05-02 13:09:34 +08:00
2026-05-03 23:26:18 +08:00
2026-05-03 23:06:08 +08:00
2026-04-30 13:59:12 +08:00
2026-04-30 09:33:39 +08:00
2026-05-02 15:01:55 +08:00
2026-05-04 11:12:52 +08:00
2026-04-19 01:21:13 +08:00
2026-04-27 21:11:52 +08:00
2026-05-03 23:56:12 +08:00
2026-05-03 13:10:55 +08:00
2026-04-28 19:42:05 +08:00
2026-05-04 09:16:39 +08:00
2026-05-04 10:19:13 +08:00
2026-05-04 10:54:12 +08:00
2026-04-27 21:28:23 +08:00
2026-05-04 09:34:21 +08:00
2026-04-25 01:42:40 +08:00
2026-05-04 09:34:21 +08:00
2026-04-19 01:21:13 +08:00
2026-04-19 01:21:13 +08:00
2026-05-03 23:28:45 +08:00
2026-04-29 22:48:24 +08:00
2026-04-29 22:37:20 +08:00
2026-05-04 11:00:04 +08:00
2026-04-29 23:10:27 +08:00
2026-05-02 13:04:18 +08:00
2026-05-04 10:19:13 +08:00
2026-04-19 01:21:13 +08:00
2026-04-20 06:09:33 +08:00
2026-04-19 01:21:13 +08:00
2026-04-22 01:12:23 +08:00
2026-05-03 13:10:15 +08:00
2026-05-04 18:55:39 +08:00
2026-05-02 12:00:34 +08:00
2026-05-04 09:31:31 +08:00
2026-05-04 11:12:52 +08:00
2026-04-27 21:28:23 +08:00
2026-05-03 00:03:38 +08:00
2026-05-03 23:56:12 +08:00
2026-05-02 12:01:04 +08:00
2026-05-03 23:04:58 +08:00
2026-04-19 01:21:13 +08:00
2026-04-19 01:21:13 +08:00
2026-04-27 20:34:15 +08:00
2026-04-19 01:21:13 +08:00
2026-05-01 14:20:09 +08:00