# jimeng-free-api

即梦api服务 - 服务器管理版本

## 新增功能 ✨

### 1. 服务器管理支持
- 📊 支持Python项目的服务器管理架构
- 💓 服务器心跳监控和状态上报
- 🔄 自动注册和发现机制

### 2. 容器化部署
- 🐳 简化的Docker配置，只管理服务自身
- ⚙️ 环境变量配置，无需手动配置文件
- 🛠️ 自动化部署脚本

### 3. API 接口优化
- 🔍 适配Python项目的服务器查询接口
- 📈 服务器状态统计和监控

## 快速开始

```bash
# 1. 安装依赖
# 确保系统已安装 Docker 和 Docker Compose

# 2. 启动服务
./deploy.sh start

# 3. 检查服务状态
./deploy.sh status
```

## 环境变量配置

可以通过环境变量或docker-compose.yml中设置：

### 必需配置
- `MONGODB_URL`: MongoDB连接地址
- `TOS_ACCESS_KEY_ID`: 火山引擎TOS访问密钥ID
- `TOS_ACCESS_KEY_SECRET`: 火山引擎TOS访问密钥
- `TOS_BUCKET_NAME`: TOS存储桶名称

### 可选配置
- `SERVICE_ID`: 服务器唯一标识（默认：jimeng-free-api）
- `SERVICE_NAME`: 服务器名称（默认：与SERVICE_ID相同）
- `HEARTBEAT_INTERVAL`: 心跳间隔秒数（默认：60）
- `API_PORT`: API服务端口（默认：3302）

## 部署指令

```bash
# 启动服务
./deploy.sh start

# 停止服务
./deploy.sh stop

# 重启服务
./deploy.sh restart

# 查看状态
./deploy.sh status

# 查看日志
./deploy.sh logs
./deploy.sh logs -f  # 实时跟踪

# 重新构建
./deploy.sh build
```

## API 接口

### 原有接口
- `POST /v1/chat/completions` - OpenAI兼容的聊天接口
- `POST /v1/images/generations` - 图像生成接口
- `POST /v1/video/generations` - 视频生成接口
- `GET /ping` - 健康检查接口

### 服务器管理接口
- `GET /api/servers/current` - 获取当前服务器信息
- `GET /api/servers/active` - 获取所有活跃服务器
- `GET /api/servers/online` - 获取所有在线服务器
- `GET /api/servers/stats` - 获取服务器状态统计
- `GET /api/servers/:serverId` - 获取特定服务器详情
- `POST /api/servers/cleanup` - 清理离线服务器记录
- `POST /api/servers/:serverId/heartbeat` - 更新服务器心跳

### 服务状态查询示例

```bash
# 查看当前服务器信息
curl http://localhost:3302/api/servers/current

# 查看所有在线服务器
curl http://localhost:3302/api/servers/online

# 查看服务器统计
curl http://localhost:3302/api/servers/stats
```

## 与Python项目集成

本服务专门适配`ai_jimeng3_handler.py`中的服务器管理架构：

1. **数据库结构适配**: 使用与Python项目相同的`jimeng_servers`表结构
2. **心跳机制**: 自动向数据库更新服务器心跳状态
3. **负载均衡**: 支持Python项目的服务器选择和负载均衡策略

## 注意事项

- 本服务不包含MongoDB和Nginx，需要在外部配置
- 数据库结构由Python项目统一管理
- 必须正确配置环境变量后才能正常运行

### 参考自
即梦接口转 API [kimi-free-api](https://github.com/LLM-Red-Team/jimeng-free-api)