A comprehensive React-based frontend application for Multi-RAG system, providing intelligent conversation, knowledge base management, AI tools, MCP integration, system monitoring, and more.
- π§ Visual Workflow Builder: Node-based agent design using @xyflow/react
- π€ Agent Management: Create, configure, and deploy AI agents with visual canvas
- π Workflow Automation: Connect nodes to create automated AI pipelines
- π Multi-Format Support: In-browser preview for PDF, DOCX, Excel (.xlsx), PowerPoint (.pptx)
- π Search Highlighting: HighlightText component with XSS-safe keyword highlighting via DOMPurify
- π Document Chunk Visualization: Enhanced search results with highlighted content
- π API Key Management: Comprehensive API key CRUD operations with secure token handling
- π OpenAPI Integration: Interactive API documentation with Monaco editor and real-time testing
- π Environment Management: Complete environment system with variable resolution and template substitution
- π Drag-and-Drop UI: Enhanced user experience with sortable lists and intuitive interactions
- π‘οΈ Enhanced Security: Portal-based dropdowns, secure token regeneration, and access controls
- π¨ Advanced Design Token System: Complete CSS variable theming with automated theme generation
- β‘ Performance Optimizations: Optimized Think state component, removed backdrop-blur for better performance
- π Enhanced Dark Mode: Improved color consistency and visual hierarchy across all components
- π€ MCP Chat Enhancement: Structured output support with unified tool parsing and improved streaming
- π§ MCP Server Management: Comprehensive MCP server configuration, testing, and batch operations
- π AI Tools Expansion: Auto-fill workbench with document integration, AI-powered utilities
- π Advanced Document Management: Multi-format support with specialized parsers (PDF, DOCX, Excel, PPTX, legal docs, etc.)
- π Enhanced Search & Exploration: Improved search interface with HighlightText component and document chunk visualization
- π Parser Configuration: Visual parser settings with real-time preview for different document types
- ποΈ React 19 + Vite 7: Latest framework versions with improved TypeScript integration
- π― Component Architecture: 96 feature components + 48 UI components with comprehensive design system
- π± Responsive Design: Mobile-first approach with enhanced accessibility
- AI-Powered Chat: Real-time streaming conversations with multiple LLM providers
- MCP Chat Integration: Enhanced chat with Model Context Protocol tools and structured outputs
- Conversation Management: History, settings, and context management
- Multi-Format Document Support: PDF, DOCX, TXT, MD, presentations, legal documents, audio, images
- Advanced Document Parsing: Specialized parsers for different content types with visual configuration
- Intelligent Search & Retrieval: Vector-based search with chunk visualization and relevance scoring
- Batch Operations: Upload, download, rename, and organize documents efficiently
- Environment Variables: Comprehensive variable management with template substitution support
- Multi-Environment Support: Switch between development, staging, production environments seamlessly
- Variable Resolution: Advanced templating system with
{{variable}}syntax and validation - Global Environment Integration: System-wide environment variables with hierarchical resolution
- Drag-and-Drop Interface: Intuitive environment and variable management with sortable lists
- Auto-Fill Workbench: AI-powered data processing and form filling with document integration
- Document Processing: Automated content extraction and analysis
- Workflow Automation: Custom AI-driven workflows (in development)
- Visual Canvas Editor: Node-based workflow design using @xyflow/react
- Agent Management: Create, configure, and deploy AI agents
- Workflow Automation: Connect nodes to create automated AI pipelines
- Canvas Components: Specialized nodes, handles, and edge types for agent design
- Server Management: Configure, test, and monitor MCP servers
- Tool Discovery: Browse and utilize MCP tools across different servers
- Batch Operations: Manage multiple MCP connections efficiently
- App Creation Studio: Build and deploy AI applications
- Dialog Management: Create and manage conversational flows
- Prompt Engineering: Advanced prompt editor with templates
- Real-Time Dashboards: System health, performance metrics, and resource usage
- Task Execution Monitoring: Background job tracking with detailed charts
- Component Health Checks: Database, Redis, storage, and processing engine status
- Framework: React 19.1 + TypeScript 5.8
- Build Tool: Vite 7.0
- Styling: Tailwind CSS 3.4 + Tailwind Forms + Tailwind Typography + Tailwind Scrollbar
- State Management: Zustand 5.0 + TanStack Query 5.83
- Routing: React Router DOM 7.7
- Forms: React Hook Form 7.60 + Zod 4.0 + Hookform Resolvers
- UI Primitives: Radix UI (20+ components) + Ant Design 6.0 + @ant-design/x
- Icons: Lucide React 0.525
- Styling Utilities: Class Variance Authority + Tailwind Merge + CLSX
- Charts: Recharts 3.1
- Canvas Editor: @xyflow/react 12.9 for node-based workflow builder
- Drag & Drop: DND Kit 6.3+ for sortable interfaces
- PDF: react-pdf-highlighter 6.1
- DOCX: docx-preview 0.3.7 + mammoth 1.11
- Excel: @js-preview/excel 1.7.14
- PowerPoint: pptx-preview 1.0.7
- Code Editor: Monaco Editor 4.7 for syntax highlighting
- Markdown: React Markdown 10.1 + markdown-it 14.1
- File Handling: React Dropzone 14.3
- HTTP Client: Custom API client with fetch
- XSS Protection: DOMPurify 3.3
- Development: ESLint 9.30 + TypeScript ESLint 8.35
src/
βββ api/ # API clients and types (14 modules)
β βββ client.ts # Base API client with auth & error handling
β βββ auth.ts # Authentication APIs
β βββ conversation.ts # Chat/conversation APIs
β βββ knowledge.ts # Knowledge base APIs
β βββ llm.ts # LLM provider APIs
β βββ system.ts # System monitoring APIs
β βββ environment.ts # Environment management APIs
β βββ agent.ts # Agent management APIs
β βββ mcp.ts # MCP server APIs
β βββ mcp-chat.ts # MCP chat service APIs
β βββ document.ts # Document operations APIs
β βββ dialog.ts # Dialog/prompt APIs
β βββ index.ts # API exports
βββ components/ # Reusable UI components (96 feature + 48 UI)
β βββ ui/ # Base UI components (48 components)
β β βββ button.tsx # Button with variants
β β βββ input.tsx # Form inputs
β β βββ card.tsx # Card layouts
β β βββ file-icon.tsx # File type icons (40+ types)
β β βββ provider-icon.tsx # LLM provider icons
β β βββ theme-switcher.tsx # Dark/light mode toggle
β β βββ task-executor-chart.tsx # System monitoring charts
β β βββ ... # More specialized UI components
β βββ auth/ # Authentication components
β β βββ AuthGuard.tsx # Route protection
β β βββ AuthCarousel.tsx # Login/register carousel
β β βββ ImageWithFallback.tsx # Image loading with fallback
β βββ knowledge/ # Knowledge base components (10 files)
β β βββ DocumentPreview.tsx # Multi-format preview (PDF, DOCX, Excel, PPTX)
β β βββ HighlightText.tsx # Search result highlighting with XSS protection
β β βββ EmbeddingModelSelector.tsx # Vector model selection
β β βββ RerankModelSelector.tsx # Rerank model selection
β β βββ ParserTypeSelector.tsx # Document parser selection
β β βββ QuickEditModal.tsx # Quick edit functionality
β βββ chat/ # Chat interface components (19 files)
β β βββ ChatInput.tsx # Chat input with attachments
β β βββ ChatMessage.tsx # Message rendering
β β βββ ChatHeader.tsx # Chat header controls
β β βββ ChatModelSelector.tsx # Model selection
β β βββ MarkdownRenderer.tsx # Markdown content rendering
β β βββ ToolCallDisplay.tsx # Tool call visualization
β β βββ InlineSourceRef.tsx # Inline source references
β β βββ ReferenceDocumentList.tsx # Reference documents
β β βββ WelcomeMessage.tsx # Chat welcome screen
β βββ mcp/ # MCP integration components
β β βββ MCPServerForm.tsx # MCP server configuration
β βββ environment/ # Environment management components
β β βββ EnvironmentDetail.tsx # Environment detail view
β β βββ EnvironmentList.tsx # Environment listing with drag-and-drop
β β βββ EnvironmentVariablesTable.tsx # Variable management table
β β βββ ModernEnvironmentSelector.tsx # Environment selection UI
β β βββ NewEnvironmentManager.tsx # Environment creation/editing
β β βββ index.ts # Environment component exports
β βββ forms/ # Specialized form components
β β βββ CommonFormFields.tsx # Common form inputs
β β βββ GraphRagFormFields.tsx # Graph RAG configuration
β β βββ RaptorFormFields.tsx # RAPTOR algorithm settings
β β βββ AutoKeywordsFormField.tsx # Auto-keyword extraction
β βββ layout/ # Layout components
β βββ Layout.tsx # Main app layout with auth guard
β βββ Header.tsx # App header with user menu
β βββ Sidebar.tsx # Navigation sidebar with modern design
βββ pages/ # Application pages (97 files across 34 modules)
β βββ auth/ # Authentication
β β βββ LoginPage.tsx
β β βββ RegisterPage.tsx
β βββ dashboard/ # Dashboard
β β βββ DashboardPage.tsx
β βββ chat/ # Chat interface
β β βββ ChatPage.tsx
β βββ agent/ # Agent workflow builder
β β βββ AgentListPage.tsx # Agent list and management
β β βββ AgentCanvasPage.tsx # Visual workflow canvas
β β βββ components/ # Canvas nodes, edges, controls
β βββ knowledge/ # Knowledge base management
β β βββ KnowledgeListPage.tsx # KB listing and management
β β βββ KnowledgeCreatePage.tsx # KB creation wizard
β β βββ KnowledgeImportPage.tsx # Document import
β β βββ KnowledgeDetailLayout.tsx # KB detail layout
β β βββ KnowledgeDocumentsPage.tsx # Document management
β β βββ KnowledgeSearchPage.tsx # Search interface
β β βββ KnowledgeSettingsPage.tsx # KB configuration
β β βββ DocumentChunksPage.tsx # Document chunk viewer
β β βββ settings/ # Parser configuration components
β β βββ configuration/ # Specialized parser configs
β β βββ ParserVisualizationPanel.tsx
β β βββ configuration-form-container.tsx
β βββ ai-tools/ # AI tools and utilities
β β βββ AIToolsHomePage.tsx # Tools homepage
β β βββ AutoFillWorkbenchPage.tsx # Auto-fill workbench
β β βββ ref/ # Reference implementations
β βββ studio/ # App creation studio
β β βββ StudioPage.tsx # Studio homepage
β β βββ CreateAppPage.tsx # App creation wizard
β β βββ components/ # Studio-specific components
β βββ dialog/ # Dialog management
β β βββ DialogListPage.tsx # Dialog listing
β β βββ PromptEditorPage.tsx # Prompt editing
β βββ explore/ # Content exploration
β β βββ ExplorePage.tsx # Explore interface
β βββ system/ # System monitoring
β β βββ SystemPage.tsx # System dashboard
β βββ settings/ # Application settings
β β βββ SettingsLayout.tsx # Settings layout
β β βββ ProfilePage.tsx # User profile
β β βββ SecurityPage.tsx # Security settings
β β βββ ModelProvidersPage.tsx # LLM provider config
β β βββ MCPServersPage.tsx # MCP server management
β β βββ MCPToolsPage.tsx # MCP tools browser
β β βββ MCPTestPage.tsx # MCP testing interface
β β βββ MCPBatchPage.tsx # MCP batch operations
β β βββ ApiKeysPage.tsx # Comprehensive API key management with OpenAPI docs
β βββ MCPChatPage.tsx # MCP-enhanced chat
β βββ MCPDashboard.tsx # MCP dashboard
β βββ theme-demo/ # Theme demonstration
βββ stores/ # Zustand state management (8 stores)
β βββ auth.ts # Authentication state (token, user, tenant)
β βββ ui.ts # UI state (sidebar, theme, notifications)
β βββ chat.ts # Chat state and history
β βββ conversation.ts # Conversation management and streaming
β βββ knowledge.ts # Knowledge base state
β βββ model.ts # Model configurations
β βββ environmentStore.ts # Environment and variable management
β βββ index.ts # Store initialization with persistence (initializeStores, resetAllStores)
βββ themes/ # Advanced design system
β βββ tokens.ts # Design token definitions
β βββ theme-generator.ts # Automated theme generation
β βββ build-themes.ts # Theme build script
β βββ tailwind-vars.ts # Tailwind CSS integration
β βββ light.css # Light theme CSS variables
β βββ dark.css # Dark theme CSS variables
β βββ *.md # Design system documentation
βββ hooks/ # Custom React hooks (5 files)
β βββ use-auth.ts # Authentication hooks
β βββ use-conversations.ts # Conversation hooks (8KB)
β βββ use-dialog-apps.ts # Dialog/app management hooks
β βββ use-system-status.ts # System status hooks
β βββ useDebouncedValue.ts # Debouncing utility hook
βββ lib/ # Core utilities and configurations
β βββ router.tsx # React Router configuration with nested routes
β βββ query-client.ts # TanStack Query setup
β βββ utils.ts # Utility functions
β βββ toast.ts # Toast notification system
βββ utils/ # Additional utilities
β βββ variableResolver.ts # Environment variable resolution and templating
βββ types/ # TypeScript type definitions
β βββ api.ts # Comprehensive API types (1,284 lines)
β βββ index.ts # Type exports
βββ constants/ # Application constants
β βββ index.ts # Routes, API URLs, file types, etc.
βββ assets/ # Static assets
βββ react.svg # React logo
βββ svg/ # SVG icon library
βββ file-icon/ # File type icons (40+ formats)
- Node.js 18+
- npm or yarn
- Modern web browser
-
Clone the repository
git clone <repository-url> cd web
-
Install dependencies
npm install
-
Environment setup
cp .env.example .env.local # Edit .env.local with your configuration -
Start development server
npm run dev
The application will be available at
http://localhost:5173
# Development
npm run dev # Start development server (localhost:5173, accessible externally)
npm run build # Build for production (TypeScript + Vite)
npm run preview # Preview production build
npm run lint # Run ESLint for code quality
# Design System
npm run build:themes # Generate CSS theme files from design tokens
# Type Checking & Quality
npx tsc --noEmit # TypeScript type checking without emitCreate a .env.local file in the root directory:
VITE_API_BASE_URL=http://localhost:8000 # Backend API URLThe application uses a custom API client (src/api/client.ts) that provides:
- Automatic token management
- Request/response interceptors
- Error handling
- Timeout management
- File upload support
- Login/Register pages
- JWT token management
- Protected routes with AuthGuard
- Automatic token refresh
- System overview
- Quick access to main features
- Activity summaries
- Real-time chat interface
- Message history
- Conversation management
- Streaming responses
- User Management: Profile, security, API keys, and authentication settings
- LLM Providers: Configure multiple AI providers (OpenAI, Anthropic, Claude, etc.)
- API Key Management: Full-featured API key management with CRUD operations, search, and pagination
- API Documentation: Interactive OpenAPI documentation system with Monaco editor integration
- Environment Management: Complete environment variable system with template substitution
- MCP Integration: Server management, tool discovery, testing, and batch operations
- Security & Privacy: Advanced security settings and access controls
- Theme System: Light/dark mode with advanced design token customization
- Design Tokens: Comprehensive token system with automated CSS generation
- Theme Support: Advanced light/dark mode with CSS custom properties
- Component Library: 96 feature components + 48 UI components with consistent styling
- Icon System: File type icons (40+ formats), provider icons, and SVG assets
- Form System: Advanced form components with React Hook Form + Zod validation
- Code Editor: Monaco Editor integration with read-only mode and syntax highlighting
- Data Visualization: Task executor charts, system status cards, and metrics displays
- API Documentation: Interactive OpenAPI viewer with request/response formatting
- File Management: File icons, drag-and-drop, batch operations interface
- Navigation: Modern sidebar with floating card design and responsive layout
- Authentication: Carousel-based login/register with image fallbacks
- Responsive Design: Mobile-first approach with Tailwind CSS
- Component Variants: Using Class Variance Authority for systematic styling
- Accessibility: ARIA labels, keyboard navigation, and screen reader support
- Performance: Optimized rendering with backdrop-blur removal and efficient CSS
auth: User authentication, JWT tokens, user profile, tenant informationui: UI state management (sidebar visibility, notifications, theme preferences)chat: Chat interface state and message managementconversation: Conversation history, settings, and streaming stateknowledge: Knowledge base management, document states, search resultsmodel: LLM provider configurations and model settingsenvironmentStore: Environment and variable management with template resolution
- Persistence: Automatic state persistence with localStorage
- Middleware: DevTools integration for debugging
- Type Safety: Full TypeScript support with proper typing
- Initialization: Centralized store initialization system
- API state management
- Caching and synchronization
- Background refetching
- Optimistic updates
- JWT token authentication
- Route protection
- XSS protection
- CSRF protection
- Secure API communication
- Input validation with Zod
- Code splitting with React.lazy
- Image optimization
- Bundle size optimization
- Efficient re-rendering with React.memo
- API response caching
- Debounced search inputs
- Chrome (last 2 versions)
- Firefox (last 2 versions)
- Safari (last 2 versions)
- Edge (last 2 versions)
- Fork the repository
- Create a feature branch:
git checkout -b feature/new-feature - Commit changes:
git commit -m 'feat: add new feature' - Push to branch:
git push origin feature/new-feature - Submit a pull request
Follow Conventional Commits:
feat:- New featuresfix:- Bug fixesdocs:- Documentation changesstyle:- Code style changesrefactor:- Code refactoringtest:- Test additions/modificationschore:- Build process or auxiliary tool changes
This project is proprietary software. All rights reserved.
For support and questions:
- Create an issue in the repository
- Check the documentation
- Contact the development team
Version: 0.9.8 | Built with β€οΈ using React 19 + TypeScript 5.8 + Vite 7 + @xyflow/react
- Modern Stack: React 19, Vite 7, TypeScript 5.8 with latest ecosystem tools
- Agent Canvas: Visual workflow builder with @xyflow/react for node-based agent design
- Design System: Advanced theming with automated CSS generation and design tokens
- State Management: Zustand + TanStack Query for optimal client/server state
- Document Processing: Multi-format preview (PDF, DOCX, Excel, PPTX) with in-browser rendering
- MCP Integration: Comprehensive Model Context Protocol support
- Security: XSS protection via DOMPurify, input validation with Zod
- Performance: Optimized bundle size, efficient rendering, and responsive design
- Developer Experience: TypeScript-first, comprehensive tooling, and modern practices