comfyui.py 714 B

12345678910111213141516171819202122
  1. from typing import Any
  2. import websocket
  3. from yarl import URL
  4. from core.tools.errors import ToolProviderCredentialValidationError
  5. from core.tools.provider.builtin_tool_provider import BuiltinToolProviderController
  6. class ComfyUIProvider(BuiltinToolProviderController):
  7. def _validate_credentials(self, credentials: dict[str, Any]) -> None:
  8. ws = websocket.WebSocket()
  9. base_url = URL(credentials.get("base_url"))
  10. ws_address = f"ws://{base_url.authority}/ws?clientId=test123"
  11. try:
  12. ws.connect(ws_address)
  13. except Exception as e:
  14. raise ToolProviderCredentialValidationError(f"can not connect to {ws_address}")
  15. finally:
  16. ws.close()