#55th of 18 in Agent backends

ai-town

Generative-agents town simulation on Convex with Ollama by default

Stars
10.6k
License
MIT
Last commit
Aug 2026
Language
TypeScript

Overview

A deployable version of the Generative Agents paper: pixel-art characters on a PixiJS map that walk, talk and remember, driven by a simulation engine inside Convex, which is also the database and vector store. Models default to llama3 and mxbai-embed-large on Ollama, with OpenAI, Together or any OpenAI-compatible endpoint as env switches; Clerk auth was removed but the revert is documented. For teams building multi-agent simulations in TypeScript.

Who it is for: Teams building multi-agent simulations or games in TypeScript

Strengths

  • Runs fully local with Ollama; docker compose self-hosts Convex, frontend and dashboard
  • Simulation state, transactions and vector memory all live in Convex
  • Live demo hosted by Convex
  • Characters and maps are data files (characters.ts, Tiled JSON)

Weaknesses

  • Convex is the backend; moving to another database means a rewrite
  • Changing the embedding model requires wiping all data
  • Auth was removed; re-adding Clerk is a git revert
  • README pins Node 18; last commit 2026-08

What it needs

  • TypeScript, ollama, openai, together, openai-compatible
  • Needs convex, ollama-or-openai-compatible-api, replicate-optional
  • Docker
  • sign-in: Clerk

Also in Agent backends

See all 18
Also in Agent backends
RankProjectScore
1eve-software-factory-templateeve pipeline that turns GitHub or Linear issues into reviewed draft PRs1.2k stars, MIT65 out of 100
2marketing-team-eve-templateeve lead agent delegating to five marketing specialists with approval gates449 stars, MIT59 out of 100
3personal-agent-templateeve and Nuxt personal agent with Slack, GitHub, Linear and per-user memory477 stars, MIT57 out of 100
#4adk-recipesRunnable Agent Development Kit recipes, from single patterns to deployable agents10.4k stars, Apache-2.053 out of 100
#6knowledge-agent-templateNuxt knowledge agent that greps a synced snapshot repo instead of embedding1.1k stars, MIT48 out of 100