Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Olympus

An agentic operating system. You give one instruction to a CEO agent; it divides the work among a pantheon of specialist agents, each running a real Claude Code session in a real terminal, and you watch them do it from a pixel-art view of their chambers.

No API keys. Every agent is a claude process using your own Claude subscription auth.

npm install
npm run dev

Installing it as a desktop app

npm run dist

Builds release/Olympus-Setup-<version>.exe. Running it installs Olympus per-user to %LOCALAPPDATA%\Programs\Olympus and puts shortcuts on your Desktop and Start Menu. Uninstall from Windows Settings, or via Uninstall Olympus.exe in the install folder.

script what it does
npm run dev Vite + Electron with hot reload
npm run icon re-renders build/logo.svg into icon.ico and the PNG set
npm run pack unpacked build in release/win-unpacked (no installer)
npm run dist the installer

The icon is drawn from a single SVG — edit build/logo.svg and re-run npm run icon.


How it works

Each agent is one claude process in a pseudo-terminal (node-pty). You can watch it, type into it, and interrupt it — it is the genuine Claude Code TUI, not a rendered log.

Two things make them a team rather than four separate terminals:

1. Orders travel as files. The CEO's charter teaches it to delegate by using its ordinary Write tool to create .olympus/mailbox/orders/<name>.json:

{ "to": "hephaestus", "task": "…complete, self-contained instructions…" }

Olympus watches that directory and types the order into the target agent's terminal. Nothing is parsed out of terminal output, so nothing breaks when the TUI redraws.

2. Reports travel as lifecycle hooks. Every agent runs with a generated settings file that registers Claude Code hooks (SessionStart, UserPromptSubmit, PostToolUse, Stop, Notification, SessionEnd) pointing at a small relay script. The relay POSTs to a loopback daemon inside Olympus. The Stop payload carries last_assistant_message — the agent's closing words — which is delivered to the CEO verbatim as [REPORT FROM <name>].

The same hooks drive the room: UserPromptSubmit sits an agent at a desk, PostToolUse shows which tool they're using, Stop sends them wandering again.

When the CEO judges the goal met it writes .olympus/mailbox/done/<name>.json, which closes the loop in the Chronicle.

you ──decree──▶ CEO ──orders/*.json──▶ worker ──Stop hook──▶ CEO ──done/*.json──▶ you

The interface

The Pantheon Your roster. Click to focus an agent, double-click to edit them.
The Chambers The room view, over the selected agent's live terminal.
All Terminals Every agent's terminal at once, so you can watch the whole team work.
The Sanctum The CEO's room. Planners share it; workers don't.
The Agora The workers' hall, eight desks.
The Symposium Ask several agents the same question and read the answers side by side.
The Chronicle Every goal, order, report and completion. Click an entry to expand it.

In the room: agents sit at a desk while working, wander when idle, stand with a blinking ! when they need you, and appear as marble statues when no session is running. Click any figure to jump to their terminal.

The three roles

CEO — takes your goals and hands out the work. The CEO never builds anything itself, and that isn't left to good intentions: it runs with Bash, Edit and NotebookEdit disabled, so it can't write the code even if it wanted to. The only file it can create is an order.

Worker — does the actual building. Gets tasks from the CEO, reports back when done.

Planner — an advisor that talks only to you. It sits outside the loop entirely: the CEO can't give it work, nothing it says is forwarded to anyone, and it runs with every workspace-modifying tool disabled. Use it to think out loud before committing to a plan.

Ships with Zeus (CEO), Hephaestus, Athena and Hermes (workers), and Oracle (planner). Add as many more as you like — each gets a name, a title, a job description written into its system prompt, a model, a permission mode, and a colour. Promote anyone to CEO; there's only one, so the current one becomes a worker.

Each agent keeps its own session and is resumed on restart, so they remember their history. Changing an agent's model starts them fresh.

Things worth knowing

  • First run asks you to vouch for the workspace. Claude Code will not touch an unfamiliar directory until you confirm. Olympus asks once, in its own dialog, instead of leaving the prompt buried in four terminals. Agents can read, edit and execute files there — point it at a project you own, or an empty folder.
  • Permission modes are per-agent. Workers default to auto, where Claude Code decides what needs asking. acceptEdits sounds safer but stalls any unattended task that has to run something — it lets edits through and then stops to ask before executing. bypassPermissions approves everything including shell commands; only use it somewhere you can afford to lose.
  • Parallelism costs quota. The parallel selector caps how many workers run at once. Concurrent Opus and Sonnet sessions consume subscription usage quickly; 2 is a sane default.
  • .olympus/ lives inside your workspace and holds the mailbox, per-agent charters and settings, and the hook relay. It self-ignores from git.

Layout

electron/
  main.js              window, IPC
  preload.js           contextBridge API
  core/
    agent.js           one agent: PTY + claude process + state machine
    pantheon.js        roster, mailbox watcher, order dispatch, report routing
    hookServer.js      loopback daemon + generated hook relay script
    charters.js        the CEO and worker system prompts
    transcript.js      session transcript tailer (live speech)
    store.js           persisted realm
    paths.js           workspace scaffold, claude binary resolution
src/
  room/
    sprites.js         every pixel drawn procedurally — no image assets
    engine.js          room layout, desk claims, walk/sit simulation
  components/          rail, room, terminals, chronicle, symposium, modals
  styles/theme.css

Requires Node 20+ and the claude CLI on your PATH, already signed in.

About

An agentic operating system designed by me

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages