Skip to content

sanchez314c/agent-chat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

6 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

AgentCHAT Desktop

Multi-agent AI conversation desktop application built with Electron, React, and TypeScript

Version License Platform TypeScript Electron React

AgentCHAT Screenshot

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.

✨ Features

πŸ€– Multi-Agent Support

  • 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

πŸ”’ Security & Privacy

  • 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

πŸ’‘ User Experience

  • 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

πŸ› οΈ Developer Features

  • TypeScript - Full type safety throughout
  • Hot Reload - Fast development iteration
  • ESLint - Code quality enforcement
  • Tailwind CSS - Utility-first styling
  • Vite - Lightning-fast build tool

πŸš€ Quick Start

Prerequisites

  • Node.js 18.0.0 or higher
  • npm 8.0.0 or higher
  • API key from at least one supported AI provider

One-Command Build & Run

# 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

Comprehensive Build System

Development Mode

# Fast development with hot reload
npm run electron:dev

# OR using comprehensive build script
./scripts/build-compile-dist.sh --help

Production Builds

Simple Build (Current Platform)

npm run dist:current

Platform-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 cleanup

Quick 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 rebuild

Build Output Locations

Built applications are saved to dist/ directory:

All Platform Variants Generated:

  • 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.xz packages available
    • linux-unpacked/, linux-arm64-unpacked/, linux-armv7l-unpacked/ (Raw builds)

πŸ“¦ Distribution

Unified Build System

The build-release-run.sh script handles everything:

  • TypeScript compilation
  • Vite bundling
  • Electron packaging
  • Platform-specific installers
  • Automatic launch after build

Output Locations

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)

πŸ”§ Configuration

API Keys Setup

  1. Launch the application
  2. Click on the gear icon for each agent panel
  3. Enter your API keys from supported providers:

Supported Providers

Anthropic Claude
OpenAI
Google Gemini
OpenRouter

🎯 Usage

Basic Workflow

  1. Configure Agents: Set up both agents with desired providers, models, and personas
  2. Set System Prompts: Configure agent behavior and personalities
  3. Start Conversation: Click "Start" to begin the agent conversation
  4. Monitor Progress: Watch real-time conversation between agents
  5. Control Flow: Pause, resume, or stop conversations as needed
  6. Export Results: Save conversations as Markdown files

Agent Configuration Options

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

Conversation Controls

  • 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)

Keyboard Shortcuts

  • 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

πŸ—οΈ Development

Project Structure

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

Build Script Usage

# 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

NPM Scripts (Advanced)

# 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

Technology Stack

  • 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

πŸ” Troubleshooting

Common Issues

Application Won't Start

  • 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

Blank White Screen

  • 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 build to regenerate assets

API Connection Issues

  • 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

Build/Packaging Errors

  • 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

Debug Mode

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

Performance Optimization

  • Memory usage: Monitor with DevTools Performance tab
  • API response times: Check network requests in DevTools
  • UI responsiveness: Use React Developer Tools for component analysis

🀝 Contributing

We welcome contributions! Please follow these guidelines:

Getting Started

  1. Fork the repository on GitHub
  2. Clone your fork locally
  3. Create a feature branch: git checkout -b feature/amazing-feature
  4. Install dependencies: npm install
  5. Start development server: npm run electron:dev

Development Guidelines

  • 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

Pull Request Process

  1. Ensure code passes ESLint: npm run lint
  2. Test on at least one platform thoroughly
  3. Update documentation if needed
  4. Commit changes: git commit -m 'Add amazing feature'
  5. Push to branch: git push origin feature/amazing-feature
  6. Open a Pull Request with detailed description

πŸ“š Documentation

πŸ“‹ Complete Documentation Index: Documentation Index - Comprehensive guide to all documentation Phase 4 Status: βœ… Complete - Repository documentation fully standardized and professional-grade

πŸš€ Getting Started

πŸ› οΈ Development

πŸ“– Reference

πŸ“‹ Project

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for complete details.

πŸ™ Acknowledgments

AI Providers

  • 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

Technology Stack

  • 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

Community

  • Contributors - Everyone who has contributed code, ideas, or feedback
  • Users - Beta testers and early adopters
  • Open Source Community - For the foundational tools and libraries

πŸ“Š System Requirements

Minimum Requirements

  • 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

Recommended Requirements

  • 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

Development Requirements

  • 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

πŸš€ What's Next?

Planned Features

  • 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

Roadmap

  • 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.

About

No description, website, or topics provided.

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •