190 lines
6.1 KiB
Markdown
190 lines
6.1 KiB
Markdown
# Changelog
|
|
|
|
All notable changes to this project will be documented in this file.
|
|
|
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
|
---
|
|
|
|
## [Unreleased]
|
|
|
|
---
|
|
|
|
## [0.4.0] - 2026-03-14
|
|
|
|
### Added
|
|
|
|
#### 🔧 服务层实现 (Phase 2)
|
|
|
|
- **AgentScheduler** - 5 种调度策略
|
|
- RoundRobinScheduler - 轮询调度
|
|
- WeightedRoundRobinScheduler - 加权轮询调度(默认)
|
|
- LeastConnectionsScheduler - 最少连接调度
|
|
- LeastResponseTimeScheduler - 最快响应调度
|
|
- CapabilityMatchScheduler - 能力匹配调度
|
|
|
|
- **MessageQueue** - 消息队列管理
|
|
- 消息入队/出队
|
|
- ACK 确认机制
|
|
- 重试队列管理
|
|
- Redis 存储支持
|
|
|
|
- **SessionService** - 会话服务
|
|
- 创建/关闭会话
|
|
- Agent 分配
|
|
- 多 Agent 协作支持
|
|
- 会话活跃度追踪
|
|
|
|
- **MessageService** - 消息服务
|
|
- 创建/获取消息
|
|
- 消息确认
|
|
- 已读标记
|
|
- 重试机制
|
|
- 消息统计
|
|
|
|
- **AgentService** - Agent 服务
|
|
- Agent 注册/注销
|
|
- 状态更新
|
|
- 心跳管理
|
|
- 配置更新
|
|
- 离线检测
|
|
|
|
### Fixed
|
|
|
|
- **gateways.py** - 修复蓝图名称错误 (`gateway_bp` → `gateways_bp`)
|
|
|
|
### Changed
|
|
|
|
- **Dockerfile** - 添加生产环境 Docker 镜像配置
|
|
|
|
---
|
|
|
|
## [0.3.0] - 2026-03-14
|
|
|
|
### Added
|
|
|
|
#### 🏗️ 项目结构
|
|
|
|
- **Flask 应用工厂** - `app/__init__.py` 模块化应用初始化
|
|
- **配置管理** - `app/config.py` 支持开发/生产/测试环境
|
|
- **扩展初始化** - `app/extensions.py` 统一管理 Flask 扩展
|
|
|
|
#### 📦 数据模型实现
|
|
|
|
- **User 模型** - 用户模型,支持 bcrypt 密码哈希
|
|
- **Session 模型** - 会话模型,支持多 Agent 协作
|
|
- **Agent 模型** - Agent 模型,支持优先级和权重调度
|
|
- **Gateway 模型** - Gateway 模型,支持 Token 哈希存储
|
|
- **Message 模型** - 消息模型,支持 ACK 状态追踪
|
|
- **Connection 模型** - 连接模型,追踪 WebSocket 连接
|
|
|
|
#### 🔌 HTTP API 实现
|
|
|
|
- **认证 API** - 注册、登录、Token 刷新、用户信息
|
|
- **会话 API** - 创建、查询、关闭会话
|
|
- **Agent API** - 列表、详情、状态、配置更新、心跳上报
|
|
- **Gateway API** - 注册、注销、状态查询、心跳上报
|
|
- **消息 API** - 发送、获取、确认、已读标记
|
|
- **统计 API** - 系统、会话、消息、Agent 统计
|
|
|
|
#### 🔌 WebSocket 实现
|
|
|
|
- **认证流程** - `connect` → `auth` → `authenticated`
|
|
- **心跳机制** - `ping` / `pong` 事件
|
|
- **会话管理** - 创建、加入会话
|
|
- **消息路由** - 发送消息、消息确认
|
|
- **连接管理器** - 管理用户和 Agent 的 Socket 连接
|
|
|
|
#### 📄 配置文件
|
|
|
|
- **requirements.txt** - Python 依赖列表
|
|
- **requirements-dev.txt** - 开发依赖
|
|
- **.env.example** - 环境变量模板
|
|
- **docker-compose.yaml** - Docker 编排配置
|
|
- **run.py** - 启动入口
|
|
|
|
### Changed
|
|
|
|
- **开发计划进度** - Phase 1 核心功能已完成
|
|
|
|
---
|
|
|
|
## [0.2.0] - 2026-03-14
|
|
|
|
### Changed
|
|
|
|
#### 🔴 数据模型修复
|
|
|
|
- **新增 Message 模型** - 支持消息持久化,包含 `status`、`ack_status`、`retry_count` 等字段
|
|
- **新增 Connection 模型** - 追踪 WebSocket 连接状态,包含 `socket_id`、`ip_address`、`user_agent` 等
|
|
- **Session 模型扩展** - 添加 `user_socket_id`、`participating_agent_ids`、`unread_count` 字段
|
|
- **Agent 模型扩展** - 添加 `socket_id`、`connection_limit`、`current_sessions` 字段
|
|
- **Gateway 模型扩展** - 添加 `token_hash`、`allowed_ips`、`heartbeat_interval` 字段
|
|
|
|
#### 🟡 WebSocket 协议完善
|
|
|
|
- **新增认证流程** - `connect` → `auth` → `authenticated` / `auth_error`
|
|
- **新增心跳事件** - `ping` / `pong` / `heartbeat_timeout`
|
|
- **新增消息确认** - `message.ack` / `message.acked` / `message.read`
|
|
- **新增会话事件** - `session.leave` / `session.left` / `session.closed` / `session.assigned`
|
|
- **新增输入状态** - `typing` 事件
|
|
- **明确消息格式** - 与 PIT Channel 插件兼容的 JSON-RPC 风格格式
|
|
|
|
#### 🟢 API 补充
|
|
|
|
- **新增消息 API** - `POST /api/messages`、`GET /api/messages/:id`、`PUT /api/messages/:id/ack`
|
|
- **新增统计 API** - `GET /api/stats`、`GET /api/stats/sessions`、`GET /api/stats/messages`
|
|
- **新增心跳接口** - `POST /api/agents/:id/heartbeat`、`POST /api/gateways/:id/heartbeat`
|
|
- **新增会话操作** - `GET /api/sessions/:id/participants`、`POST /api/sessions/:id/transfer`
|
|
- **修改会话关闭** - `DELETE /api/sessions/:id` 改为 `PUT /api/sessions/:id/close`
|
|
|
|
#### 🔵 架构优化
|
|
|
|
- **数据库更换** - SQLite → PostgreSQL (生产环境)
|
|
- **Agent 调度策略** - 定义 5 种调度算法:轮询、加权轮询、最少连接、最快响应、能力匹配
|
|
- **消息可靠性机制** - ACK 确认流程、重试机制、持久化策略
|
|
- **安全增强** - WebSocket 认证、IP 白名单、Token 哈希存储
|
|
|
|
#### 🟣 部署配置完善
|
|
|
|
- **Docker Compose** - 添加健康检查、资源限制、Nginx 反向代理
|
|
- **新增服务** - PostgreSQL、Nginx
|
|
- **SSL 支持** - Nginx HTTPS/WSS 配置
|
|
|
|
#### 📝 文档更新
|
|
|
|
- **完善技术栈说明** - 添加 PostgreSQL
|
|
- **完善项目结构** - 新增 `messages.py`、`connection.py`、`stats.py` 等
|
|
- **完善开发计划** - 调整为 4 个阶段,总计 9-12 天
|
|
- **新增对接说明** - 与 PIT Channel 插件的协议兼容性
|
|
|
|
---
|
|
|
|
## [0.1.0] - 2026-03-14
|
|
|
|
### Added
|
|
|
|
- **项目初始化** - 创建 pit-router 项目
|
|
- **基础架构设计** - 三层架构:接入层、业务层、数据层
|
|
- **技术栈选型** - Python 3.12 + Flask 3.0 + Flask-SocketIO 5.3
|
|
- **数据模型设计** - User、Session、Agent、Gateway 四个核心模型
|
|
- **HTTP API 设计** - 认证、会话、Agent、Gateway 四组 API
|
|
- **WebSocket 协议** - 基础事件定义
|
|
- **Docker 部署** - docker-compose.yaml 配置
|
|
- **安全设计** - JWT 认证、CORS、Rate Limit
|
|
|
|
---
|
|
|
|
## 版本说明
|
|
|
|
| 版本 | 状态 | 说明 |
|
|
|------|------|------|
|
|
| 0.1.0 | 初始版本 | 基础架构设计 |
|
|
| 0.2.0 | 设计完善 | 修复技术方案问题,完善架构设计 |
|
|
| 1.0.0 | 待发布 | 完整功能实现 |
|
|
|
|
---
|
|
|
|
*维护者: 小白 🐶*
|