Open-Hivemind is a multi-agent orchestration framework that transcends the traditional "one bot, one platform" model. Instead of deploying a single chatbot, you deploy a coordinated network of unique personas across Discord, Slack, and Mattermost simultaneously.
Think of it less as a bot and more as a digital ecosystem. You can have as many bots as you want—each with its own distinct personality, memory, and directives—living alongside your human users in the same channels.
Unlike standard chatbots that simply wait for a command and reply, Open-Hivemind agents are designed for immersive, human-like interaction. They possess a degree of autonomy and social awareness that makes them feel like active participants in a community rather than just tools.
Bots don't always respond. Just like a human, they "listen" to the conversation and decide whether to chime in based on probability, relevance, and their specific personality traits. They aren't just request-response machines; they have agency.
- Engagement: While they may stay quiet in the background, directly addressing a bot or asking a question significantly increases the chance of a response.
- Momentum: Once a bot is "engaged" in a conversation, it tends to stay engaged, maintaining the flow of dialogue without needing to be constantly re-prompted.
- Context Awareness: They remember what was said previously, allowing for coherent, multi-turn discussions.
In a channel with dozens of active bots, chaos could easily ensue. Open-Hivemind implements "social anxiety" logic:
- Avoid Overcrowding: If a conversation is already populated by too many other bots or is moving too fast, a bot will be less likely to join in, preventing a "pile-on" effect.
- Politeness: Bots respect the flow of conversation and try not to interrupt or talk over one another excessively.
- Multi-Agent Orchestration: Deploy coordinated bots across Discord, Slack, and Mattermost from a single dashboard.
- Consistent Voice: Maintain consistent identities across different platforms.
- Shared Context: Bots share a collective memory, allowing for sophisticated interactions.
- WebUI Management: Easily configure LLMs, personas, and bots via a user-friendly interface—no code required.
- Safety & Compliance: Built-in guards, rate limiting, and duplicate response suppression ensure stability.
- Extensible: Supports MCP servers and custom tool integrations for advanced capabilities.
Choose the method that best suits your environment.
Recommended for users who want a one-click local setup.
- Install Pinokio.
- Open Pinokio and click Discover.
- Enter the URL for this repository:
https://github.com/matthewhand/open-hivemind. - Click Download and then Install.
- Once installed, click Start.
- Click Open WebUI to launch the dashboard in your browser.
Ideal for production or isolated environments.
# Pull the latest image
docker pull matthewhand/open-hivemind:latest
# Run the container (ensure you have a .env file configured)
docker run --rm \
--env-file .env \
-p 3028:3028 \
matthewhand/open-hivemind:latestAccess the WebUI at http://localhost:3028.
For developers who want to modify the code or run locally without Docker.
-
Clone the repository:
git clone https://github.com/matthewhand/open-hivemind.git cd open-hivemind -
Ensure Node.js 22 is installed: This project requires Node.js 22. We recommend using nvm to manage versions:
nvm install 22 nvm use 22
-
Install dependencies: This project uses pnpm for package management.
pnpm install
-
Start the development server:
pnpm run dev
Access the WebUI at http://localhost:3028.
Once the application is running, open your browser to http://localhost:3028.
- Configure LLM Provider: Navigate to Configuration > LLM Providers to set up your API keys (e.g., OpenAI, Anthropic).
- Configure Message Platform: Go to Configuration > Message Platforms to add your bot tokens for Discord, Slack, or Mattermost.
- Create a Bot: Head to Configuration > Bots and click Create Bot. Give it a name, assign a persona (optional), and link it to your configured providers.
For a detailed walkthrough of every menu item and feature, please refer to the User Guide.
- User Guide: Detailed explanation of all WebUI features.
- Developer Guide: Deep dives into platform specifics and local development.
- Quick Start / Installation Guide: Advanced deployment options and configurations.
Released under the MIT License.
Security is paramount in Open-Hivemind. While you can manage a significant portion of configuration via the WebUI, core security, cryptographic secrets, and system behavior are defined via environment variables (usually stored in your .env file).
If you deploy this publicly, these variables must be set.
NODE_ENV: Determines operational mode. Always set toproductionin deployed environments to enforce strict validation and secure defaults.ADMIN_PASSWORD: Provides a robust fallback admin password for initial login.SESSION_SECRET: Cryptographic key used to encrypt stateful user sessions.JWT_SECRET&JWT_REFRESH_SECRET: Keys used to sign and verify API access tokens.
Open-Hivemind leverages a myriad of environment variables for system configuration. Here are the core categories:
- System Controls:
PORT,BASE_URL,LOG_LEVEL,REDIS_URL,DEMO_MODE - Security & Network Limits:
ADMIN_IP_WHITELIST,ALLOW_LOCALHOST_ADMIN,ALLOW_LOCAL_NETWORK_ACCESS,CORS_ORIGIN,TRUST_PROXY,RATE_LIMIT_API_MAX - Bot Registries (Multi-bot setup): Prefix dynamically instantiated bots via
BOTS_<NAME>_DISCORD_BOT_TOKENetc. - Platform Configuration: Platform-specific schemas (
discordSchema.ts,slackSchema.ts, etc.) validate your bot tokens (DISCORD_BOT_TOKEN,SLACK_BOT_TOKEN) and options. - Message Configuration: Core behavior (e.g.
MESSAGE_ACTIVITY_TIME_WINDOW,MESSAGE_MENTION_BONUS) is validated inmessageSchema.ts. - Global Fallbacks: Unprefixed keys act as system-wide defaults (e.g.,
LLM_PROVIDER,MESSAGE_PROVIDER).
For a comprehensive, documented list of every supported variable, consult the .env.sample file included in the root of the repository.
