How sortedcord/omnia works
Omnia is a framework and GUI for multi-agent narrative simulations. A user configures providers, selects or creates a scenario, and runs or interacts with a simulation; the runtime coordinates character turns, validates proposed actions against structured world state, applies state changes, and retains session and character memory. The README also describes autonomous play, player control of any entity, per-character knowledge, deterministic time, and model selection per task. Some subsystem links reflect documented capabilities; unsampled implementation details are not inferred.
Main entry points: turn-executor.ts Turn execution · runtime-service.ts Session orchestration · components GUI views · actions.ts Server actions
Components 20
GUI Experience
- GUI views
apps/gui/src/components - Server actions
apps/gui/src/app/actions.ts - Simulation client
apps/gui/src/lib/simulation/index.ts - Provider settings
apps/gui/src/components/config
Simulation Runtime
- Session orchestration
packages/runtime/src/runtime-service.ts - Turn execution
packages/runtime/src/turn-executor.ts - Session persistence
packages/runtime/src/persistence/sqlite-session-store.ts - Simulation database
packages/runtime/src/persistence/types.ts
World and Agency
- World state
packages/core/src/world.ts - Entities and attributes
packages/core/src/entity.ts - World repository
packages/core/src/repository.ts - Character behavior
packages/actor/src/actor.ts - Intent decoding
packages/intent/src/intent-decoder.ts - Action validation
packages/architect/src/architect.ts
Models and Memory
- Character memory
packages/memory/src - Model routing
packages/llm/src - LLM providers
packages/llm/src/providers
Scenario and API
- Scenario loading
packages/scenario/src - API schemas
packages/api-contracts/src/v1
Other components
- Player / operator
Connections 21
- Player / operator → GUI views: operates
- GUI views → Server actions: submits actions
- Server actions → Simulation client: requests simulation
- GUI views → Provider settings: configures models
- Server actions → Session orchestration: controls sessions
- Session orchestration → Scenario loading: loads scenario
- Session orchestration → Turn execution: advances turns
- Turn execution → Character behavior: generates behavior
- Turn execution → Intent decoding: decodes proposals
- Turn execution → Action validation: validates intent
- Action validation → World state: checks world state
- Action validation → Model routing: requests judgment
- Turn execution → World repository: reads and applies state
- World repository → Simulation database: stores world
- Session orchestration → Session persistence: saves session
- Session persistence → Simulation database: reads and writes session
- Turn execution → Character memory: uses character memory
- Session orchestration → Model routing: routes task models
- Model routing → LLM providers: dispatches generation
- Provider settings → Session orchestration: sets provider mappings
- Simulation client → API schemas: validates API data