Semantic Router 仪表板 (Semantic Router Dashboard)
Semantic Router 仪表板是一个统一的操作员界面,集成了配置管理 (Configuration Management)、交互式演练场 (Interactive Playground) 以及实时监控与可观测性。它为本地开发、Docker Compose 和 Kubernetes 部署提供了一个统一的入口点。
- 统一查 看和编辑配置(带有防护机制)
- 通过您喜欢的 UI (Open WebUI) 测试提示词
- 查看指标/仪表板 (Grafana/Prometheus)
- 统一后端代理,规范各服务之间的认证、CORS 和 CSP
包含内容
前端 (React + TypeScript + Vite)
现代化的单页应用 (SPA),采用:
- React 18 + TypeScript + Vite
- React Router 实现客户端路由
- CSS Modules,支持持久化的深色/浅色主题
- 可折叠侧边栏,方便快速切换章节
- 由 React Flow 驱动的拓扑可视化
页面:
- 落地页:介绍和快速链接

-
演练场:内置聊天演练场,用于快速测试
-
配置:实时配置查看器/编辑器,具有结构化面板和原始视图

- 拓扑:从用户请求到模型选择的视觉流程

- 监控:嵌入式 Grafana 仪表板

后端 (Go HTTP 服务器)
- 提供前端构建产物(SPA 路由)
- 反向代理上游服务,并为 iframe 嵌入规范化 Header
- 为配置和工具数据库公开了一组简小的仪表板 API
关键路由:
- 健康检查:
GET /healthz - 配置(读):
GET /api/router/config/all(读取 YAML,返回 JSON) - 配置(写):
POST /api/router/config/update(将 YAML 写回文件) - 工具数据库:
GET /api/tools-db(提供与配置同目录下的 tools_db.json) - 路由 API:
GET/POST /api/router/*(转发 Authorization Header) - Grafana (嵌入):
GET /embedded/grafana/* - Prometheus (嵌入):
GET /embedded/prometheus/* - Open WebUI (嵌入):
GET /embedded/openwebui/* - 路由指标透传:
GET /metrics/router→ 重定向到路由指标
代理会剥离/覆盖 X-Frame-Options 并调整 Content-Security-Policy 以允许 frame-ancestors 'self',从而实现在仪表板同源下的安全嵌入。