ShimmyServeAI - 准生产就绪的AI推理服务器管理
 ](https://docker.com/)   
ShimmyServeAI 是一个全面且已准备好投入生产的网页应用,用于管理人工智能推理服务器。它采用 React、TypeScript 和 Express.js 构建,具备实时监控、安全的用户管理和全面的系统管理功能。 100%的测试覆盖率 零关键问题,确保企业级可靠性。
✨ 特点
🎯 核心功能
- 实时仪表盘 - 实时系统指标,与真实API集成
- 交互式终端 - 完整的Shell访问权限,可执行命令
- 高级日志记录 - 实时日志流传输,支持过滤与分析
- 服务器配置 - 全面的设置管理,支持实时更新
- 用户管理 - 基于角色的访问控制,配备安全认证
🧠 人工智能与服务器集成
- MCP服务器支持 - 模型上下文协议集成
- 性能监控 - 实时指标和系统分析
- 知识库 - 文档和数据集管理
- 网络管理 - 接口配置与监控
🛡️ 安全与认证
- JWT 认证 - 基于令牌的安全认证系统
- bcrypt 密码哈希算法 - 行业标准的密码安全
- SQLite 数据库 - 自包含数据库,具备真正的后端集成
- 跨站请求伪造(CSRF)保护 - 防止跨站请求伪造
- 速率限制 根据上述信息,翻译如下:API滥用预防和限制速率
🎨 现代用户界面/用户体验(UI/UX)
- 暗色主题设计 - 优化为专业使用的美观暗色界面
- 响应式布局 - 经过所有设备测试的完全响应式设计
- 实时更新 - 通过WebSocket连接实时更新数据
- 错误边界 - 全面的防崩溃和错误处理
🚀 快速入门
先决条件
- Node.js 20多
- Docker(注:Docker是一个用于开发、交付和运行应用程序的开源平台,支持在容器中打包和部署应用。) & Docker Compose (用于容器化部署)
- 现代浏览器 (Chrome、Firefox、Safari 或 Edge)
Docker 部署(推荐)
# Clone the repository
git clone https://github.com/your-org/shimmyserveai.git
cd shimmyserveai
# Start with Docker Compose
docker-compose up -d
# Access the application
open http://localhost:3000
# Default credentials
# Email: demo@example.com
# Password: demo123456本地开发
# Install frontend dependencies
npm install
# Install backend dependencies
cd backend && npm install && cd ..
# Start backend server
cd backend && npm run dev &
# Start frontend development server
npm run dev
# Access at http://localhost:5173生产构建
# Build frontend
npm run build
# Build backend
cd backend && npm run build
# Start production servers
cd backend && npm start &
npx serve dist🏗️ 建筑学
ShimmyServeAI采用现代、全栈架构构建:
前端(React + TypeScript)
src/
├── components/ # React components organized by feature
│ ├── Dashboard/ # Real-time system overview and metrics
│ ├── Terminal/ # Interactive shell console
│ ├── Logs/ # Real-time log streaming
│ ├── Settings/ # Configuration management
│ ├── Monitoring/ # Advanced system monitoring
│ ├── Users/ # User management interface
│ ├── Security/ # Security center and monitoring
│ └── Layout/ # Navigation and layout components
├── hooks/ # Custom React hooks for API integration
├── services/ # API clients and business logic
├── types/ # TypeScript type definitions
└── utils/ # Utility functions and helpers后端(Express.js + TypeScript)
backend/
├── src/
│ ├── routes/ # API route handlers
│ ├── services/ # Business logic and integrations
│ ├── utils/ # Backend utilities
│ └── server.ts # Express server setup
├── data/ # SQLite database and logs
└── scripts/ # Build and deployment scripts关键技术
- 前端React 18,TypeScript,Tailwind CSS,Vite
- 后端Express.js、TypeScript、SQLite、bcrypt、JWT
- 实时用于实时更新的WebSocket通信
- 安全跨站请求伪造(CSRF)保护、速率限制、安全头部设置
- 测试使用Puppeteer进行100%覆盖率的端到端(E2E)测试
- 部署使用nginx进行Docker容器化
🗄️ 数据库架构
ShimmyServeAI 使用的是生产级的 SQLite 数据库:
- SQLite 后端 - 具有ACID合规性的自包含数据库
- 真实API集成 - 带有适当认证的RESTful API
- 用户管理 - 通过基于角色的访问控制保护用户帐户
- 数据持久性 - 可靠的服务器端数据存储
- 备份支持 - 数据库备份和恢复功能
🔧 配置
环境变量
# WebSocket connection to Shimmy server
VITE_SHIMMY_WS_URL=ws://localhost:8081/ws
# HTTP API endpoint
VITE_SHIMMY_API_URL=http://localhost:8080/api
# Enable development features
VITE_DEV_MODE=falseShimmy Integration 翻译为中文是“抖动集成”或“摇摆整合”,具体取决于上下文和使用场景。在汽车或机械工程领域,这可能指的是车辆或机械部件在运行过程中产生的抖动或摇摆现象的集成处理或控制
ShimmyServe 通过以下方式连接到 Shimmy 推理服务器:
- HTTP API - 配置、用户管理和控制操作
- WebSocket(网络套接字) - 实时指标、日志记录和实时更新
- “Terminal Bridge”可以翻译为“终点桥”或根据上下文具体含义,也可能是“航站楼桥”(如果指的是机场航站楼与飞机停机位之间的连接桥)。不过,最常见的翻译是“终点桥” - 通过AI辅助直接访问Shell
📊 监控与分析
系统指标
- CPU、内存和GPU利用率
- 网络吞吐量和连接统计信息
- 推理性能(请求/秒,延迟)
- MPTCP子流监控
日志系统
- 从Shimmy服务器实时获取日志流
- 按级别、类别和内容进行高级筛选
- 用于分析和调试的导出功能
- 自动日志轮转和存档
✨ Shimmer AI 代理
内置的Shimmer AI代理提供:
- 系统分析 - 自动化性能和健康检查
- 智能故障排除 - 基于人工智能的问题诊断
- 性能优化 - 智能参数调优建议
- 预测性维护 - 对潜在问题的预警系统
示例命令
shimmer status # Show agent status
shimmer analyze system # Run comprehensive system analysis
shimmer optimize # Apply performance optimizations
shimmer fix [issue] # Attempt to resolve system issues🔒 安全功能
认证与授权
- 基于JWT的认证系统
- 基于角色的访问控制(管理员、用户、查看者)
- 外部集成的API密钥管理
- 具有可配置过期时间的会话管理
安全监控
- 失败的身份验证尝试记录
- 具有可配置阈值的速率限制
- DDoS防护和请求限速
- 带有详细日志的安全审计追踪
🐳 生产环境部署
Docker 配置
所包含的 Dockerfile 创建一个生产优化的容器:
# Multi-stage build for minimal image size
FROM node:20-alpine AS builder
# ... build steps ...
FROM nginx:alpine
# ... production configuration ...Kubernetes 部署(或:Kubernetes 部署应用)
apiVersion: apps/v1
kind: Deployment
metadata:
name: shimmyserve
spec:
replicas: 2
selector:
matchLabels:
app: shimmyserve
template:
metadata:
labels:
app: shimmyserve
spec:
containers:
- name: shimmyserve
image: shimmyserve:latest
ports:
- containerPort: 80🔧 开发
可用脚本
npm run dev # Start development server
npm run build # Build for production
npm run preview # Preview production build
npm run lint # Run ESLint
npm run typecheck # Run TypeScript checks开发指南
- 遵循既定的组件结构
- 使用 TypeScript 严格模式以确保类型安全
- 实现适当的错误处理和加载状态
- 为复杂逻辑添加全面注释
- 确保所有屏幕尺寸下的设计都能自适应
API 参考文档
认证端点
POST /api/auth/login # User authentication
POST /api/auth/register # User registration
POST /api/auth/logout # User logout
GET /api/auth/me # Current user info系统终端点(或系统接口点)
GET /api/system/info # System information
GET /api/system/status # Real-time system status
GET /api/system/metrics # Performance metrics
POST /api/system/restart # Restart system services配置端点
GET /api/config # Get configuration
POST /api/config # Update configuration
GET /api/config/validate # Validate config changes用户管理
GET /api/users # List users
POST /api/users # Create user
PUT /api/users/:id # Update user
DELETE /api/users/:id # Delete userWebSocket 事件
// Real-time system metrics
{ type: 'metrics', data: SystemMetrics }
// Live log entries
{ type: 'logs', data: LogEntry[] }
// System status updates
{ type: 'status', data: SystemStatus }🤝 贡献(或“参与贡献”)
- 为仓库创建分支(或:克隆仓库)
- 创建一个特性分支(
git checkout -b feature/amazing-feature) - 提交您的更改(
git commit -m 'Add amazing feature') - 推送至分支(
git push origin feature/amazing-feature) - 提交一个拉取请求(或合并请求)
代码风格
- 使用 TypeScript 严格模式
- 遵循React的最佳实践
- 保持组件模式的一致性
- 添加适当的JSDoc注释
- 确保符合无障碍标准
📝 许可证
这个项目遵循MIT许可证授权——详见 许可证 详情请见文件。
🧪 测试与质量保证
测试覆盖率
- 100% 成功率 - 所有90项测试均通过,无失败
- 端到端测试(E2E Testing) - 使用Puppeteer完成用户旅程验证
- 用户界面测试 - 对所有组件进行全面的接口测试
- API 测试 - 后端端点验证和集成测试
- 响应式测试 - 跨设备和视口验证
运行测试
# Run comprehensive E2E test suite
node tests/e2e/comprehensive-ui-tester.js
# Run backend API tests
cd backend && npm test
# Run frontend unit tests
npm test🙏 致谢
- React - 用于强大的用户界面框架
- Express.js(常简称为Express) - 用于可靠的后端框架
- Tailwind CSS - 为了美观的造型系统
- Lucide React(注:此名称可能为特定项目或产品的名称,直接翻译为“清晰反应”可能无法准确传达其含义,具体翻译需结合上下文或品牌背景,此处仅为直译) - 用于综合图标集
- TypeScript - 为了类型安全和开发者体验
📞 支持
对于问题、议题或贡献:
- GitHub Issues(在GitHub上的问题/议题) - 报告错误或提出功能需求
- 文档 - 看
/docs/全面指南目录 - 测试报告 - 检查
/tests/reports/以获取详细的测试结果
______________________________________________________________________
倾注爱心打造,专为企业AI基础设施而生
*ShimmyServeAI v1.0.0 - 准生产就绪的AI推理服务器管理*
