joy-cli/domains
feibisi aca533c8a8 feat(web): 运维 tab v2 重构 + 邮件 phase1 + Grafana 代理 + dashboard 数据增强
运维 tab v2 重设计:
- 状态条一行看全局(正常绿/异常红+具体问题)
- 基础设施 section:NATS + Docker + 服务 + NAS(四列布局)
- 网络探针 section:服务探针 + API 端点
- LLM section:网关+Provider合并 + 计量+计费合并 + Langfuse空壳折叠
- 资产台账 section:域名到期 + Agent名册(折叠)
- 四列 CSS grid 布局 + 跳转导航

邮件功能 Phase 1:
- /api/email/recent?vm=X&limit=N(SSH解析.eml header,支持MIME编码)
- /api/email/preview?vm=X&file=Y(提取text/plain正文,路径安全校验)
- 消息 tab 外勤邮箱section:可展开邮件列表 + 预览弹窗
- collect.py: VM_EMAIL_MAP + VM_CATCHALL_DOMAIN + owner标记
- web.py: handoff base支持HANDOFF.md预览

Grafana 链接:
- /grafana/* SSH反向代理到 devops:3003
- core.js GRAFANA_DASHBOARDS常量 + grafanaBadge()函数
- 运维tab/硬件tab/消息tab等6处加→Grafana链接

Dashboard 数据增强(konqi审阅同意C+轻量B方案):
- collect_errors 字典:失败chunk不再静默吞没
- logging.getLogger('joy.dashboard') → ~/logs/joy-dashboard-collect.log
- collect_meter_stats:joy meter all接入(Token计量)
- collect_new_api_stats:SSH查SQLite(计费/模型用量/渠道状态)
- 前端collect_errors banner + updateCollectErrors()

其他修复:
- ideas.js modii→modiqi拼写
- board.js/legacy.js 硬编码→动态读取
- 刷新周期15→20s(后端14s采集余量)
- mac_host内存加macOS内存模型说明
- parseResStr提取到core.js共享
- 响应式增强@768px/1100px
- localStorage键统一joy-前缀
- 批量操作加showConfirmModal二次确认
- 前端section try-catch错误边界
- Google Fonts异步加载(14→7 weight)
- CSRF校验硬编码8899→正则动态匹配
- 请求体1MB上限
- 删除design-tokens.json孤儿文件
- ops.js/health.py/sop.py/tux侧改动
2026-07-10 20:56:00 +08:00
..
ai-team.sh feat: joy CLI Python 2.0 — 50 命令全量重写 + pip 全集群部署 2026-07-07 11:38:03 +08:00
ailab.sh feat: joy CLI Python 2.0 — 50 命令全量重写 + pip 全集群部署 2026-07-07 11:38:03 +08:00
counsel.sh feat: joy CLI Python 2.0 — 50 命令全量重写 + pip 全集群部署 2026-07-07 11:38:03 +08:00
debian.sh feat: joy CLI Python 2.0 — 50 命令全量重写 + pip 全集群部署 2026-07-07 11:38:03 +08:00
devops.sh feat: joy CLI Python 2.0 — 50 命令全量重写 + pip 全集群部署 2026-07-07 11:38:03 +08:00
elementary.sh feat: joy CLI Python 2.0 — 50 命令全量重写 + pip 全集群部署 2026-07-07 11:38:03 +08:00
kali.sh feat: joy CLI Python 2.0 — 50 命令全量重写 + pip 全集群部署 2026-07-07 11:38:03 +08:00
modiqi.sh feat: joy CLI Python 2.0 — 50 命令全量重写 + pip 全集群部署 2026-07-07 11:38:03 +08:00
mude.sh feat: joy CLI Python 2.0 — 50 命令全量重写 + pip 全集群部署 2026-07-07 11:38:03 +08:00
qisike.sh feat: joy CLI Python 2.0 — 50 命令全量重写 + pip 全集群部署 2026-07-07 11:38:03 +08:00
scilab.sh feat(web): 运维 tab v2 重构 + 邮件 phase1 + Grafana 代理 + dashboard 数据增强 2026-07-10 20:56:00 +08:00
scout.sh feat: joy CLI Python 2.0 — 50 命令全量重写 + pip 全集群部署 2026-07-07 11:38:03 +08:00
studio.sh feat: joy CLI Python 2.0 — 50 命令全量重写 + pip 全集群部署 2026-07-07 11:38:03 +08:00
translate.sh feat: joy CLI Python 2.0 — 50 命令全量重写 + pip 全集群部署 2026-07-07 11:38:03 +08:00
weixiaoduo.sh feat: joy CLI Python 2.0 — 50 命令全量重写 + pip 全集群部署 2026-07-07 11:38:03 +08:00
wenpai.sh feat: joy CLI Python 2.0 — 50 命令全量重写 + pip 全集群部署 2026-07-07 11:38:03 +08:00