A modern React chat application with a terminal emulator aesthetic, built with Vite, Tailwind CSS, and Catppuccin color scheme.
- 🌙 Dark Catppuccin Theme - Beautiful pastel colors on dark background
- 💻 Terminal-style UI - Monospace font and console-inspired message layout
- 🚀 Smooth Animations - Framer Motion powered sidebar and transitions
- 📱 Responsive Design - Works on desktop and mobile
- 🔐 Wazuh Integration - Setup wizard for SIEM credentials and rules
- 💬 NLP Chat Interface - Natural language queries for SIEM data
- 📋 Chat History - Sidebar with previous chat sessions
- 🔍 SIEM Log Viewer - Interactive log display with filtering and search
- 📊 Advanced Filtering - Filter by severity, time range, source, and type
- 💾 Export Capabilities - Export logs in JSON, CSV, or text formats
- ⌨️ Keyboard Shortcuts - Efficient navigation with hotkeys
- ⚡ Hot Reload - Fast development with Vite
# Start the development server
docker compose up -d
# View logs
docker compose logs -f terminal-chat-dev
# Stop the server
docker compose downThe app will be available at http://localhost:5173
# Install dependencies
npm install
# Start development server
npm run dev
# Build for production
npm run build# Build production image
docker build -t terminal-chat-app .
# Run production container
docker run -p 80:80 terminal-chat-appsrc/
├── components/
│ └── Sidebar.jsx # Chat history sidebar with animations
├── pages/
│ ├── LoginPage.jsx # Authentication page
│ └── ChatPage.jsx # Main chat interface
├── App.jsx # Main app with routing
├── main.jsx # React entry point
└── index.css # Tailwind CSS and global styles
- Centered form with Catppuccin styling
- Username and password validation
- Smooth transitions and focus states
- Terminal-style message display with prefixes ([USER], [ASSISTANT], [SYSTEM])
- Auto-scrolling chat area
- Input with terminal prompt (
>) - Monospace Fira Code font
- Color-coded message types
- Integrated SIEM log viewer for query results
- Interactive log entries with expand/collapse functionality
- Advanced filtering by severity, time range, source, and type
- Real-time search with highlighting
- Export capabilities (JSON, CSV, text)
- Virtual scrolling for large datasets (1000+ logs)
- Keyboard shortcuts for efficient navigation
- Hamburger menu toggle
- Animated slide-in/out with backdrop
- Chat session history
- Active session highlighting
- Truncated long titles
- New chat button
- Base:
#1e1e2e(Catppuccin Base) - Surface:
#313244(Surface0),#45475a(Surface1) - Text:
#cdd6f4(Text) - Accents:
#89b4fa(Blue),#f38ba8(Pink),#a6e3a1(Green)
- React 18 - UI framework
- Vite - Build tool and dev server
- Tailwind CSS - Utility-first styling
- Framer Motion - Smooth animations
- React Router - Client-side routing
- Lucide React - Beautiful icons
- Docker - Containerization
The app includes hot reloading, so any changes to the source code will automatically refresh the browser.
npm run dev- Start development servernpm run build- Build for productionnpm run lint- Run ESLintnpm run preview- Preview production build
Modify the Catppuccin color palette in tailwind.config.js:
colors: {
'ctp': {
base: '#1e1e2e',
surface0: '#313244',
// ... add more colors
}
}The app uses Fira Code by default. Change the font family in tailwind.config.js and index.html.
Customize message styling and prefixes in ChatPage.jsx.
This application includes advanced SIEM log analysis capabilities. For detailed documentation on the SIEM features, filtering, keyboard shortcuts, and API integration, see:
- Complete the Wazuh setup wizard (username, password, rules file)
- Enter natural language queries like:
- "Show me authentication failures in the last 24 hours"
- "Find high severity alerts from web servers"
- "Display blocked connections from suspicious IPs"
- Use
demoortest siemto load sample data for testing
- Ctrl+B: Toggle sidebar
- Ctrl+L: Toggle log viewer
- Escape: Close log viewer
- Ctrl+E: Export logs
MIT