Multi-agent AI conversation desktop application built with Electron, React, and TypeScript
A powerful multi-agent AI conversation desktop application built with Electron, React, and TypeScript. Engage with multiple AI agents simultaneously in an intuitive, modern interface.
- Claude (Anthropic) - Advanced reasoning and analysis
- GPT-4/GPT-3.5 (OpenAI) - Versatile conversational AI
- Gemini (Google) - Large context window support
- OpenRouter - Access to multiple open-source models
- Simultaneous Conversations - Chat with multiple agents at once
- Encrypted API Key Storage - Secure local storage using electron-store
- No Data Logging - Conversations stay on your device
- Sandboxed Environment - Isolated web content for security
- Context Isolation - Secure IPC communication
- Dark Theme Interface - Modern, comfortable design
- Real-time Streaming - See responses as they're generated
- Conversation Export - Save chats as Markdown or text files
- Keyboard Shortcuts - Efficient navigation and actions
- Cross-Platform - Native apps for Windows, macOS, and Linux
- Agent Differentiation - Color-coded agents for easy identification
- TypeScript - Full type safety throughout
- Hot Reload - Fast development iteration
- ESLint - Code quality enforcement
- Tailwind CSS - Utility-first styling
- Vite - Lightning-fast build tool
- Node.js 18.0.0 or higher
- npm 8.0.0 or higher
- API key from at least one supported AI provider
# Clone the repository
git clone https://github.com/spacewelder314/AgentCHAT.git
cd AgentCHAT
# Install dependencies
npm install
# Quick development mode
npm run electron:dev
# OR check build status with framework tools
npm run bloat-check# Fast development with hot reload
npm run electron:dev
# OR using comprehensive build script
./scripts/build-compile-dist.sh --helpSimple Build (Current Platform)
npm run dist:currentPlatform-Specific Builds
npm run dist:mac # macOS (Intel + ARM64 + Universal)
npm run dist:win # Windows (x64 + x86 + ARM64)
npm run dist:linux # Linux (x64 + ARM64 + ARMv7l)Comprehensive All-Platform Build
# NEW: Complete build system with all variants
./scripts/build-compile-dist.sh
# Build with bloat analysis and optimization
./scripts/build-compile-dist.sh --skip-bloat # Faster build
./scripts/build-compile-dist.sh --skip-temp-clean # Skip cleanupQuick Build Options
./scripts/build-release-run.sh --platform mac # macOS only
./scripts/build-release-run.sh --platform win # Windows only
./scripts/build-release-run.sh --platform linux # Linux only
./scripts/build-release-run.sh --build-only # Build without running
./scripts/build-release-run.sh --quick # Skip rebuildBuilt applications are saved to dist/ directory:
-
macOS:
AgentCHAT-{version}.dmg(Intel x64)AgentCHAT-{version}-arm64.dmg(Apple Silicon)AgentCHAT-{version}-universal.dmg(Intel + ARM)AgentCHAT-{version}.pkg(macOS installer)AgentCHAT-{version}-mac.zip(Archive)
-
Windows:
AgentCHAT Setup {version}.exe(NSIS installer)AgentCHAT-{version}.msi(Microsoft installer)AgentCHAT-{version}-win.zip(Portable)win-x64-unpacked/,win-x32-unpacked/,win-arm64-unpacked/(Raw builds)
-
Linux:
AgentCHAT-{version}.AppImage(Universal portable)agentchat-electron_{version}_amd64.deb(Debian/Ubuntu x64)agentchat-electron_{version}_arm64.deb(ARM64)agentchat-electron_{version}_armv7l.deb(ARMv7).rpm,.snap,.tar.gz,.tar.xzpackages availablelinux-unpacked/,linux-arm64-unpacked/,linux-armv7l-unpacked/(Raw builds)
The build-release-run.sh script handles everything:
- TypeScript compilation
- Vite bundling
- Electron packaging
- Platform-specific installers
- Automatic launch after build
Built applications are saved to release/{version}/ directory:
- macOS:
AgentCHAT-{version}.dmg(Intel)AgentCHAT-{version}-arm64.dmg(Apple Silicon)
- Windows:
AgentCHAT Setup {version}.exe(Installer)win-unpacked/(Portable version)
- Linux:
AgentCHAT-{version}.AppImage(Universal)agentchat-electron_{version}_amd64.deb(Debian/Ubuntu)linux-unpacked/(Raw files)
- Launch the application
- Click on the gear icon for each agent panel
- Enter your API keys from supported providers:
- Website: https://anthropic.com/
- API Keys: https://console.anthropic.com/settings/keys
- Models: Claude 3.5 Sonnet, Claude 3 Opus, Claude 3 Haiku
- Website: https://openai.com/
- API Keys: https://platform.openai.com/api-keys
- Models: GPT-4, GPT-4 Turbo, GPT-3.5 Turbo
- Website: https://ai.google.dev/
- API Keys: https://aistudio.google.com/app/apikey
- Models: Gemini 1.5 Pro, Gemini 1.5 Flash
- Website: https://openrouter.ai/
- API Keys: https://openrouter.ai/keys
- Models: Llama, Mixtral, Gemma, and more open-source models
- Configure Agents: Set up both agents with desired providers, models, and personas
- Set System Prompts: Configure agent behavior and personalities
- Start Conversation: Click "Start" to begin the agent conversation
- Monitor Progress: Watch real-time conversation between agents
- Control Flow: Pause, resume, or stop conversations as needed
- Export Results: Save conversations as Markdown files
Each agent can be customized with:
- Display Name: Custom name for the agent
- AI Provider: Choose from Anthropic, OpenAI, Google, or OpenRouter
- Model Selection: Specific model variant (GPT-4, Claude-3-Opus, etc.)
- System Persona: Character description and behavior instructions
- Temperature: Creativity level (0.0 = focused, 2.0 = highly creative)
- Max Tokens: Maximum response length limit
- Context Window: Available context for the conversation
- Start: Begin a new conversation between agents
- Pause: Temporarily halt the ongoing conversation
- Resume: Continue a paused conversation
- Stop: End the current conversation completely
- New Conversation: Clear history and start fresh
- Save Conversation: Export as Markdown (.md) or text (.txt)
- New Conversation:
Cmd/Ctrl + N - Save Conversation:
Cmd/Ctrl + S - Toggle DevTools:
Cmd/Ctrl + Shift + I - Reload Application:
Cmd/Ctrl + R - Zoom In/Out:
Cmd/Ctrl + Plus/Minus - Reset Zoom:
Cmd/Ctrl + 0
AgentCHAT/
βββ π Core Files
β βββ README.md # Main documentation
β βββ LICENSE # MIT license
β βββ package.json # Dependencies and scripts
β βββ index.html # Application entry point
β βββ CLAUDE.md # Claude Code development guide
βββ π§ Configuration
β βββ vite.config.ts # Vite build configuration
β βββ tailwind.config.js # Tailwind CSS configuration
β βββ tsconfig.json # TypeScript configuration
β βββ tsconfig.node.json # Node.js TypeScript config
β βββ postcss.config.js # PostCSS configuration
β βββ .eslintrc.json # ESLint configuration
βββ π₯οΈ Electron Main Process
β βββ src/main.cjs # Electron application entry point
β βββ src/preload.cjs # Secure IPC bridge
βββ π¨ React Frontend (src/)
β βββ components/ # UI components
β β βββ AgentConfigPanel.tsx # Agent configuration
β β βββ ConversationPanel.tsx # Chat interface
β β βββ MessageBubble.tsx # Message display
β β βββ StatusBar.tsx # Status information
β β βββ APIKeyModal.tsx # API key management
β βββ services/ # Business logic
β β βββ APIClient.ts # AI provider API clients
β β βββ AgentManager.ts # Agent orchestration
β βββ types/ # TypeScript definitions
β β βββ index.ts # Core type definitions
β βββ App.tsx # Main React application
β βββ main.tsx # React entry point
β βββ index.css # Global styles
βββ π Documentation
β βββ docs/ # Extended documentation
β β βββ CONTRIBUTING.md # Contribution guidelines
β β βββ DEVELOPMENT.md # Development setup
β β βββ SECURITY.md # Security information
β β βββ TECH-STACK.md # Technology stack details
β β βββ PRD.md # Product requirements
β β βββ TODO.md # Development roadmap
β β βββ LEARNINGS.md # Project learnings
β β βββ BUILD.md # Build system documentation
β β βββ FAQ.md # Frequently asked questions
β β βββ QUICK_START.md # Quick start guide
β β βββ INSTALLATION.md # Installation instructions
β β βββ TROUBLESHOOTING.md # Troubleshooting guide
β β βββ WORKFLOW.md # Development workflow
β βββ .github/ # GitHub configuration
β βββ workflows/ # CI/CD workflows
β βββ ISSUE_TEMPLATE/ # Issue templates
β βββ PULL_REQUEST_TEMPLATE.md
βββ π οΈ Build System
β βββ scripts/ # Build and utility scripts
β βββ build-compile-dist.sh # Comprehensive all-platform build
β βββ build-release-run.sh # Unified build and run
β βββ compile-build-dist.sh # Production build system
β βββ bloat-check.sh # Build size analysis
β βββ temp-cleanup.sh # System cleanup utilities
βββ π¨ Assets & Resources
β βββ build-resources/ # Build assets
β β βββ icons/ # Application icons
β β βββ icon.icns # macOS icon
β β βββ icon.ico # Windows icon
β β βββ icon.png # PNG source
β βββ screenshots/ # Application screenshots
βββ π¦ Build Output
β βββ dist/ # All built applications and packages
β βββ build/ # Temporary build files
β βββ node_modules/ # Node.js dependencies
βββ π§ Development Tools
βββ tests/ # Test directories (unit, integration, e2e)
βββ .serena/ # Project memories and context
βββ .git/ # Git repository
βββ .github/ # GitHub configuration
# Main build script
./build-release-run.sh [options]
Options:
--dev Run in development mode (Vite + Electron)
--build-only Build release but don't run
--clean Clean build artifacts before building
--platform Platform to build for (mac, win, linux, all)
--quick Quick build using existing dist (skip Vite build)
--help Show help message
# Examples:
./build-release-run.sh # Build and run for macOS
./build-release-run.sh --platform win # Build for Windows
./build-release-run.sh --dev # Development mode
./build-release-run.sh --clean --platform all # Clean build for all platforms# Development
npm run dev # Vite dev server only
npm run electron:dev # Full dev mode (Vite + Electron)
# Building
npm run build # TypeScript + Vite build
npm run dist # Full production build
# Code Quality
npm run lint # Run ESLint- Frontend Framework: React 18 with TypeScript
- Desktop Framework: Electron 25 with secure IPC
- Build Tool: Vite 4 for fast development and building
- Styling: Tailwind CSS 3 with dark theme
- Icons: Lucide React icon library
- Storage: electron-store with encryption
- Code Quality: ESLint with TypeScript rules
- Packaging: electron-builder for multi-platform distribution
- Check Node.js version: Ensure Node.js 16+ is installed
- Reinstall dependencies:
rm -rf node_modules && npm install - Port conflicts: Ensure port 5173 is available
- Platform compatibility: Verify OS compatibility
- Asset loading: Check if CSS/JS files are loading properly
- Console errors: Open DevTools and check for JavaScript errors
- File paths: Ensure dist/ folder contains built files
- Rebuild: Run
npm run buildto regenerate assets
- API keys: Verify all API keys are correctly configured
- Network: Check internet connection and firewall settings
- Provider status: Check if AI provider services are operational
- Rate limits: Ensure API quotas haven't been exceeded
- Model availability: Confirm selected models are accessible
- Dependencies: Update all packages to latest versions
- Platform tools: Install platform-specific build tools
- Disk space: Ensure sufficient storage for build process
- Permissions: Check file system permissions
Enable detailed logging:
# Development with debug output
DEBUG=agentchat:* npm run electron:dev
# Enable Electron debug logging
ELECTRON_ENABLE_LOGGING=true npm run electron:dev- Memory usage: Monitor with DevTools Performance tab
- API response times: Check network requests in DevTools
- UI responsiveness: Use React Developer Tools for component analysis
We welcome contributions! Please follow these guidelines:
- Fork the repository on GitHub
- Clone your fork locally
- Create a feature branch:
git checkout -b feature/amazing-feature - Install dependencies:
npm install - Start development server:
npm run electron:dev
- Code Style: Follow existing TypeScript and React patterns
- Components: Use functional components with hooks
- Types: Add TypeScript types for all new interfaces
- Styling: Use Tailwind CSS utility classes
- Testing: Test on multiple platforms before submitting
- Commits: Use descriptive commit messages
- Ensure code passes ESLint:
npm run lint - Test on at least one platform thoroughly
- Update documentation if needed
- Commit changes:
git commit -m 'Add amazing feature' - Push to branch:
git push origin feature/amazing-feature - Open a Pull Request with detailed description
π Complete Documentation Index: Documentation Index - Comprehensive guide to all documentation Phase 4 Status: β Complete - Repository documentation fully standardized and professional-grade
- Quick Start Guide - Get AgentCHAT running in 5 minutes
- Installation Guide - Detailed installation instructions
- FAQ - Frequently asked questions
- Development Guide - Development setup and workflow
- Build & Compile Guide - Comprehensive build documentation
- Contributing Guide - How to contribute
- Development Workflow - Complete development workflow
- API Documentation - API reference and integration guide
- Architecture - System architecture and design patterns
- Technology Stack - Technology details and architecture
- Security - Security information and best practices (also available in docs/SECURITY.md)
- Troubleshooting - Common issues and solutions
- Product Requirements - Product specifications and features
- Learnings - Development insights and lessons learned
- Code of Conduct - Community guidelines
- Changelog - Version history and updates
- Deployment Guide - Deployment and distribution instructions
This project is licensed under the MIT License - see the LICENSE file for complete details.
- Anthropic - Claude API and advanced reasoning capabilities
- OpenAI - GPT models and API infrastructure
- Google - Gemini models and large context windows
- OpenRouter - Access to open-source model ecosystem
- Electron Team - Cross-platform desktop framework
- React Team - Component-based UI library
- Vite Team - Lightning-fast build tool
- Tailwind Labs - Utility-first CSS framework
- TypeScript Team - Type-safe JavaScript
- Contributors - Everyone who has contributed code, ideas, or feedback
- Users - Beta testers and early adopters
- Open Source Community - For the foundational tools and libraries
- Operating System:
- Windows 10 version 1903 or later
- macOS 10.14 Mojave or later
- Ubuntu 18.04 LTS or equivalent Linux distribution
- RAM: 4GB minimum
- Storage: 500MB free space for installation
- CPU: x64 or ARM64 architecture
- Internet: Broadband connection for AI API calls
- RAM: 8GB or more for optimal performance
- Storage: 1GB free space for conversations and updates
- Display: 1920x1080 resolution or higher
- Internet: Stable broadband with low latency
- Node.js: 16.0.0 or higher (latest LTS recommended)
- npm: 7.0.0 or higher (comes with Node.js)
- Git: Latest version for version control
- Code Editor: VS Code recommended with TypeScript support
- Plugin System: Support for custom AI providers
- Conversation Templates: Pre-built scenarios and use cases
- Advanced Export: PDF, HTML, and other format support
- Collaboration: Share conversations with team members
- Voice Integration: Text-to-speech and speech-to-text
- Mobile Companion: iOS and Android apps
- v1.1: Plugin architecture and custom providers
- v1.2: Advanced conversation management
- v1.3: Collaboration and sharing features
- v2.0: Voice integration and mobile apps
Built with β€οΈ for the AI community
For support, feature requests, or bug reports, please open an issue on GitHub or reach out to the development team.
