跳转到主要内容

路由

服务器定义了一系列 getpost 方法, 这些方法可以通过在 server.py 中搜索 @routes 找到。当你在网页客户端提交工作流时, 它会被发送到 /prompt 端点,该端点会验证提示并将其添加到执行队列中, 返回 prompt_idnumber(队列中的位置),如果验证失败则返回 errornode_errors。 提示队列定义在 execution.py 中,该文件还定义了 PromptExecutor 类。

内置路由

server.py 定义了以下路由:

核心 API 路由

WebSocket 通信

/ws 端点提供客户端与服务器之间的实时双向通信。用于:
  • 接收执行进度更新
  • 实时获取节点执行状态
  • 接收错误消息和调试信息
  • 队列状态变化时的实时更新
WebSocket 连接发送不同类型的 JSON 消息,例如:
  • status - 整体系统状态更新
  • execution_start - 当提示执行开始时
  • execution_cached - 当使用缓存结果时
  • executing - 节点执行期间的更新
  • progress - 长时间运行操作的进度更新
  • executed - 当节点完成执行时

自定义路由

如果你想在执行过程中从客户端向服务器发送消息,你需要在服务器中添加一个自定义路由。 对于复杂的情况,你需要深入研究 aiohttp 框架文档,但大多数情况可以按以下方式处理:
除非你确切知道自己在做什么,否则不要尝试在类中定义 my_function@routes.post 装饰器做了很多工作!相反,应该像上面那样定义函数, 然后调用一个类方法。
如果你不需要修改任何内容,也可以定义 @routes.get
客户端可以通过发送 FormData 对象来使用这个新路由,代码如下所示, 这将导致上面代码中的 the_data 包含 messagenode_id 键: