Skip to content

brianmeyer/ideation-agent

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

24 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Test PR for webhook 12

๐Ÿš€ Ideation Agent

Multi-Agent AI System for Collaborative Ideation and Brainstorming

License: MIT Node.js React Vite

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.

โœจ Features

๐Ÿค– Multi-Agent AI System

  • Creative Agent (๐Ÿ’ก): Generates innovative, out-of-the-box ideas
  • Reasoning Agent (๐Ÿง ): Provides analytical reasoning and structured thinking
  • Logical Agent (โš–๏ธ): Evaluates feasibility and practical implementation

๐Ÿ’ฌ Interactive Chat Interface

  • 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

๐ŸŽฏ Slash Commands

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

๐Ÿ’ก Idea Management

  • Automatic idea extraction from ideation sessions
  • Searchable idea repository with filtering and categorization
  • Tagged ideas for easy organization
  • Export capabilities for ideas and conversations

๐Ÿ”ง Advanced Features

  • 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

๐Ÿš€ Quick Start

Prerequisites

  • Node.js 18+ and npm
  • Groq API key (sign up at Groq Console)

Installation

  1. Clone the repository

    git clone https://github.com/your-username/ideation-agent.git
    cd ideation-agent
  2. Install dependencies

    npm install
  3. Set up environment variables

    cp .env.example .env

    Edit .env and 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
  4. Start the development server

    npm run dev
  5. Open your browser Navigate to http://localhost:3000

๐Ÿ—๏ธ Architecture

Backend Services

  • 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

Frontend Components

  • 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

Database Schema

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

๐ŸŽฎ Usage Examples

Basic Ideation Session

/ideate Create a sustainable transportation solution for urban areas

Focused Brainstorming

/brainstorm Mobile app features for productivity

Analytical Deep Dive

/analyze The challenges of remote work adoption in traditional companies

Idea Synthesis

/synthesize Compare the pros and cons of electric vs hydrogen vehicles

๐Ÿ“ก API Reference

Conversations

  • GET /api/conversations - List all conversations
  • POST /api/conversations - Create new conversation
  • GET /api/conversations/:id - Get specific conversation
  • PUT /api/conversations/:id - Update conversation
  • DELETE /api/conversations/:id - Delete conversation
  • GET /api/conversations/:id/messages - Get conversation messages

Chat

  • POST /api/chat/message - Send message and get AI response
  • GET /api/chat/history - Get chat history for conversation
  • DELETE /api/chat/history - Clear conversation history
  • POST /api/chat/conversation - Create new conversation

Ideas

  • GET /api/ideas - List all extracted ideas
  • GET /api/ideas/conversation/:id - Get ideas from specific conversation

System

  • GET /api/health - Health check endpoint
  • GET /api/stats - System statistics

๐Ÿ”ง Configuration

Environment Variables

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

AI Model Configuration

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

๐Ÿงช Development

Running Tests

# Run all tests
npm test

# Run tests in watch mode
npm run test:watch

# Run tests with coverage
npm run test:coverage

Linting

# Run ESLint
npm run lint

# Fix linting issues
npm run lint:fix

Building for Production

# Build frontend assets
npm run build:client

# Start production server
npm start

Docker Support

# Build Docker image
docker build -t ideation-agent .

# Run with Docker Compose
docker-compose up -d

๐Ÿ“ Project Structure

ideation-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

๐Ÿค Contributing

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Commit your changes: git commit -m 'Add amazing feature'
  4. Push to the branch: git push origin feature/amazing-feature
  5. Open a Pull Request

Please read CONTRIBUTING.md for detailed contribution guidelines.

๐Ÿ“„ License

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

๐Ÿ™ Acknowledgments

  • 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

๐Ÿ“ž Support


Built with โค๏ธ for creative collaboration and innovative problem-solving.

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages