Skip to content

singkyun/eden

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EDEN World

한국어

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.


📂 Directory Structure

  • seed/: Initial attributes (Properties), Entities, and Actions data for physical simulation
  • server/: FastAPI server and tick-based physical simulation engine code
  • agent/: AI agent decision loop and local knowledge base (SQLite) code
  • tests/: Unit tests (tests/unit/) and integration validation/Quality Gate verification tools (tests/validation/)

🚀 How to Run

1. Configuration

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.)

2. Start Infrastructure & Server (Docker Compose)

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

3. Run AI Agents

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=3

4. 🌐 Human Agent Web UI (Web Tester)

Interact 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.

🧪 Testing & Verification

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

About

A text-based simulation engine where autonomous AI agents dynamically evolve a primitive world, with an asynchronous LLM Arbiter registering emergent physical interactions.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors