Test PR for webhook 12
Multi-Agent AI System for Collaborative Ideation and Brainstorming
A sophisticated AI-powered ideation system that leverages multiple specialized agents (Creative ๐ก, Reasoning ๐ง , Logical โ๏ธ) to provide comprehensive brainstorming and analysis capabilities. Built with React, Node.js, and integrated with Groq's fast AI models.
- Creative Agent (๐ก): Generates innovative, out-of-the-box ideas
- Reasoning Agent (๐ง ): Provides analytical reasoning and structured thinking
- Logical Agent (โ๏ธ): Evaluates feasibility and practical implementation
- Real-time conversations with persistent history
- Slash commands for triggering specific ideation modes
- Dark theme with purple/blue aesthetics and green accents
- Message persistence with SQLite database
/ideate <topic>- Full multi-agent ideation session/brainstorm <topic>- Creative-focused brainstorming/analyze <problem>- Analytical reasoning and breakdown/synthesize <ideas>- Logical evaluation and synthesis/help- View all available commands
- Automatic idea extraction from ideation sessions
- Searchable idea repository with filtering and categorization
- Tagged ideas for easy organization
- Export capabilities for ideas and conversations
- Conversation management with auto-generated titles
- Response caching for improved performance
- Rate limiting and request queuing
- Comprehensive error handling and logging
- RESTful API with full CRUD operations
- Node.js 18+ and npm
- Groq API key (sign up at Groq Console)
-
Clone the repository
git clone https://github.com/your-username/ideation-agent.git cd ideation-agent -
Install dependencies
npm install
-
Set up environment variables
cp .env.example .env
Edit
.envand add your configuration:# Groq API Configuration GROQ_API_KEY=your_groq_api_key_here GROQ_API_ENDPOINT=https://api.groq.com/openai/v1/chat/completions # Server Configuration PORT=3000 NODE_ENV=development # Ideation Settings IDEATION_TIME_LIMIT=60000 # 60 seconds # Rate Limiting RATE_LIMIT_WINDOW_MS=900000 # 15 minutes RATE_LIMIT_MAX_REQUESTS=100
-
Start the development server
npm run dev
-
Open your browser Navigate to
http://localhost:3000
- AgentOrchestrator: Manages AI agent coordination and execution
- CommandProcessor: Handles slash command parsing and routing
- DatabaseService: SQLite database operations and persistence
- CacheService: Response caching for performance optimization
- IdeaExtractionService: Automatic extraction and categorization of ideas
- ChatInterface: Real-time chat with AI agents
- ConversationList: Sidebar with conversation history and management
- IdeaRepository: Searchable collection of extracted ideas
- APIClient: Centralized HTTP client with error handling
-- Conversations table
CREATE TABLE conversations (
id TEXT PRIMARY KEY,
title TEXT NOT NULL,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP,
status TEXT DEFAULT 'active',
metadata TEXT
);
-- Messages table
CREATE TABLE messages (
id INTEGER PRIMARY KEY AUTOINCREMENT,
conversation_id TEXT NOT NULL,
role TEXT NOT NULL,
content TEXT NOT NULL,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
agent_type TEXT,
metadata TEXT,
FOREIGN KEY (conversation_id) REFERENCES conversations (id)
);
-- Ideas table
CREATE TABLE ideas (
id INTEGER PRIMARY KEY AUTOINCREMENT,
title TEXT NOT NULL,
description TEXT NOT NULL,
category TEXT,
tags TEXT,
source_message_id INTEGER,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (source_message_id) REFERENCES messages (id)
);/ideate Create a sustainable transportation solution for urban areas
/brainstorm Mobile app features for productivity
/analyze The challenges of remote work adoption in traditional companies
/synthesize Compare the pros and cons of electric vs hydrogen vehicles
GET /api/conversations- List all conversationsPOST /api/conversations- Create new conversationGET /api/conversations/:id- Get specific conversationPUT /api/conversations/:id- Update conversationDELETE /api/conversations/:id- Delete conversationGET /api/conversations/:id/messages- Get conversation messages
POST /api/chat/message- Send message and get AI responseGET /api/chat/history- Get chat history for conversationDELETE /api/chat/history- Clear conversation historyPOST /api/chat/conversation- Create new conversation
GET /api/ideas- List all extracted ideasGET /api/ideas/conversation/:id- Get ideas from specific conversation
GET /api/health- Health check endpointGET /api/stats- System statistics
| Variable | Description | Default |
|---|---|---|
GROQ_API_KEY |
Your Groq API key | Required |
GROQ_API_ENDPOINT |
Groq API endpoint URL | https://api.groq.com/openai/v1/chat/completions |
PORT |
Server port | 3000 |
NODE_ENV |
Environment mode | development |
IDEATION_TIME_LIMIT |
Max ideation session time (ms) | 60000 |
RATE_LIMIT_WINDOW_MS |
Rate limiting window | 900000 |
RATE_LIMIT_MAX_REQUESTS |
Max requests per window | 100 |
The system uses multiple Groq models for different agent types:
Creative Models: deepseek-r1-distill-llama-70b, meta-llama/llama-4-scout-17b-16e-instruct
Reasoning Models: openai/gpt-oss-120b, gemma2-9b-it
Logical Models: qwen/qwen3-32b, meta-llama/llama-4-scout-17b-16e-instruct
# Run all tests
npm test
# Run tests in watch mode
npm run test:watch
# Run tests with coverage
npm run test:coverage# Run ESLint
npm run lint
# Fix linting issues
npm run lint:fix# Build frontend assets
npm run build:client
# Start production server
npm start# Build Docker image
docker build -t ideation-agent .
# Run with Docker Compose
docker-compose up -dideation-agent/
โโโ src/
โ โโโ backend/ # Node.js server
โ โ โโโ config/ # Configuration files
โ โ โโโ controllers/ # Request handlers
โ โ โโโ middleware/ # Express middleware
โ โ โโโ routes/ # API route definitions
โ โ โโโ services/ # Business logic services
โ โ โโโ utils/ # Utility functions
โ โโโ frontend/ # React application
โ โโโ components/ # React components
โ โโโ services/ # API client services
โ โโโ styles/ # CSS stylesheets
โโโ data/ # SQLite database files
โโโ logs/ # Application logs
โโโ docs/ # Additional documentation
โโโ tests/ # Test files
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Commit your changes:
git commit -m 'Add amazing feature' - Push to the branch:
git push origin feature/amazing-feature - Open a Pull Request
Please read CONTRIBUTING.md for detailed contribution guidelines.
This project is licensed under the MIT License - see the LICENSE file for details.
- Groq for providing fast AI model inference
- React Team for the excellent frontend framework
- Vite for lightning-fast build tooling
- SQLite for reliable embedded database
- Documentation: Check the docs/ directory
- Issues: Report bugs on GitHub Issues
- Discussions: Join conversations in GitHub Discussions
Built with โค๏ธ for creative collaboration and innovative problem-solving.