AIStorm is a multi-agent brainstorming application that enables interactive conversations between multiple AI agents with different roles and personalities. This Blazor Server application facilitates creative idea generation, problem-solving, and collaborative thinking through AI-powered conversations.
This project was created as a test and an exercise in AI assisted coding. Entire project and documentation (> 99% of it) was written using Cline/Claude 3.7. This includes this README file as well, except this paragraph. It worked well, but needed constant direction and strict supervision.
AIStorm allows you to create brainstorming sessions with multiple AI agents as participants, each with customized roles and personalities. The application uses a markdown-based storage system to preserve conversations in a human-readable format.
- Configure multiple AI agents with different roles and personalities in a single session
- Support for multiple AI service providers (OpenAI, Google Gemini, Anthropic Claude)
- Color-coded agents for visual differentiation in conversation view
- Markdown-based storage for easy reading and sharing of sessions
- Rich markdown rendering for message content
- Create reusable agent templates with customized system prompts
- Clean, intuitive user interface for session management
- .NET 9.0 SDK or later
- API keys for one or more supported AI service providers:
-
Create a folder for the project
-
Inside the newly created folder, clone the repository:
git clone https://github.com/sstublic/AIStorm.git .
-
Build and run the application:
dotnet build cd src/Server dotnet run
-
Open your browser and navigate to the URL shown in the terminal output
The application requires API keys to communicate with AI service providers. You can configure these in one of three ways:
-
Create an
appsettings.local.json
file (recommended for development):Create this file in the
src/Server
directory with the following structure:{ "AI": { "OpenAI": { "ApiKey": "your-openai-api-key" }, "Gemini": { "ApiKey": "your-gemini-api-key" }, "Anthropic": { "ApiKey": "your-anthropic-api-key" } } }
This file is excluded from git (via .gitignore) to avoid committing API keys.
-
User Secrets (Development environment only):
cd src/Server dotnet user-secrets set "AI:OpenAI:ApiKey" "your-openai-api-key" dotnet user-secrets set "AI:Gemini:ApiKey" "your-gemini-api-key" dotnet user-secrets set "AI:Anthropic:ApiKey" "your-anthropic-api-key"
-
Environment Variables - System environment variables can be set according to .NET configuration standards
The application includes a sample data folder (src/Server/SampleDataStorage
) with:
- Predefined agent templates (e.g., Creative Thinker, Critical Analyst)
- Example sessions
This provides users with examples right out of the box, without requiring manual setup.
- Navigate to the Sessions Overview page
- Click "Create New Session"
- Enter a session ID (will be used as the filename)
- Write a premise that defines the session's context and goals
- Select one or more agent templates to participate in the session
- Click "Create Session"
- From the Sessions Overview, click on the session you created
- Either:
- Enter your initial message in the input area at the bottom and submit it, or
- Click the "Next: [Agent Name]" button to have an AI agent start the conversation
- AI agents will respond based on their roles and personalities
- Continue the conversation by either adding your own messages or clicking the "Next" button to prompt the next agent to respond
The session will be automatically saved to the storage location specified in your configuration.
For more detailed information about the project, refer to:
- Project Overview - High-level description of the project's purpose, goals, and features
- System Architecture - Technical details about the implementation, components, and design patterns
(License information to be determined)