yumoqing e7045ab6ba fix(shell): sageReloadMenu always sets sidebar width and updates toggle icon
Previously sageReloadMenu only set sidebar width when collapsed (64px).
When expanded, the inline width was never restored, leaving the sidebar
potentially stuck at collapsed width after menu rebuild. The menu text
widgets (filler class with overflow:hidden) would clip labels to ~1 char.

Now both collapsed (64px) and expanded (240px) states explicitly set
sidebar.el.style.width and updateSidebarIcon after menu rebuild.
2026-07-27 11:12:37 +08:00
2026-06-17 17:26:20 +08:00

Dashboard for Sage

Sage 数据看板模块,基于 bricks-framework 的 ECharts 扩展控件实现。

功能

  1. 今日调用笔数和交易金额 - 每10秒自动刷新 llmusage 数据
  2. 用户总数 - 系统中注册用户数
  3. 当前并发用户数 - 近5分钟内有活跃记录的用户数
  4. Top 3 模型排名 - 按当天调用数量和交易金额排名

目录结构

dashboard_for_sage/
├── dashboard_for_sage/
│   ├── __init__.py
│   └── init.py           # 模块注册
├── wwwroot/
│   ├── index.ui           # 主看板页面
│   ├── menu.ui            # 菜单
│   ├── api/
│   │   ├── get_today_usage.dspy   # 今日用量API
│   │   ├── get_user_stats.dspy    # 用户统计API
│   │   └── get_top_models.dspy    # Top模型API
│   └── scripts/
│       └── dashboard_refresh.js   # 10秒自动刷新脚本
├── pyproject.toml
└── build.sh

部署

cd ~/repos/dashboard_for_sage
git pull
bash build.sh

# 设置RBAC权限在生产服务器上执行
cd ~/repos/sage && git pull
./py3/bin/python load_path.py

# 重启Sage
./stop.sh && ./start.sh

访问地址

/dashboard_for_sage/index.ui

Description
No description provided
Readme 872 KiB
Languages
Python 51%
CSS 31.1%
JavaScript 15.4%
Shell 2.5%