Skip to content

Overview

πŸ›οΈ What is Kourai Khryseai?

Kourai Khryseai is an interactive multi-agent development system where ten specialized AI agents collaborate with you on software development. Instead of running autonomously, they stream their work in real-time, show their reasoning, and pause for guidance when decisions matter.

You describe what you need. Agents break it down, show options, execute on your feedback, and iterate. You're not delegating β€” you're directing.

Three interfaces share the same Docker-hosted backend: a fast terminal CLI, a Pygame GUI with portraits and TTS, and a Ren'Py visual novel with affinity tiers and romance routes. See Getting Started for installation and a first request.


🀝 Why ten agents?

Single-agent tools struggle with multi-discipline problems. A development task usually requires planning, coding, testing, review, and documentation. Rather than hoping one model handles all five well, Kourai splits them across ten specialist agents β€” six core developers, two companion spirits, and two quality validators.

Specialists run as independent HTTP servers communicating via the open A2A protocol, so any one of them can be deployed separately, tested in isolation, or replaced with a custom implementation.

Tier Agents Purpose
Core specialists πŸ”₯ Hephaestus, πŸ“ Metis, βš™οΈ Techne, πŸ§ͺ Dokimasia, ✨ Kallos, πŸ“œ Mneme Plan / code / test / style / commit
Companion spirits 🎭 Puck, πŸ’˜ Cupid Tutorial, idle nudges, romance coaching
Quality validators πŸͺž Aidos, πŸ“š Aletheia Anti-slop screening + research validation

Per-agent detail lives in the Agents Overview and Agents Reference.


πŸ”„ How a request actually flows

Hephaestus is a Forge Master, not a switchboard. It maintains a running Forge Transcript of the whole exchange and broadcasts the full transcript to every specialist it calls. Each specialist sees the complete prior reasoning β€” Techne reads Metis's spec, Kallos reads everything Techne wrote, etc. β€” so no agent works blind from a decontextualized stub. Between steps, Hephaestus emits an in-character narration line that streams to the host immediately so the forge feels alive while specialists generate.

Sequence diagram + a real dialogue excerpt
sequenceDiagram
    actor You
    participant UI as CLI / GUI / VN
    participant Hep as πŸ”₯ Hephaestus<br/>(Forge Master)
    participant Spec as Specialists

    You->>UI: "add user authentication"
    UI->>Hep: A2A stream (SSE)
    Hep->>Hep: CONFIRM_ORDER read-back
    Hep-->>UI: "Forge will plan + scaffold + test. Light it?"
    You->>UI: yes
    Hep->>Hep: Select pipeline Β· init transcript

    loop Each specialist in sequence
        Hep->>Hep: Append [Hephaestus] narration
        Hep-->>UI: Forge narration (streamed)
        Hep->>Spec: Full transcript β†’ next agent
        Spec-->>UI: Status + findings (streamed)
        Hep->>Hep: Append [Agent] output to transcript
        UI-->>You: Live updates
    end

    Note over Spec: Kallos finds issues β†’ Techne fixes β†’ Kallos re-checks (max 3Γ—)
    Hep-->>UI: Final summary
    UI-->>You: Done

A trimmed real example:

❯ add authentication to /api/users

πŸ”₯ Hephaestus: "Plan + JWT + tests + commit. Light the forge?"
❯ yes

πŸ”₯ Hephaestus: "Metis! Lay out the path."
πŸ“ Metis:  spec ready (JWT 15m, refresh rotation, rate-limit on refresh)

πŸ”₯ Hephaestus: "Techne! Take what she's built and make it real."
βš™οΈ Techne:  src/auth/tokens.py + src/api/users.py written

πŸ§ͺ Dokimasia: 8 tests, 92% coverage βœ…
✨ Kallos:    style review clean βœ…
πŸ“œ Mneme:    feat(auth): implement JWT authentication ...

Execution stays sequential (Hephaestus awaits each specialist's final artifact before calling the next), but generation is fully transparent β€” specialists stream their inner monologue in real-time via AsyncGenerator over A2A with streaming=True.


🎯 Pipelines

Hephaestus's LLM router selects from a small set of templates:

Request type Pipeline
"implement feature X" πŸ“ β†’ βš™οΈ β†’ πŸ§ͺ β†’ ✨ β†’ πŸ“œ (full stack)
"fix bug in X" βš™οΈ β†’ πŸ§ͺ β†’ ✨ β†’ πŸ“œ (no planning needed)
"add tests for X" πŸ§ͺ β†’ ✨ β†’ πŸ“œ (testing-focused)
"clean up X" ✨ β†’ πŸ“œ (style only)
"commit prep" πŸ“œ (just organize commits)
"plan feature X" πŸ“ (planning only)
"@metis, why use async here?" πŸ“ (1-on-1 question)

πŸ”„ Human-on-the-loop

Two mechanisms keep you in the loop:

  1. CONFIRM_ORDER β€” every dev pipeline runs a pre-flight read-back. Hephaestus emits a tiered confirmation card (clear / smart / clarify) and pauses; the player confirms or redirects before any tokens get spent. /yolo opts out for power users.
  2. AgentInputRequired β€” any specialist can pause mid-pipeline. Metis pauses on architecture trade-offs; Techne pauses on ambiguous patterns; Kallos pauses if a fix loop saturates. The CLI / GUI / VN all surface the question and resume on the player's reply.
πŸ“ Metis: Should CSV export support streaming for large files?
   [A] Yesβ€”use async generator (slower startup, constant memory)
   [B] Noβ€”load and write all at once (faster start, high memory)

❯ A

Nothing decisive happens silently β€” that prevents wasted tokens on speculation and keeps trade-offs in your hands.


πŸ”§ Built with

  • Protocol β€” A2A, open agent-to-agent (pinned >=1.0,<2.0; M7 cutover shipped 2026-04-30)
  • LLM β€” LiteLLM wrapping Anthropic, Google, and Ollama
  • Language β€” Python >=3.12,<3.14
  • Server β€” Starlette + uvicorn via a2a-sdk
  • Observability β€” OpenTelemetry β†’ Jaeger v2 + Prometheus v3 + Dozzle
  • Containers β€” Docker + Docker Compose (one image per agent, single shared Dockerfile)
  • Visual novel β€” Ren'Py 8.5.x via the vn-bridge Docker service (:10010)
  • Tools β€” MCP servers (forge, shell)

πŸ›οΈ The name

In Greek mythology, Hephaestus β€” god of fire and the forge β€” crafted the Κοῦραι ΧρύσΡαι (Golden Maidens): women-shaped automatons of living gold who served as intelligent attendants in his divine workshop. Each could think, speak, and work independently.

Each agent is named after a Greek concept matching its function: Hephaestus (god of the forge), Metis (wisdom and craft), Techne (technical skill), Dokimasia (scrutiny and proof), Kallos (beauty and form), Mneme (memory), Puck (the mischievous daimon), Cupid (eros), Aidos (the mirror of honesty), and Aletheia (truth, the unveiling of what is real).