让我为您详细描述整个项目的线性逻辑流程:

# 完整流程线路图

## 1. 用户界面启动
1. 运行 web_app.py
2. Flask 服务启动在 http://localhost:5000
3. 用户访问网页,看到 index.html 页面

## 2. 用户操作流程
1. 用户在输入框输入提示词(如:"beautiful cat")
2. 点击生成按钮
3. 前端发送 POST 请求到 `/generate_image` 端点

## 3. 后端处理流程 (web_app.py)
1. `/generate_image` 路由接收请求
2. 获取提示词文本
3. 调用 websockets_api_example.py 脚本
   ```python
   result = subprocess.run(
       ['python', 'C:/1/V2/websockets_api_example.py', prompt_text],
       check=True,
       capture_output=True,
       text=True
   )

4. ComfyUI API 调用流程 (websockets_api_example.py)

  1. 接收提示词参数
  2. 建立 WebSocket 连接(ws://127.0.0.1:8188)
  3. 准备生成参数
    • 加载模型配置
    • 设置图像参数
    • 构建提示词结构
  4. 发送生成请求到 ComfyUI
  5. 等待生成完成
  6. 保存生成的图片到输出目录
  7. 将图片路径写入 latest_image.txt

5. 图片显示流程

  1. 前端发送 GET 请求到 /get_latest_image
  2. 后端读取 latest_image.txt
  3. 获取图片文件
  4. 返回图片给前端显示

6. 数据流转过程

graph TD A[用户输入提示词] --> B[点击生成按钮] B --> C[web_app.py接收请求] C --> D[调用websockets_api_example.py] D --> E[连接ComfyUI WebSocket] E --> F[发送生成请求] F --> G[等待图片生成] G --> H[保存图片] H --> I[记录图片路径] I --> J[前端获取图片] J --> K[显示图片]

7. 关键文件作用

  1. web_app.py

    • Web服务器
    • 路由处理
    • 请求响应
  2. websockets_api_example.py

    • ComfyUI API 调用
    • WebSocket 通信
    • 图片生成控制
  3. workflow_api.json

    • 模型配置
    • 生成参数设置
    • 工作流定义

8. 数据存储

  1. latest_image.txt
    • 记录最新生成图片路径
    • 用于前端获取图片

9. 注意事项

  1. 生成过程是异步的
  2. 图片生成需要等待时间
  3. 每次生成会覆盖之前的记录
  4. 需要手动刷新查看新图片

10. 可能的错误点

  1. ComfyUI服务未启动
  2. WebSocket连接失败
  3. 模型文件不存在
  4. 输出目录权限问题
  5. 文件路径错误

这就是整个项目的完整线性逻辑流程。每个步骤都是按顺序执行的,从用户输入到最终显示图片。您想了解哪个具体环节的更多细节吗?