diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..476112c --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,90 @@ +# 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.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 | 待发布 | 完整功能实现 | + +--- + +*维护者: 小白 🐶*