Klyro

Self-hosted AI agent stacks

Your agent stack,
compiled.

Klyro is a declarative compiler, not a control plane. Write aklyro.yaml, let Klyro validate compatibility and plan the deployment, and generate a reproducible Docker Compose project you own.

$ klyro create
 Project name  personal-agent
 Runtime  Hermes
 Memory  Mnemosyne
 Interfaces  Telegram, Hermes WebUI
 Model provider  OpenRouter
 Credential referenced by name only: OPENROUTER_API_KEY

$ klyro validate ./personal-agent/klyro.yaml
 klyro.dev/v1alpha1 · AgentStack · personal-agent
 Stack resolved: hermes + mnemosyne · telegram + hermes-webui · openrouter

$ klyro generate ./personal-agent/klyro.yaml --out ./personal-agent
 Plan reviewed before writing: 6 artifacts, no conflicts
  compose.yaml
    services:
      hermes:
        image: nousresearch/hermes-agent:v2026.8.18
        ports: ["9119:9119", "8642:8642"]
  .env.example · README.md · config/hermes/…
 Written. The stack runs with plain Docker Compose.

Illustrative session, output trimmed


Why Klyro

01

Declarative klyro.yaml

One portable source document records your intent: runtime, memory, interfaces, model configuration, renderer. validate, plan, and generate all decode the same file.

02

Compatibility you can trust

Capabilities and bindings resolve against a curated catalog. Unsupported combinations fail with stable diagnostics before anything is written.

03

Reproducible output

Deterministic planning and rendering produce byte-stable Docker Compose projects. No daemon, no hosted service: the stack stays yours to run and inspect.

04

Safe regeneration

Managed markers and explicit overwrite policies mean regeneration refreshes owned artifacts and never touches foreign files.


v0.1 curated providers

  • Hermes
  • Mnemosyne
  • OpenRouter
  • Telegram
  • Hermes WebUI

Curated support beats catalog size: every binding ships with documented configuration, persistence, and test expectations. See thesupport matrix.