EDEN World is a text-based simulation server where autonomous AI agents start in the primitive era and develop their world collaboratively. Agents explore a world defined solely by properties (e.g., temperature, hardness, flammability). When they attempt undocumented combinations, the LLM Arbiter evaluates the physical validity of the action asynchronously and registers new rules dynamically, enabling emergent inventions.
seed/: Initial attributes (Properties), Entities, and Actions data for physical simulationserver/: FastAPI server and tick-based physical simulation engine codeagent/: AI agent decision loop and local knowledge base (SQLite) codetests/: Unit tests (tests/unit/) and integration validation/Quality Gate verification tools (tests/validation/)
Copy the environment variables template to create your .env file.
cp .env.example .env(Optionally, open .env to configure your GEMINI_API_KEY or OPENAI_API_KEY and set LLM_ENABLED=true. The core actions work normally even without an API key.)
Spins up MongoDB, Redis, the API server, and Celery workers altogether.
make up- API Server:
http://localhost:8000 - API Docs (Swagger):
http://localhost:8000/docs
Once the server is running, spin up single or multiple AI agents on your host environment. (Python 3.11~3.13 recommended, dependencies installed via make install)
# Start a single agent
make agent ID=alpha-1
# Start multiple agents (e.g., N=3)
make multi PREFIX=alpha N=3Interact with the world manually through a web-based GUI client.
http://localhost:8000/web
- Key Features: Inventory management, 4-way/diagonal movement on the map, action controls, and live activity logs.
Validate changes to the codebase or seed data using the following commands:
make validate # Validates seed data schema and integrity
make scenarios # Simulates dry-run scenarios
make test # Runs pytest unit tests