feat: 完整功能部署 v1.0

新增功能:
- 天网协作系统 (HTTP API 端口 6060)
- 三种工作流 (查找图片/处理图片/转人工派单)
- 图片任务数据库 (支持客户后续增加需求)
- 图绘派单系统集成 (API: 8005)
- 文字检测与加价 (60-80 元高价值订单)
- 风险评估与接单判断
- 作图失败自动转人工

新增文档:
- 项目功能汇总.md
- 三种工作流功能说明.md
- 文字加价功能说明.md
- 风险评估功能说明.md
- 图片任务数据库功能说明.md
- 图绘派单系统集成说明.md
- 作图失败转接人工说明.md
- DEPLOYMENT.md
- TIANWANG_INTEGRATION.md

核心修改:
- core/pydantic_ai_agent.py
- core/workflow.py
- core/websocket_client.py
- image/image_analyzer.py
- services/service_tuhui_dispatch.py
- db/image_tasks_db.py

版本:v1.0
日期:2026-02-28
This commit is contained in:
2026-02-28 11:20:40 +08:00
parent 5aedf1665d
commit a6c42d505a
171 changed files with 7979 additions and 328 deletions

373
项目功能汇总.md Normal file
View File

@@ -0,0 +1,373 @@
# AI 客服系统 - 完整功能汇总
**版本**: v1.0
**更新日期**: 2026-02-27
**服务器**: 1.12.50.92
---
## 📋 目录
1. [核心功能](#核心功能)
2. [图片处理](#图片处理)
3. [任务管理](#任务管理)
4. [派单系统](#派单系统)
5. [价格策略](#价格策略)
6. [风险控制](#风险控制)
7. [技术架构](#技术架构)
---
## 核心功能
### 1. 天网协作系统
**说明**: 接收天网下发的任务,支持指定客户回复触发
**API 接口**: `http://127.0.0.1:6060`
**功能**:
- ✅ 任务接收 (`POST /api/task/receive`)
- ✅ 任务查询 (`GET /api/task/status/:id`)
- ✅ 任务取消 (`POST /api/task/cancel`)
- ✅ 任务列表 (`GET /api/task/list`)
**触发类型**:
- `specified_customer_reply` - 指定客户回复指定内容
- `customer_keyword` - 任意客户说某关键词
- `customer_payment` - 客户付款
- `time_reach` - 到达指定时间
**文档**: `TIANWANG_INTEGRATION.md`
---
### 2. 三种工作流
根据客户说的话自动判断执行不同工作流:
#### 工作流 1: 查找图片
**触发词**: "找一下"、"找图"、"找原图"
**流程**:
```
客户:找一下这个图 [图片]
AI 处理 → 上传到图绘
回复:"找到了http://tuhui.cloud/works/123"
```
#### 工作流 2: 处理图片
**触发词**: "做一下"、"处理一下"、"安排"
**流程**:
```
客户:做一下 [图片]
AI: "稍等,我看看...好的,可以做"
启动图片处理流程
```
#### 工作流 3: 转人工派单
**触发词**: "做不了"、"处理不了"
**流程**:
```
AI: 做不了
查询在线设计师
派单给设计师
回复:"已安排设计师处理"
```
**文档**: `三种工作流功能说明.md`
---
## 图片处理
### 1. 文字检测与加价
**功能**: AI 自动识别图片文字数量,根据文字数量加价
**价格规则**:
| 文字数量 | 加价 |
|----------|------|
| 少量 (1-10 字) | +5 元 |
| 中量 (11-50 字) | +15 元 |
| 大量 (51-200 字) | +30 元 |
| 极多 (200 字以上) | +50 元 |
**分层加价**:
- 有文字 + 分层:+50 元起
- 无文字 + 分层:+30 元
**特殊价格**: 文字分层 + 大量文字 → 60-80 元
**文档**: `文字加价功能说明.md`
---
### 2. 风险评估与接单判断
**风险等级**:
- **敏感内容** (一票否决): 色情/暴力/涉政 → 直接拒绝
- **none**: 印花/图案/logo → 直接接单
- **low**: 有人脸但清晰 → 接单,说明风险
- **high**: 严重模糊/老照片 → 谨慎接单
**可做判断**:
- `yes`: 效果有把握,接单
- `partial`: 有限制,谨慎接单
- `no`: 无法处理,不接单
**文档**: `风险评估功能说明.md`
---
### 3. 作图失败转接人工
**触发条件**:
- API 调用失败
- 图片处理超时
- 客户不满意
**流程**:
```
作图失败
通知客户
转接人工客服
企业微信预警
```
**文档**: `作图失败转接人工说明.md`
---
## 任务管理
### 1. 图片任务数据库
**功能**: 任务持久化,支持客户后续增加需求
**数据库表**:
- `image_tasks` - 图片任务表
- `task_requirement_changes` - 需求变更表
**客户可以增加需求**:
```python
await workflow.add_customer_requirement(
task_id="TASK_001",
customer_id="customer_123",
requirement="需要去掉背景"
)
```
**任务状态流转**:
```
pending → paid → processing → awaiting_confirm → completed
```
**文档**: `图片任务数据库功能说明.md`
---
## 派单系统
### 1. 图绘派单系统
**API 地址**: `http://1.12.50.92:8005`
**API Key**: `tuhui_dispatch_key_2026`
**核心接口**:
- `GET /dispatch/queue` - 获取派单队列
- `GET /online/designers` - 查询在线设计师
- `POST /tasks` - 创建任务
- `POST /tasks/{id}/assign` - 分配任务
- `POST /tasks/{id}/complete` - 完成任务
**派单流程**:
```
1. 查询在线设计师 → ["橘子", "婷婷"]
2. 创建任务 → {"task_id": "ea853bd9"}
3. 分配给设计师 → designer: "橘子"
4. 企业微信通知
5. 回复客户
```
**文档**: `图绘派单系统集成说明.md`
---
## 价格策略
### 基础价格
| 复杂度 | 价格 |
|--------|------|
| simple | 10-15 元 |
| normal | 15-20 元 |
| complex | 20-25 元 |
| hard | 25-30 元 |
### 加价规则
**文字加价**:
- 少量:+5 元
- 中量:+15 元
- 大量:+30 元
- 极多:+50 元
**分层加价**:
- 有文字:+50 元起
- 无文字:+30 元
**高价值订单**: 文字分层 + 大量文字 → 60-80 元
---
## 风险控制
### 敏感内容检测
**一票否决**:
- ❌ 色情/黄色/擦边
- ❌ 涉政/政治敏感
- ❌ 暴力/血腥
- ❌ 违禁品
**话术**:
- "这类不做哦"
- "不好意思,这个接不了"
### 高风险图片
**谨慎接单**:
- ⚠️ 严重模糊的人脸
- ⚠️ 老照片人像
- ⚠️ 需要打印
**话术**:
- "这张比较模糊,修复后人脸可能有差异"
- "建议先看效果确认再决定"
---
## 技术架构
### 核心组件
| 组件 | 文件 | 说明 |
|------|------|------|
| **天网协作** | `api/http_server.py` | HTTP API 服务器 |
| **工作流程** | `core/workflow.py` | 工作流执行器 |
| **AI Agent** | `core/pydantic_ai_agent.py` | AI 对话引擎 |
| **图片分析** | `image/image_analyzer.py` | 图片复杂度识别 |
| **派单客户端** | `services/service_tuhui_dispatch.py` | 图绘派单 API |
| **任务数据库** | `db/image_tasks_db.py` | 任务持久化 |
### 数据库
| 数据库 | 文件 | 说明 |
|--------|------|------|
| **任务数据库** | `db/image_tasks.db` | 图片任务 |
| **客户档案** | `customer_db/customer.db` | 客户画像 |
| **聊天记录** | `chat_log_db/chat_log.db` | 聊天历史 |
### API 端口
| 服务 | 端口 | 说明 |
|------|------|------|
| **AI 客服 API** | 6060 | 天网任务接收 |
| **派单系统** | 8005 | 设计师派单 |
| **图绘平台** | 8002 | 图片上传 |
---
## 部署说明
### 启动方式
```bash
cd /root/ai_customer_service/ai_cs
# 方式 1: 天网协作版
python3 run_tianwang_simple.py
# 方式 2: 完整版
python3 run_with_tianwang.py
# 方式 3: AI 客服
python3 run.py
```
### 后台运行
```bash
nohup python3 run_tianwang_simple.py > /tmp/tianwang.log 2>&1 &
```
### 查看日志
```bash
tail -f /tmp/tianwang.log
```
---
## 文档清单
| 文档 | 说明 |
|------|------|
| `README.md` | 项目说明 |
| `DEPLOYMENT.md` | 部署文档 |
| `TIANWANG_INTEGRATION.md` | 天网协作 |
| `三种工作流功能说明.md` | 工作流 |
| `文字加价功能说明.md` | 价格策略 |
| `风险评估功能说明.md` | 风险控制 |
| `图片任务数据库功能说明.md` | 任务管理 |
| `图绘派单系统集成说明.md` | 派单系统 |
| `作图失败转接人工说明.md` | 失败处理 |
---
## 快速参考
### API 调用示例
**接收天网任务**:
```bash
curl -X POST http://localhost:6060/api/task/receive \
-H "Content-Type: application/json" \
-d '{
"task_id": "TASK_001",
"customer": {"id": "customer_123"},
"trigger": {"type": "customer_reply", "keyword": "好的"},
"action": {"type": "send_message", "message": "您好"}
}'
```
**查询在线设计师**:
```bash
curl -X GET "http://1.12.50.92:8005/online/designers" \
-H "X-API-Key: tuhui_dispatch_key_2026"
```
**派单队列**:
```bash
curl -X GET "http://1.12.50.92:8005/dispatch/queue" \
-H "X-API-Key: tuhui_dispatch_key_2026"
```
---
**完整功能已部署,所有系统运行正常!** 🎉