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:
229
三种工作流功能说明.md
Normal file
229
三种工作流功能说明.md
Normal file
@@ -0,0 +1,229 @@
|
||||
# 三种工作流功能说明
|
||||
|
||||
## 📋 功能说明
|
||||
|
||||
根据客户说的话,自动判断执行不同的工作流程:
|
||||
|
||||
1. **"找一下这个图"** → 查找图片工作流
|
||||
2. **"做一下"** → 处理图片工作流
|
||||
3. **"做不了"** → 转人工派单工作流
|
||||
|
||||
---
|
||||
|
||||
## 🔄 工作流 1:查找图片
|
||||
|
||||
### 触发条件
|
||||
客户说:
|
||||
- "找一下这个图"
|
||||
- "找图"
|
||||
- "找原图"
|
||||
- "帮我找"
|
||||
- "能找到吗"
|
||||
- "有吗"
|
||||
- "有没有"
|
||||
|
||||
### 执行流程
|
||||
```
|
||||
客户:找一下这个图 [发送图片]
|
||||
↓
|
||||
AI 检测到"找一下"关键词
|
||||
↓
|
||||
执行查找图片工作流
|
||||
↓
|
||||
1. 创建任务(operation=find)
|
||||
2. 上传图片到图绘平台
|
||||
3. 更新任务状态为 completed
|
||||
↓
|
||||
回复客户:"找到了!图片在这里:http://tuhui.cloud/works/123"
|
||||
```
|
||||
|
||||
### 示例对话
|
||||
```
|
||||
客户:找一下这个图 [图片]
|
||||
AI: 找到了!图片在这里:http://tuhui.cloud/works/123
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🔄 工作流 2:处理图片
|
||||
|
||||
### 触发条件
|
||||
客户说:
|
||||
- "做一下"
|
||||
- "处理一下"
|
||||
- "安排"
|
||||
- "开始做"
|
||||
- "弄一下"
|
||||
- "修一下"
|
||||
- "P 一下"
|
||||
- "P 图"
|
||||
|
||||
### 执行流程
|
||||
```
|
||||
客户:做一下 [发送图片]
|
||||
↓
|
||||
AI 检测到"做一下"关键词
|
||||
↓
|
||||
执行处理图片工作流
|
||||
↓
|
||||
1. 创建任务(operation=enhance)
|
||||
2. 回复客户"稍等,我看看...好的,可以做,马上处理"
|
||||
3. 启动图片处理流程
|
||||
↓
|
||||
处理完成后发送结果给客户
|
||||
```
|
||||
|
||||
### 示例对话
|
||||
```
|
||||
客户:做一下 [图片]
|
||||
AI: 稍等,我看看...好的,可以做,马上处理
|
||||
|
||||
[处理中...]
|
||||
|
||||
AI: 做好了,请查看 [结果图]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🔄 工作流 3:转人工派单
|
||||
|
||||
### 触发条件
|
||||
客户说:
|
||||
- "做不了"
|
||||
- "处理不了"
|
||||
- "弄不了"
|
||||
- "无法处理"
|
||||
- "做不到"
|
||||
- "搞不定"
|
||||
|
||||
或者 AI 判断无法处理时
|
||||
|
||||
### 执行流程
|
||||
```
|
||||
AI:做不了
|
||||
↓
|
||||
检测到"做不了"关键词
|
||||
↓
|
||||
执行转人工派单工作流
|
||||
↓
|
||||
1. 创建任务(operation=manual)
|
||||
2. 查询企业微信在线设计师
|
||||
- 调用 API: GET http://huichang.online:8001/online
|
||||
3. 有人在线 → 派单给设计师
|
||||
无人在线 → 通知客户稍后联系
|
||||
↓
|
||||
回复客户:"好的,已帮您安排设计师处理,请稍候"
|
||||
```
|
||||
|
||||
### 示例对话
|
||||
```
|
||||
客户:这个能做吗 [图片]
|
||||
AI: 抱歉,这个我做不了,帮您转接设计师
|
||||
|
||||
[查询在线设计师...]
|
||||
|
||||
AI: 好的,已帮您安排设计师处理,请稍候
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🔧 技术实现
|
||||
|
||||
### 1. 工作流程路由器
|
||||
|
||||
文件:`/root/ai_customer_service/ai_cs/core/workflow_router.py`
|
||||
|
||||
**关键词检测**:
|
||||
```python
|
||||
find_keywords = ["找一下", "找图", "找原图", ...]
|
||||
process_keywords = ["做一下", "处理一下", "安排", ...]
|
||||
unable_keywords = ["做不了", "处理不了", "弄不了", ...]
|
||||
```
|
||||
|
||||
### 2. 工作流执行器
|
||||
|
||||
文件:`/root/ai_customer_service/ai_cs/core/workflow.py`
|
||||
|
||||
**三种方法**:
|
||||
- `find_image_workflow()` - 查找图片
|
||||
- `process_image_workflow()` - 处理图片
|
||||
- `transfer_to_designer_workflow()` - 转人工派单
|
||||
|
||||
### 3. 消息处理器
|
||||
|
||||
文件:`/root/ai_customer_service/ai_cs/core/pydantic_ai_agent.py`
|
||||
|
||||
**处理方法**:
|
||||
```python
|
||||
async def _handle_image_workflow(self, message, data, image_urls):
|
||||
# 检测工作流类型
|
||||
workflow_type, confidence = self.workflow_router.detect_workflow(message)
|
||||
|
||||
# 执行对应工作流
|
||||
if workflow_type == "find_image":
|
||||
await workflow.find_image_workflow(...)
|
||||
elif workflow_type == "process_image":
|
||||
await workflow.process_image_workflow(...)
|
||||
elif workflow_type == "transfer_human":
|
||||
await workflow.transfer_to_designer_workflow(...)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📊 设计师在线状态 API
|
||||
|
||||
### 查询在线设计师
|
||||
|
||||
**接口**:`GET http://huichang.online:8001/online`
|
||||
|
||||
**返回**:
|
||||
```json
|
||||
{
|
||||
"online_count": 2,
|
||||
"online_users": ["lz", "ZuoWei"],
|
||||
"update_time": "2026-02-27 18:40:00"
|
||||
}
|
||||
```
|
||||
|
||||
### 更新设计师状态
|
||||
|
||||
**接口**:`POST http://huichang.online:8001/update-status`
|
||||
|
||||
**请求**:
|
||||
```json
|
||||
{
|
||||
"username": "lz",
|
||||
"status": "online"
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## ⚠️ 注意事项
|
||||
|
||||
1. **关键词匹配**:支持多种说法,自动识别
|
||||
2. **置信度**:>0.9 才执行对应工作流
|
||||
3. **无人在线处理**:通知客户稍后联系,企业微信预警
|
||||
4. **任务记录**:所有工作流都保存到数据库
|
||||
5. **状态追踪**:任务状态自动流转
|
||||
|
||||
---
|
||||
|
||||
## 🔍 日志查看
|
||||
|
||||
```bash
|
||||
# 查看工作流执行日志
|
||||
grep "工作流" /tmp/ai-cs.log
|
||||
|
||||
# 查看派单记录
|
||||
grep "派单" /tmp/ai-cs.log
|
||||
|
||||
# 查看在线设计师查询
|
||||
grep "在线设计师" /tmp/ai-cs.log
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
**文档版本**: v1.0
|
||||
**更新日期**: 2026-02-27
|
||||
|
||||
Reference in New Issue
Block a user