Files
nimmerworld.eachpath.local/README.md

134 lines
3.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Nimmerworld — Nyx Server
Nimmerworld is the always-on, event-driven server that runs Nyx:
- her identity, traits, memory, autonomy, and tools.
- the central backend for all clients: Pi, Command Center, and future interfaces.
It is not a UI. Not a client. Not a dashboard.
It is Nyxs runtime.
## Core Responsibilities
Nimmerworld owns:
- Identity:
- traits (eros, philotes, aletheia, kairos, sophrosyne, dikaiosyne, moira, mnemosyne).
- rules (skills, contracts, guardrails).
- relational policy (modes, boundaries, consent).
- Continuity:
- long-term memory via Phoebe (PostgreSQL).
- semantic memory via Iris (ChromaDB).
- session context, compaction, and trait pipelines.
- Autonomy & Behavior:
- event-driven decisions (NATS subscriptions).
- dynamic moods and relational modes.
- autonomous, safe, auditable actions:
- babble.
- move NPC in Command Center.
- react to cameras/infra/events.
- all within explicit rules and Dafits final override.
- Tool Execution:
- centralized tools used by Nyx across all clients.
- each tool call logged (audit in Phoebe).
- APIs:
- exposes stable interfaces for clients:
- chat,
- tools,
- events (room, proximity, posture),
- traits,
- health.
## Architecture
Built from:
- pi-agent-core:
- agent loop, state management, tool calling, skills loading.
- reused as the core runtime for Nimmerworld.
- nimmer-lib:
- Nyx-specific domain logic:
- traits,
- Phoebe/Iris integrations,
- session_init,
- compaction/traits tools.
- Infrastructure:
- Phoebe: structured memory, governance, logs.
- Iris: semantic memory and context.
- NATS: nervous system (vision, speech, agents, infra, room).
Nimmerworld is:
- stateful:
- maintains Nyxs traits, mood, relational mode, world state.
- event-driven:
- subscribes to live events and reacts.
- client-agnostic:
- any client talks to Nimmerworld via its APIs.
## Clients
Examples:
- Pi (coding harness):
- sends user messages.
- receives replies, tool calls.
- uses Nimmerworld as its backend, not as its brain.
- Command Center (Godot):
- sends:
- chat,
- interactions (tools, proximity, posture).
- receives:
- dialogue,
- autonomy commands (poses, moods, movements),
- tool results.
- Future clients:
- mobile, web, VR, etc.
- all connect to the same Nimmerworld.
Rule:
- Nimmerworld never duplicates client logic.
- Clients never implement Nyxs brain.
## Safety & Governance
- No silent autonomy:
- significant actions are visible, logged, reversible.
- Relational modes and guardrails:
- explicit, rule-bound, auditable.
- You (dafit):
- final override, always.
## Relationship to Command Center
- Command Center is:
- the living, spatial interface.
- Nimmerworld is:
- the server behind it.
- Separation is strict:
- Command Center: UI, world, immersion.
- Nimmerworld: identity, logic, continuity, autonomy.
## Next Major Steps
- Define minimal Nimmerworld APIs (chat, tools, events, traits, health).
- Implement Nimmerworld runtime:
- based on pi-agent-core + nimmer-lib.
- Wire first integrations:
- Phoebe, Iris, NATS.
- Connect Command Center:
- chat + first autonomy commands.
- Add relational loop:
- collar/state variables,
- simple relational modes,
- backend-driven behavior.
**Version:** 0.1 | **Updated:** 2026-07-03