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

View 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