Open source · Apache 2.0 · Self-hosted

One chat. Multiple AI agents working in parallel.

HydraOps is a multi-agent system that runs on your machine. Agents with their own personality write code, answer questions and generate images and video — with API or local models, always behind a credential firewall.

In real daily use. Windows desktop installer and headless server mode included; container image on the way.

Works with your API key from
OpenAIAnthropicGeminiGroqxAIMistralOpenRouterLeonardo
and with local models, no key needed, via
llama.cppLM StudiovLLMOllama

What you get

No mandatory external services: your agents, your keys and your data stay with you.

Agents with personality

Each agent is six Markdown files, editable from the interface itself: soul, skills, tools, memory, heartbeat and profile.

Four worker types

Code, general, image and video — each with its own engine and resolution, configurable per agent.

Extensible tools

Native add-ons, your own in my_addons/ with hot loading, and MCP servers over HTTP.

Credential firewall

API keys are never in the repository, the database or the .env: a local proxy injects them at the network boundary. Workers only ever see the "proxy" placeholder.

Tool guard

Every tool goes through a filter that blocks credential paths, catastrophic commands and requests to internal networks, and redacts secrets from results.

Full-featured chat

Attachments, inline images and video, scheduled tasks (cron), statistics and an interface in five languages: es, en, it, fr and pt-BR.

Architecture

A pnpm monorepo in TypeScript ESM. No service publishes directly to NATS: everything is written to a SQLite outbox first and a single process drains it, so a network failure never loses events.

  1. UI · Angularthe chat and every view
  2. API · ExpressREST and file server
  3. SQLite outboxevery event is persisted before it travels
  4. outbox-workera single process drains the outbox to NATS
  5. NATS JetStreamthe message bus
  6. Orchestratorassigns each task to the right agent
  7. Workerscoder · general · graphic · video — they execute and return the result to the chat

Security built in

Four things already taken care of, so you don’t have to think about them.

01

Keys never cross the firewall

They live outside the project and the key-proxy injects them at the network boundary: neither the workers, nor the database, nor the .env ever see a real key.

02

A guard on every tool

It blocks credential paths and destructive commands, redacts secrets from results, and keeps fetch_url away from internal addresses.

03

The API listens only on 127.0.0.1

Out of the box it is not reachable from another machine. Nothing gets exposed by accident.

04

Opening it to the network requires a token

With HYDRA_HOST=0.0.0.0 the API demands a HYDRA_AUTH_TOKEN: the browser asks for it once, and with no token defined the API simply refuses to open up.

To report a vulnerability: security@hydraops.org

Install

Three ways to get it running, from fastest to most flexible.

Windows installer

Download the .exe from Releases. It needs no Node and no pnpm: the services run on the Node bundled with Electron. Your data and keys stay outside the installation directory and the app updates itself.

Download .exe

From source

Requirements: Node 20+, pnpm 9 and the nats-server binary on your PATH.

git clone https://github.com/TraX22/HydraOps.git
cd HydraOps
pnpm install
cp .env.example .env
pnpm build
pnpm --filter ui build
pnpm desktop

24/7 server mode

For a screenless mini PC: a single command brings up NATS and all eight services, applies migrations, health-checks each phase and restarts anything that crashes. A systemd unit ships in deploy/.

pnpm serve