Skip to content

HiLleywyn/Hydra

Repository files navigation

HYDRA

Production-grade, multi-profile bot framework with hot-reloadable plugins, themeable dashboard, and cross-profile shared memory.

Python 3.11+ License: MIT


Quick Start

# 1. Clone
git clone https://github.com/HiLleywyn/Hydra.git
cd Hydra

# 2. Install
pip install -e .

# 3. Run
python manage.py start

The dashboard launches at http://localhost:1313 by default.

Features

  • 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

Architecture

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

Docker Quick Start

# 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 up

Configuration

Copy .env.example to .env and fill in your secrets:

cp .env.example .env

Edit config.json to define profiles, adapters, and framework settings. See docs/guides/CONFIGURATION.md for the full reference.

Documentation

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

Project Structure

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

License

MIT License. See LICENSE for details.


Built by hiLleywyn.