A modular Go package for interacting with various LLM providers, with a focus on structured outputs and tool usage. Inspired by Generative Agents: Interactive Simulacra of Human Behavior.
- Modular design for multiple LLM providers
- Built-in support for OpenRouter (OpenAI-compatible API)
- Structured output handling using instructor-go
- Simple configuration and setup
-
World: The main simulation environment
- Manages agents and their interactions
- Controls simulation flow
- Handles plugin system
-
Agents: Individual actors in the simulation
- Customizable behavior through the Agent interface
- Memory management
- Decision-making capabilities
-
Plugins: Extensible functionality
- Agent plugins for individual agent behavior
- World plugins for global simulation features
-
Time Management: Controls simulation time flow
- Adjustable simulation speed
- Pause/resume capabilities
- Time conversion utilities
Simulacra supports two types of plugins:
- Agent Plugins: Extend individual agent capabilities
- World Plugins: Add features to the simulation environment