feat: 增强 Agent 系统和完善项目结构

主要改进:
- Agent 增强: 订单查询、售后支持、客服路由等功能优化
- 新增语言检测和 Token 管理模块
- 改进 Chatwoot webhook 处理和用户标识
- MCP 服务器增强: 订单 MCP 和 Strapi MCP 功能扩展
- 新增商城客户端、知识库、缓存和同步模块
- 添加多语言提示词系统 (YAML)
- 完善项目结构: 整理文档、脚本和测试文件
- 新增调试和测试工具脚本

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
wangliang
2026-01-16 16:28:47 +08:00
parent 0e59f3067e
commit e093995368
48 changed files with 5263 additions and 395 deletions

108
docs/PORT_SCHEME.md Normal file
View File

@@ -0,0 +1,108 @@
# 端口规划方案
本文档定义了 B2B AI Shopping Assistant 项目的端口分配规范。
## 📋 端口分配总览
### 1⃣ 基础设施层 (3000-3999)
用于前端界面、Web 控制台等面向用户的服务。
| 端口 | 服务 | 说明 | 状态 |
|------|------|------|------|
| 3000 | Chatwoot | 客户支持平台主界面 | ✅ 使用中 |
| 3001-3009 | - | 预留给 Web 界面服务 | 🔄 预留 |
| 3010-3099 | - | 预留给基础设施扩展 | 🔄 预留 |
### 2⃣ 应用服务层 (8000-8999)
核心 AI 和 MCP 后端服务。
| 端口 | 服务 | 说明 | 状态 |
|------|------|------|------|
| 8000 | Agent | LangGraph AI Agent 主服务 | ✅ 使用中 |
| 8001 | Strapi MCP | 知识库和 FAQ 服务 | ✅ 使用中 |
| 8002 | Order MCP | 订单查询服务 | ✅ 使用中 |
| 8003 | Aftersale MCP | 售后服务 | ✅ 使用中 |
| 8004 | Product MCP | 商品服务 | ✅ 使用中 |
| 8005-8009 | - | 预留给其他 MCP 服务 | 🔄 预留 |
| 8010-8099 | - | 预留给应用服务扩展 | 🔄 预留 |
### 3⃣ 静态资源服务 (8080-8099)
用于静态文件托管、反向代理等。
| 端口 | 服务 | 说明 | 状态 |
|------|------|------|------|
| 8080 | Nginx | 静态文件服务器 (测试页面等) | ✅ 使用中 |
| 8081-8099 | - | 预留给其他静态资源服务 | 🔄 预留 |
### 4⃣ 内部通信 (9000+)
**注意**:此区间端口仅用于容器内部通信,不对外暴露。
| 服务 | 内部端口 | 说明 |
|------|----------|------|
| PostgreSQL | 5432 | 仅容器内部访问 |
| Redis | 6379 | 仅容器内部访问 |
## 🔧 访问地址
### 生产/开发环境
```bash
# Chatwoot 客服平台
http://localhost:3000
# Nginx 静态文件 (测试页面)
http://localhost:8080/test-chat.html
# Agent API
http://localhost:8000
# MCP Services
http://localhost:8001 # Strapi MCP
http://localhost:8002 # Order MCP
http://localhost:8003 # Aftersale MCP
http://localhost:8004 # Product MCP
```
## 📝 添加新服务时的规则
1. **按功能选择端口区间**
- 前端界面 → 3000-3999
- 后端 API → 8000-8999
- 静态资源/代理 → 8080-8099
2. **查看预留端口**
- 优先使用预留端口范围内的空闲端口
- 避免跨区间分配
3. **更新文档**
- 添加新服务后更新本文档
- 标注端口用途和服务说明
4. **保持连续性**
- 相关服务尽量使用连续的端口
- 便于记忆和管理
## 🔍 端口冲突排查
如果遇到端口冲突:
```bash
# 检查端口占用
lsof -i :<端口>
netstat -tulpn | grep <端口>
# Docker 容器查看
docker ps
docker-compose ps
```
## 📌 注意事项
- ⚠️ **不要使用 3000-3999 范围以外的端口作为前端服务**
- ⚠️ **MCP 服务必须使用 8000-8999 范围**
- ⚠️ **所有数据库端口5432, 6379 等)仅内部访问,不要映射到宿主机**
-**添加新服务前先检查端口规划文档**