What it is
An episode brings a set of actors into being together, decides which of them can reach which, and runs them on the Tokio runtime until every one of them has stopped. An actor keeps its own state, takes messages from a mailbox one at a time, and reaches other actors only by sending them messages. A typical episode has one environment actor and several agent actors, some of them language models.
Free Agent is the platform. The applications built on it are separate crates, and yours can be one of them.
Build on it
Add the library to a Rust project:
cargo add free-agent
The API documentation walks through an episode from the actors up.
Play with it
Social deduction plays Werewolf: a few of the players are secretly werewolves, the rest are villagers, among them a doctor and a seer. Install the binary with one line, no Rust toolchain needed.
macOS and Linux
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/wpm/FreeAgent/releases/latest/download/social-deduction-installer.sh | sh
Windows
powershell -ExecutionPolicy Bypass -c "irm https://github.com/wpm/FreeAgent/releases/latest/download/social-deduction-installer.ps1 | iex"
Then deal a table and watch a game:
social-deduction --werewolves 2 --villagers 3 --doctors 1 --seers 1
Every build is also on the releases page as a plain archive.