$ account hexabot-ai
Hexabot is a full-stack conversational AI platform for building and managing agentic chatbots with workflow automation. The system provides a visual workflow editor (based on xyflow) for designing multi-step flows, supports multiple messaging channels (web, console, and extensible), integrates with AI models via the Vercel AI SDK and Ollama, and includes a CMS with RAG (Retrieval-Augmented Generation) capabilities. It also features a memory system for context persistence, MCP (Model Context Protocol) integration for external tool discovery, audit logging with pluggable backends, analytics dashboards, and license enforcement via Lemon Squeezy. The architecture is a monorepo with seven packages: `api` (NestJS + TypeORM backend), `frontend` (React + MUI admin panel), `widget` (embeddable chat widget), `cli` (project lifecycle management), `agentic` (core workflow engine with DSL and step executors), `graph` (reusable workflow graph component), and `types` (shared Zod schemas). Key entry points include the API bootstrap (`main.ts`), the frontend app (`main.tsx`), the widget (`ChatWidget.tsx`), and the CLI (`index.ts`). Primary data flows involve inbound messages from channels being routed through the channel service to the workflow engine, which executes actions (AI generation, messaging, web requests, etc.) and produces outbound responses. External dependencies include PostgreSQL/SQLite, Redis (optional), Vercel AI SDK, MCP servers, and Lemon Squeezy for licensing. The codebase demonstrates strong engineering practices with generic CRUD abstractions, dynamic provider injection for extensions, Zod-based validation and JSON Schema generation, and a sophisticated graph layout engine. It is actively maintained with a comprehensive test suite and CI/CD pipelines.