Task: Create your own embedded chat widget

Create your own embedded chat widget

A minimal widget for connecting to websites via a central agent with streaming responses and Stop functionality.

Create your own embedded chat widget

Objective

Create a minimal custom chat UI that can be embedded into our websites and connected to the already implemented server-side HTTP/agent layer without using the old interface as a permanent solution.

What to Implement

  • a simple way to embed the widget on a website with minimal manual configuration;
  • sending user messages to the central service;
  • streaming display of the agent's response;
  • a Stop button with actual cancellation of the current execution;
  • correct UI states for started / streaming / done / error / cancelled;
  • basic transmission of the website identifier and page context;
  • defining a visitor/session identification contract without mixing the states of different tabs and users;
  • defining CORS and the access model for the public HTTP endpoint for the external widget;
  • testing operation through a real proxy path, not just directly to the application.

Out of Scope for the Minimum Viable Phase

  • manager dashboard;
  • full conversation history in the UI;
  • complex analytics;
  • visual agent builder.

Definition of Done

  • the widget connects to at least one test website without using the legacy chat;
  • responses are streamed;
  • Stop actually cancels the server-side execution;
  • parallel visitors do not mix states;
  • streaming and cancellation have been tested through a working Traefik/Varnish/proxy path;
  • the connection contract is documented so that the next website can be added without modifying the core.