Production-grade, multi-profile bot framework with hot-reloadable plugins, themeable dashboard, and cross-profile shared memory.
# 1. Clone
git clone https://github.com/HiLleywyn/Hydra.git
cd Hydra
# 2. Install
pip install -e .
# 3. Run
python manage.py startThe dashboard launches at http://localhost:1313 by default.
- Multi-profile architecture -- run multiple independent bot identities from a single instance
- Pluggable adapters -- Discord, OpenAI, MCP, and Mock adapters out of the box
- Hot-reloadable plugins -- add, remove, and update plugins without restarting
- Context Bus -- cross-profile shared memory with namespace isolation and pub/sub events
- Themeable dashboard -- web UI with live event stream and per-profile theme assignment
- Plugin sandboxing -- plugins receive a restricted runtime view, not raw internals
- Profile groups -- organize profiles into groups with shared context namespaces
- Worker system -- background tasks with health monitoring
- Database persistence -- SQLite by default, PostgreSQL optional
- Docker-ready -- Dockerfile and docker-compose included
+------------------+
| Web Dashboard |
| (FastAPI/Jinja) |
+--------+---------+
|
+--------+---------+
| HydraRuntime |
| (Orchestrator) |
+--------+---------+
|
+---------------------+---------------------+
| | |
+--------+--------+ +--------+--------+ +---------+---------+
| Context Bus | | Registry | | Plugin Manager |
| (Shared Memory) | | (Components) | | (Lifecycle/Sandbox)|
+--------+---------+ +--------+-------+ +---------+---------+
| | |
+--------+---------+ | +---------+---------+
| Backends: | +------+------+ | Theme Manager |
| Memory/Redis/PG | | Profiles | | (Load/Merge/Assign)|
+------------------+ | Groups | +-------------------+
| Workers |
+------+------+
|
+------------+------------+
| | |
+-----+----+ +----+-----+ +----+-----+
| Discord | | OpenAI | | Mock |
| Adapter | | Adapter | | Adapter |
+----------+ +----------+ +----------+
# Basic (SQLite, in-memory context bus)
docker compose -f tools/install/docker/docker-compose.yml up
# With PostgreSQL
docker compose -f tools/install/docker/docker-compose.yml --profile postgres up
# With Redis context bus
docker compose -f tools/install/docker/docker-compose.yml --profile redis upCopy .env.example to .env and fill in your secrets:
cp .env.example .envEdit config.json to define profiles, adapters, and framework settings. See docs/guides/CONFIGURATION.md for the full reference.
| Guide | Description |
|---|---|
| Installation | System requirements and install methods |
| Setup | First-time configuration and profile creation |
| Running | Starting, stopping, and deploying Hydra |
| Configuration | Full config.json and .env reference |
| Maintenance | Hot-reload, backups, monitoring, updates |
| Plugins | Writing plugins and extensions |
| Themes | Theme schema, built-in themes, customization |
| Architecture | System design and invariants |
Hydra/
├── manage.py # CLI manager (start, stop, reload, status, etc.)
├── config.json # Default configuration
├── .env.example # Environment variable template
├── pyproject.toml # Build and dependency config
├── src/
│ ├── backend/hydra/ # Python package
│ │ ├── core/ # Runtime, Context Bus, Registry, adapters
│ │ ├── plugins/ # Plugin directory (auto-discovered)
│ │ ├── extensions/ # Extension directory (auto-discovered)
│ │ ├── profiles/ # Profile and Group models
│ │ ├── workers/ # Background worker tasks
│ │ ├── database/ # SQLAlchemy models and migrations
│ │ └── web_dashboard/ # FastAPI app, API routes
│ └── frontend/ # Dashboard templates and static assets
├── themes/ # Theme JSON files
├── tools/install/ # Docker and platform install scripts
└── docs/guides/ # Documentation
MIT License. See LICENSE for details.
Built by hiLleywyn.