智队中枢 - 技术方案
Personal Intelligent Team Router Service
📋 项目概述
智队中枢是 PIT(Personal Intelligent Team)系统的核心组件,负责连接用户交互层和 Agent 层,实现消息路由、会话管理、Agent 调度等功能。
🏗️ 系统架构
✅ 已完成功能
Phase 1: 核心功能
| 功能模块 |
文件 |
状态 |
说明 |
| 项目结构 |
app/ |
✅ 完成 |
Flask 应用工厂,三层架构 |
| 配置管理 |
app/config.py |
✅ 完成 |
开发/生产/测试环境配置 |
| 扩展初始化 |
app/extensions.py |
✅ 完成 |
Flask 扩展统一管理 |
| 数据模型 |
|
|
|
| └─ User |
app/models/user.py |
✅ 完成 |
用户模型,bcrypt 密码哈希 |
| └─ Session |
app/models/session.py |
✅ 完成 |
会话模型,多 Agent 协作 |
| └─ Agent |
app/models/agent.py |
✅ 完成 |
Agent 模型,优先级/权重 |
| └─ Gateway |
app/models/gateway.py |
✅ 完成 |
Gateway 模型,Token 哈希 |
| └─ Message |
app/models/message.py |
✅ 完成 |
消息模型,ACK 状态追踪 |
| └─ Connection |
app/models/connection.py |
✅ 完成 |
连接模型,Socket 追踪 |
| HTTP API |
|
|
|
| └─ 认证 API |
app/routes/auth.py |
✅ 完成 |
注册/登录/Token 刷新/用户信息 |
| └─ 会话 API |
app/routes/sessions.py |
✅ 完成 |
创建/查询/关闭会话 |
| └─ Agent API |
app/routes/agents.py |
✅ 完成 |
列表/详情/状态/配置/心跳 |
| └─ Gateway API |
app/routes/gateways.py |
✅ 完成 |
注册/注销/状态/心跳 |
| └─ 消息 API |
app/routes/messages.py |
✅ 完成 |
发送/获取/确认/已读 |
| └─ 统计 API |
app/routes/stats.py |
✅ 完成 |
系统/会话/消息/Agent 统计 |
| WebSocket |
app/socketio/handlers.py |
✅ 完成 |
认证/心跳/会话/消息 |
| 数据库迁移 |
migrations/ |
✅ 完成 |
Alembic 初始迁移 |
Phase 2: 服务层
| 功能模块 |
文件 |
状态 |
说明 |
| AgentScheduler |
app/services/scheduler.py |
✅ 完成 |
5 种调度策略 |
| └─ RoundRobinScheduler |
|
✅ 完成 |
轮询调度 |
| └─ WeightedRoundRobinScheduler |
|
✅ 完成 |
加权轮询(默认) |
| └─ LeastConnectionsScheduler |
|
✅ 完成 |
最少连接 |
| └─ LeastResponseTimeScheduler |
|
✅ 完成 |
最快响应 |
| └─ CapabilityMatchScheduler |
|
✅ 完成 |
能力匹配 |
| MessageQueue |
app/services/message_queue.py |
✅ 完成 |
消息队列,ACK,重试 |
| SessionService |
app/services/session_service.py |
✅ 完成 |
会话创建/关闭/分配 |
| MessageService |
app/services/message_service.py |
✅ 完成 |
消息管理/确认/重试 |
| AgentService |
app/services/agent_service.py |
✅ 完成 |
Agent 注册/状态/心跳 |
Phase 3: 工具层
| 功能模块 |
文件 |
状态 |
说明 |
| validators.py |
app/utils/validators.py |
✅ 完成 |
Marshmallow 验证 |
| security.py |
app/utils/security.py |
✅ 完成 |
Token/密码哈希/限流/IP白名单 |
| helpers.py |
app/utils/helpers.py |
✅ 完成 |
日期/分页/JSON |
Phase 4: 测试
| 测试模块 |
状态 |
说明 |
| 调度器测试 |
✅ 11/11 通过 |
所有调度策略 |
| 消息队列测试 |
✅ 7/7 通过 |
队列基本功能 |
| 验证工具测试 |
⚠️ 3/4 通过 |
1 个规则问题 |
| 认证 API 测试 |
⚠️ 3/9 通过 |
测试配置问题 |
单元测试总计: 24/31 通过
部署配置
| 文件 |
状态 |
说明 |
Dockerfile |
✅ 完成 |
生产环境 Docker 镜像 |
docker-compose.yaml |
✅ 完成 |
Docker 编排(PostgreSQL + Redis + Nginx) |
requirements.txt |
✅ 完成 |
Python 依赖 |
requirements-dev.txt |
✅ 完成 |
开发依赖 |
.env.example |
✅ 完成 |
环境变量模板 |
run.py |
✅ 完成 |
启动入口 |
⏳ 待完成功能
高优先级
| 功能模块 |
文件 |
说明 |
| 集成测试 |
tests/test_websocket.py |
WebSocket 流程测试 |
| 性能测试 |
- |
压力测试/负载测试 |
| Nginx 配置 |
nginx.conf |
HTTPS + WSS 反向代理 |
| SSL 证书 |
- |
生产环境 HTTPS |
| 配置热更新 |
- |
修改配置无需重启 |
| 日志系统 |
- |
结构化日志 + 日志轮转 |
| 监控告警 |
- |
Prometheus + Grafana |
中优先级
| 功能模块 |
说明 |
| 消息历史查询 |
分页查询会话消息历史 |
| 配置迁移 |
新版本配置自动迁移 |
| 回滚机制 |
配置版本回滚 |
| Web UI |
管理界面(可选) |
低优先级
| 功能模块 |
说明 |
| 多租户支持 |
多个组织隔离 |
| 消息加密 |
端到端加密 |
| 审计日志 |
操作审计 |
📊 数据流设计
用户消息流程
Agent 注册流程
🔌 API 设计
认证 API
| 方法 |
路径 |
状态 |
| POST |
/api/auth/register |
✅ |
| POST |
/api/auth/login |
✅ |
| POST |
/api/auth/logout |
✅ |
| POST |
/api/auth/refresh |
✅ |
| GET |
/api/auth/me |
✅ |
| POST |
/api/auth/verify |
✅ |
会话 API
| 方法 |
路径 |
状态 |
| GET |
/api/sessions |
✅ |
| POST |
/api/sessions |
✅ |
| GET |
/api/sessions/:id |
✅ |
| PUT |
/api/sessions/:id/close |
✅ |
| GET |
/api/sessions/:id/messages |
✅ |
| GET |
/api/sessions/:id/participants |
✅ |
| POST |
/api/sessions/:id/transfer |
✅ |
Agent API
| 方法 |
路径 |
状态 |
| GET |
/api/agents |
✅ |
| GET |
/api/agents/:id |
✅ |
| GET |
/api/agents/:id/status |
✅ |
| PUT |
/api/agents/:id/config |
✅ |
| POST |
/api/agents/:id/heartbeat |
✅ |
| GET |
/api/agents/available |
✅ |
Gateway API
| 方法 |
路径 |
状态 |
| GET |
/api/gateways |
✅ |
| POST |
/api/gateways |
✅ |
| DELETE |
/api/gateways/:id |
✅ |
| GET |
/api/gateways/:id/status |
✅ |
| POST |
/api/gateways/:id/heartbeat |
✅ |
消息 API
| 方法 |
路径 |
状态 |
| POST |
/api/messages |
✅ |
| GET |
/api/messages/:id |
✅ |
| PUT |
/api/messages/:id/ack |
✅ |
| PUT |
/api/messages/:id/read |
✅ |
统计 API
| 方法 |
路径 |
状态 |
| GET |
/api/stats |
✅ |
| GET |
/api/stats/sessions |
✅ |
| GET |
/api/stats/messages |
✅ |
| GET |
/api/stats/agents |
✅ |
🔧 技术栈
| 层级 |
技术 |
版本 |
| 语言 |
Python |
3.12 |
| Web 框架 |
Flask |
3.0+ |
| WebSocket |
Flask-SocketIO |
5.3+ |
| ORM |
SQLAlchemy |
3.1+ |
| 认证 |
Flask-Login + JWT |
- |
| 缓存/队列 |
Redis |
7+ |
| 数据库 |
PostgreSQL |
15+ |
| 部署 |
Gunicorn + Nginx |
- |
📁 项目结构
📈 开发进度
⚠️ 已知问题
| 问题 |
严重性 |
说明 |
| 认证测试失败 |
低 |
测试配置问题,不影响实际运行 |
| 验证规则过严 |
低 |
用户名不允许 - 字符 |
| 缺少 nginx.conf |
中 |
需要手动配置 HTTPS/WSS |
| SSL 证书 |
中 |
生产环境需要配置 |
🚀 下一步计划
- 集成测试 - 完善 WebSocket 流程测试
- 部署测试 - Docker Compose 本地部署验证
- Nginx 配置 - 添加 HTTPS + WSS 反向代理
- 日志系统 - 结构化日志 + 日志轮转
- 监控告警 - Prometheus + Grafana
最后更新: 2026-03-14 | 作者: 小黑 🐕