We built an embeddable AI chat widget, hybrid RAG search, and agent portability — here's how (CrewForm v1.8.0)

Key summary
Embeddable chat widget: deploy a site chat bubble with one script tag (https://runner.crewform.tech/chat/widget.js); supports data-key and data-theme.
Widget needs no React or npm—built as a single Vite bundle, uses Shadow DOM, preserves session memory across reloads, enforces per-visitor rate limits, offers a Settings UI with embed snippet generator and live preview, streams responses via SSE, and is included in the Docker image for self-hosting.
Knowledge Base adds hybrid search combining vector similarity (pgvector cosine) with PostgreSQL full-text (tsvector + ts_rank_cd).
Final retrieval score is computed as 0.7 × cosine_similarity plus 0.3 × ts_rank; retrieval uses over-fetch and rerank to produce top-K results.
Documents can be tagged (e.g., 'FAQ', 'Technical', 'Policy') and filtered via GIN-indexed tags; the Retrieval Tester enables interactive query testing with color-coded similarity scores, mode toggles, tag/doc filters, and top-K adjustment before deployment to agents.
