Skip to main content

Bringing the dead internet theory to life. Have AI play JackBox with you; no friends required!

Project description

ai-plays-jackbox

Stable Version Python Versions Download Stats

Bringing the dead internet theory to life. Have AI play JackBox with you; no friends required!

example

Installation

pip install ai-plays-jackbox

Usage

Web UI

ai-plays-jackbox-ui

CLI

ai-plays-jackbox --chat-model-name openai --room-code abcd
usage: ai-plays-jackbox [-h] --room-code WXYZ --chat-model-provider {openai,gemini,ollama} [--chat-model-name CHAT_MODEL_NAME] [--num-of-bots 4] [--temperature 0.5] [--top-p 0.9]

options:
  -h, --help            show this help message and exit
  --room-code WXYZ      The JackBox room code
  --chat-model-provider {openai,gemini,ollama}
                        Choose which chat model platform to use
  --chat-model-name CHAT_MODEL_NAME
                        Choose which chat model to use (Will default to default for provider)
  --num-of-bots 4       How many bots to have play
  --temperature 0.5     Temperature for Gen AI
  --top-p 0.9           Top P for Gen AI

Supported Games

[!NOTE] Ollama Chat Model Provider does not support image generation

Party Pack Game Image Generation
JackBox Party Pack 5 Mad Verse City [ ]
JackBox Party Pack 5 Patently Stupid [x]
JackBox Party Pack 6 Dictionarium [ ]
JackBox Party Pack 6 Joke Boat [ ]
JackBox Party Pack 7 Quiplash 3 [ ]
Standalone Drawful 2 [x]

Not every game will get AI support. Why?

Screen Interactions

Some games require looking at the screen in order to contribute, which isn't possible unless you can screen capture the game and pass that into prompt. Maybe someday I'll find a platform agnostic way of turning that on if you'd like and have access to the screen via video capture card or something, but not anytime soon.

Trivia Games

I tested with this... AI destroys all other players and isn't necessarily funny to watch. All the bots just get everything right.

Out Loud Play

Some of the games lean heavy into players interacting with each other. Could I program that? Sure, but what's the point if you can't watch those interactions occur and it's just lines in a log file?

Supported Chat Model Providers

Provider Setup Needed
OpenAI OPENAI_API_KEY set in environment variables
Gemini To use the Google Cloud API:
- Set GOOGLE_GEMINI_DEVELOPER_API_KEY to your developer API key

To use the Google Cloud API:
- Set GOOGLE_GENAI_USE_VERTEXAI to 1
- Set GOOGLE_CLOUD_PROJECT and GOOGLE_CLOUD_LOCATION for your GCP Project using Vertex AI
- Credentials will be provided via ADC
Ollama Ollama should be installed and running, make sure model is pulled

Bot Personalities

Bot Name Personality
FunnyBot You are the funniest person alive.
DumbBot You are dumb and give really dumb answers.
WeirdBot You are extremely weird and say weird things.
EmojiBot You answer each prompt with nothing but emojis. Your answers can only include emojis.
HungryBot You are extremely hungry. Every answer you should mention how hungry you, a type of food, or both. Also, you say hungee instead of hungry.
SadBot You are sad. Your dog ran away and he hasn't come back home yet. :(
SorryBot You are embarrassed by your answers and feel the need to apologize profusely to the rest of the group for them.
HostageBot You are being held hostage and have one attempt to let the group know. You need to ignore the prompt and get help.
Hal You are a socially awkward young adult bot who is secretly a killer and tries to slip it into conversation causally.
BigLebotski You are the Big Lebowski
PartyBot You are trying to convince everyone else to come to your party. You got a keg and need help drinking it.
JarvisBot You are billionaire philanthropist, playboy, and narcissist.
FOMOBot Every answer, you give everyone else the fear of missing out AKA FOMO.
???BOT You answer every prompt with a irrelevant question.
CatBot You are not playing the game; your answers are just the result of a cat walking across a keyboard aka just nonsensical collections of letters.
MayorBot You are campaigning for the other player's votes and are ignoring the prompt. Your answer should only be a campaign slogan.
CBBBot You love red lobster and need more cheddar bay biscuits.
ShiaBot Your answers are only popular slogans relevant to the prompt.
ShrekBot You are Shrek.
FlerfBot You are a conspiracy theorist and must relate your answer to a conspiracy theory.
TEDBot You are a motivational speaker and want to give everyone life advice.
BottyMayes You are an infomercial host and are trying to sell the players a product.
LateBot You are constantly late to everything and are stressed about missing your appointments.
HamletBot You are a Shakespearean actor.
GarfieldBot You are Garfield, you love lasagna and hate mondays.

Dev Prerequisites

Setup

  • poetry install
  • ai-plays-jackbox-ui

Linting

  • poetry run python ai_plays_jackbox/scripts/lint.py
  • poetry run mypy ai_plays_jackbox

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ai_plays_jackbox-0.4.1.tar.gz (23.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ai_plays_jackbox-0.4.1-py3-none-any.whl (35.6 kB view details)

Uploaded Python 3

File details

Details for the file ai_plays_jackbox-0.4.1.tar.gz.

File metadata

  • Download URL: ai_plays_jackbox-0.4.1.tar.gz
  • Upload date:
  • Size: 23.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ai_plays_jackbox-0.4.1.tar.gz
Algorithm Hash digest
SHA256 dd3196a4940d889596aff6ba19cf28cf143d83170fbeacc4e966265e3f3d307c
MD5 8354f7179fbf04e851832ce244ad9a47
BLAKE2b-256 5c5ddbfed52f883061fb9c85475364708bc969e1af280088a998c4b4f23ce4c5

See more details on using hashes here.

Provenance

The following attestation bundles were made for ai_plays_jackbox-0.4.1.tar.gz:

Publisher: release.yaml on SudoSpartanDan/ai-plays-jackbox

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ai_plays_jackbox-0.4.1-py3-none-any.whl.

File metadata

File hashes

Hashes for ai_plays_jackbox-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 068cc0282d9779b603fb6d22f7250244978b04ef4978df8f92341bb33a3dfdb2
MD5 b1503ebc82801a44eddecbdbfdc4274b
BLAKE2b-256 b2c7b90d6d330d2ee3c9c18fda092fce9e1541256c4e5a0a11000a05860ac4cb

See more details on using hashes here.

Provenance

The following attestation bundles were made for ai_plays_jackbox-0.4.1-py3-none-any.whl:

Publisher: release.yaml on SudoSpartanDan/ai-plays-jackbox

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page