Autonomous social simulation inspired by Generative Agents (Park et al., 2023). Built with React 19 + Phaser 3 (frontend) and FastAPI (backend).
Work in progress. Core architecture is set, cognitive loop is under active implementation.
- NPCs plan their day, remember experiences, and react to unexpected events.
- Memories are retrieved by recency/importance/relevance scoring.
- Reflection generates higher-level insights from recent experiences.
- Multiple agents interact, exchange information, and form social dynamics.
- Frontend: React 19, Phaser 3, Zustand, Vite
- Backend: FastAPI, Pydantic, uvicorn, uv
- AI/Memory: local LLM (MLX on Apple Silicon), PostgreSQL + pgvector, sentence-transformers
- Monorepo: pnpm workspace
packages/
shared/ # shared types/constants
frontend/ # React + Phaser client
backend/ # FastAPI + agent brain
- Node.js 20+
- pnpm 9+
- Python 3.11+
- uv
pnpm install
uv sync --project packages/backend# terminal 1
pnpm dev:backend
# terminal 2
pnpm dev:frontendBackend runtime supports both local Ollama and Google AI Studio. Set env vars before running backend:
# default (local ollama)
export LLM_PROVIDER=ollama
export LLM_BASE_URL=http://localhost:11434
export LLM_MODEL=qwen2.5:7b-instruct
export EMBEDDING_MODEL=bge-m3
# or Google AI Studio
export LLM_PROVIDER=google_ai_studio
export GOOGLE_AI_STUDIO_API_KEY=your_api_key
export LLM_MODEL=gemini-1.5-flash
export EMBEDDING_MODEL=gemini-embedding-001docker compose up -dQuick check:
docker compose exec postgres psql -U agent -d agent_crossing -c "SELECT extname FROM pg_extension WHERE extname = 'vector';"If the result includes vector, pgvector is enabled.
pnpm test:backend
# or
uv run --project packages/backend pytest -c packages/backend/pyproject.toml packages/backend/tests- See
TODO.mdfor implementation checklist aligned with the paper. - See
SPEC.mdfor architecture and technical specification.
TBD