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 ask for guidance when decisions matter.
You describe what you need. Agents break it down, show options, execute your feedback, and iterate on your input. You're not delegating β you're directing.
Choose your experience: a fast terminal CLI, a rich desktop Pygame GUI with TTS and visual effects, or a Ren'Py visual novel with romance, affinity systems, and character progression.
π€ Why Collaboration, Not Automation?¶
Single-agent tools struggle with multi-discipline problems. A real development task 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.
Better yet: You're in the loop. When Metis says "should we use JWT or sessions?", you answer. When Techne hits an ambiguous pattern, they ask. When Kallos finds lint issues, Techne fixes them automatically, then asks if you're satisfied. Nothing surprises you.
π₯ The Agents¶
Core Specialists¶
| Agent | Role | You'll hear from them when... |
|---|---|---|
| π₯ Hephaestus | Orchestrator | Routing requests, managing pipelines, asking clarifying questions |
| π Metis | Planner | Breaking goals into specs, identifying edge cases, asking architecture decisions |
| βοΈ Techne | Coder | Writing code, explaining patterns, asking about ambiguous requirements |
| π§ͺ Dokimasia | Tester | Creating test suites, reporting coverage, flagging untested branches |
| β¨ Kallos | Stylist | Finding style violations, improving docstrings, asking Techne to fix issues |
| π Mneme | Scribe | Organizing git diffs into conventional commits, formatting messages |
Companion Spirits¶
| Agent | Role | You'll see them when... |
|---|---|---|
| π Puck | Companion | Tutorial guidance, idle nudges, minigame facilitation (always present) |
| π Cupid | Romance | Relationship coaching, confession scenes, emotional moments (appears at 0.6+ affinity) |
Quality Validators¶
| Agent | Role | They activate when... |
|---|---|---|
| πͺ Aidos | Anti-Slop | Detecting vague, corporate, or passive language in agent output |
| π Aletheia | Research | Validating citations, checking claims, ensuring accuracy |
Each agent is an independent HTTP server communicating via the open A2A (Agent-to-Agent) protocol. They can be deployed separately, tested independently, or swapped for custom implementations.
π How a Request Actually Flows¶
When you ask for something:
sequenceDiagram
actor You
participant UI as CLI / GUI / VN
participant Hephaestus as π₯ Hephaestus
participant Specialists as πβοΈπ§ͺβ¨π<br/>Specialists
You->>UI: "add user authentication"
UI->>Hephaestus: A2A stream (SSE)
Hephaestus->>Hephaestus: LLM selects pipeline
Hephaestus->>Specialists: Route to Metis (planning)
Note over Specialists: π Metis analyzes...
Specialists-->>UI: "JWT or sessions?"
UI-->>You: Prompt for decision
You->>UI: "JWT with refresh tokens"
loop Each specialist in sequence
Note over Specialists,Hephaestus: Agent streams work<br/>Real-time feedback
Specialists-->>UI: Status + findings
UI-->>You: Live updates
end
Note over Specialists: If Kallos finds issues β Techne fixes β Kallos re-checks (max 3Γ)
Hephaestus-->>UI: Final artifacts + summary
UI-->>You: Done
Real conversation example:
β― add authentication to /api/users
π₯ Hephaestus: Analyzing request...
β Route: Metis β Techne β Dokimasia β Kallos β Mneme
π Metis: Spec in progress...
β’ Found existing session middleware
β’ Should we extend it or use JWT?
β― JWT with refresh tokens
π Metis: Got it. Specification:
- JWT tokens (15min expiry)
- Refresh token rotation
- Rate limiting on token refresh
β
Ready for Techne
βοΈ Techne: Implementing...
β’ src/auth/tokens.py β JWT utilities
β’ src/api/users.py β Auth middleware
β
Complete
π§ͺ Dokimasia: Testing... 8 tests, 92% coverage β
β¨ Kallos: Code review... all clear β
πͺ Aidos: Language check... no slop detected β
π Mneme: Commits ready:
feat(auth): implement JWT authentication
- Added JWT token generation and validation
- Added refresh token rotation
Files: src/auth/tokens.py, src/api/users.py, tests/...
π― Pipelines¶
Hephaestus automatically routes to the right pipeline:
| 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 (HOTL) Design¶
Instead of silent automation, agents proactively engage when decisions matter:
Ambiguous requirements?
π 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
Conflicting linting issues?
β¨ Kallos: Found 3 issues...
βοΈ Techne: Fixing all 3... β
β¨ Kallos: Re-checking... All clear!
Nothing gets decided without you. This prevents wasted tokens on speculation and keeps you in control of trade-offs.
π» Three Ways to Play¶
CLI (Terminal)¶
Fast, scriptable, works anywhere (including SSH). Real-time agent output with emoji progress.
$ kourai "add pagination to /api/items"
π₯ Hephaestus: Routing...
π Metis: Spec drafted...
βοΈ Techne: Writing changes...
π§ͺ Dokimasia: Testing...
β¨ Kallos: Reviewing...
π Mneme: Commits ready
Pygame GUI (Desktop)¶
Rich visual experience with agent portraits, dialogue bubbles, and personality-matched voices. Each agent has a distinct neural voice and visual appearance.
- π¨ Full-color agent portraits with glow effects and crossfade transitions
- π¬ Real-time dialogue bubbles with streaming responses
- π Neural text-to-speech (Kokoro-82M local + Edge-TTS fallback) with real-time streaming
- π Golden particle system and typewriter effects
- βοΈ Settings for voice customization and accessibility (WCAG 2.2 AA)
Ren'Py Visual Novel¶
A visual novel where the Golden Maidens aren't just tools β they're characters with personality, affinity, and romance routes.
- π Warm forge-fire colors and rich portrait aesthetic
- π Affinity system β agents warm up as you work together (4 tiers: Professional β Intimate)
- π Romance routes β confession scenes, jealousy moments, vulnerability
- π Companion spirits β Puck guides, Cupid coaches romance
- π Gossip system β idle agents share personality-driven flavor text
- πΎ Full save/load with portrait thumbnails and conversation context
All three hosts connect to the same Docker-hosted agent backend. Your choice of experience doesn't change what the agents can do.
π§ Built With¶
-
Protocol
A2A 0.4 β open agent-to-agent communication
-
LLM
LiteLLM β Claude, Gemini, Ollama, local models
-
Language
Python 3.12+ with modern type hints and Google docstrings
-
Server
Starlette + uvicorn via
a2a-sdk -
Observability
OpenTelemetry β Jaeger + Prometheus
-
Containers
Docker + Docker Compose
-
Visual Novel
Ren'Py 8.5 β HTTP bridge via
vn-bridgeDocker service (:10010) -
Tools
MCP servers (filesystem, git, 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 β The master craftsman, god of the forge
- Metis β Goddess of wisdom and craft (mother of Athena)
- Techne β Art, craft, and technical skill
- Dokimasia β Scrutiny, examination, proof of competence
- Kallos β Beauty, elegance, aesthetic form
- Mneme β Memory (one of the original three Muses)
- Puck β The mischievous daimon, pragmatic guide
- Cupid β Eros, the force of love and connection
- Aidos β Shame, modesty, the mirror of honesty
- Aletheia β Truth, the unveiling of what is real