🤖 24/7 AI agent that maximizes Claude Code Pro usage via Slack. Auto-processes tasks, manages isolated workspaces, creates Git commits/PRs, and optimizes day/night usage thresholds.
[NeurIPS 2025] 4KAgent: Agentic Any Image to 4K Super-Resolution. An intelligent computer vision agent that can magically restore any image to perfect-4K.
Generative Agents for video games Generative agents are virtual characters that can store memories and dynamically react to their environment. Using LLM models such as ChatGPT agents are able to observe their surroundings, store memories, and react to state changes in the world Generative Agents save time programming interactions by hand and make NPC's more realistic / dynamic Getting Started Create new agents (as in the example project) example project Supported Client Languages: Java, JavaScript (or use the http endpoints) Java
Use maven to use the project from the jitpack repository JavaScript Start a new javascript project Asking an agent a question using ask will not create a new memory unless called with addObservation Running the server Running the Server The Smallville World Simulator comes with a Java 17 server that you can use to store the simulation data. Run the following command in the same directory as your jar file downloaded from releases The server will start on the default
port 8080 unless specified otherwise. The dashboard which shows the memory stream, current activities, locations, and emojis of all available agents is found at Dashboard The dashboard can be accessed from by default. The dashboard contains all the prompts sent to the LLM every update, information about agents, locations, and the current time, as well as memory streams of the agents. Through the dashboard you can also change the states of objects and interview agents. Example This example isn't finished
yet but is a basic example of how to get started. example javascript project Configuration Configure prompts and other options Running Locally Start LocalAI and change the apiPath and model options to the correct values Info Code based on Generative Agents: Interactive Simulacra of Human Behavior Tileset made by LimeZu Getting Help If you need help getting started with smallville or view project updates you can join our community discord
Frequently asked questions
How many stars and forks are recorded?
nmatter1/smallville has 831 stars and 81 forks.
What is the repository rank?
nmatter1/smallville is ranked 13,376.
What language and category are recorded?
nmatter1/smallville has 831 stars, uses Java and belongs to Applications.
Which repository is closest in rank?
nmatter1/smallville is compared with replicate/llama-chat, ranked 13,378 with 831 stars.
README
Smallville
Generative Agents for video games
Generative agents are virtual characters that can store memories and dynamically react to their environment. Using LLM models such as ChatGPT agents are able to observe their surroundings, store memories, and react to state changes in the world
Generative Agents save time programming interactions by hand and make NPC's more realistic / dynamic
Getting Started
Create new agents (as in the example project) example project
Supported Client Languages: Java, JavaScript (or use the http endpoints)
Java
Use maven to use the project from the jitpack repository
SmallvilleClient client = SmallvilleClient.create("http://localhost:8080", new AgentHandlerCallback() {
public void handle(SimulationUpdateEvent event) {
List agents = event.getAgents();
List locations = event.getLocations();
}
});
client.createLocation("Red House");
client.createObject("Red House", "Kitchen", new ObjectState("occupied"));
List memories = new ArrayList();
memories.add("Memory1");
client.createAgent("John", memories, "Red House: Kitchen", "Cooking");
client.updateState();
JavaScript
Start a new javascript project
npm init
npm i smallville
const client = new Smallville({
host: "http://localhost:8080", // host of the server
stateHandler: function(state) {
//in here you would update the location of the agent using your own pathfinding algorithm
const agents = state.agents
const objects = state.locations
const conversations = state.conversations
console.log('[State Change]: The simulation has been updated')
},
});
Asking an agent a question using ask will not create a new memory unless called with addObservation
Running the server
Running the Server
The Smallville World Simulator comes with a Java 17 server that you can use to store the simulation data.
Run the following command in the same directory as your jar file downloaded from releases
The server will start on the default port 8080 unless specified otherwise. The dashboard which shows the memory stream, current activities, locations, and emojis of all available agents is found at http://localhost:8080/dashboard
Dashboard
The dashboard can be accessed from http://localhost:8080/dashboard by default. The dashboard contains all the prompts sent to the LLM every update, information about agents, locations, and the current time, as well as memory streams of the agents. Through the dashboard you can also change the states of objects and interview agents.
Example
This example isn't finished yet but is a basic example of how to get started.
example javascript project
Configuration
Configure prompts and other options
Running Locally
Start LocalAI and change the apiPath and model options to the correct values