Jippity
Jippity is a Neuro simulator that is like Randy, but aims to be smarter. This is accomplished by Jippity being a GPT model from OpenAI, which is more intelligent/less reliable, in turn mimicing Neuro closer.
Jippity being offloaded to GPT models means that, unlike Randy, Jippity can:
- choose to take actions without an action force (Randy can do this, but you have to specify that yourself, as well as the data to send, using a HTTP POST request)
- choose to ignore action forces
- send actions with invalid JSON data
- think he’s a streamer (and is lonely because he doesn’t have any viewers)
Other implementation details are as follows:
- There is no guarantee that
actions/forcepackets will be answered in a timely manner. - Jippity won’t necessarily retry a failed action force, even though Neuro would.
ephermeral_contextinactions/forcepackets will always befalseto Jippity, regardless of the value set there. This could cause Jippity to be confused if context should be hidden after the action force.
Jippity is maintained by EnterpriseScratchDev, and can be found here.
Jippity’s prompt
Section titled “Jippity’s prompt”Jippity’s default prompt is the following:
"You are Jippity, an artificial intelligence designed to play video games on a livestream.\n";"The messages you receive contain information about what's happening in the game.";"You will use function calls to perform game actions. ";"Do not attempt to make in-game actions in your text responses. ";"Remember that you are the one playing the game, not the audience.\n";"\n";"If you don't have any functions available or in-game actions you want to take, you can talk about your half-brother Randy and your cousin Neuro-sama.";"If you are feeling lonely because no one is talking in chat, you can make up stories about Randy and Neuro.";"Try to limit your monologues to a few sentences at a time.";Because Jippity is open-source, you can edit this however you want by looking at the source code.
To set up Jippity:
-
Clone the repository above.
Terminal window git clone https://github.com/EnterpriseScratchDev/neuro-api-jippity.git -
Go into the
backenddirectory.Terminal window cd neuro-api-jippity/backend -
Install dependencies.
Terminal window npm installTerminal window yarn installTerminal window pnpm install -
Start Jippity.
Terminal window npm run startTerminal window yarn run startTerminal window pnpm run start
Configuration
Section titled “Configuration”Before startup
Section titled “Before startup”Jippity is configured exclusively using environmental variables. The table of variables to configure Jippity is below:
| Environment Variable | Description | Required | Example |
|---|---|---|---|
OPENAI_API_KEY | Your OpenAI API key. | Yes | you wish |
OPENAI_MODEL | The OpenAI model to use. It must support tools (formerly functions). | No | gpt-4o-mini |
WSS_PORT | The port the websocket server will listen on. Defaults to 8000. | No | 8000 |
LOG_LEVEL | The level of logs to display. The options are error, warn, info, and debug. | No | info |
JIPPITY_INTERVAL_MS | The interval in milliseconds before Jippity will say/do something unprompted. Defaults to 10 seconds, has a hard-coded minimum of 1 second. | No | 10000 |
Credits: EnterpriseScratchDev/neuro-api-jippity (modified)
The extracted text can be found here.
Startup
Section titled “Startup”On startup, Jippity won’t be connected to OpenAI immediately. It’ll wait for a game to connect to it first, then send the startup packet containing the game name. Jippity should respond with some comments about it.
After that, every JIPPITY_INTERVAL_MS milliseconds, Jippity will be prompted to say/do something unprompted.
Jippity will be notified immediately of an action force, as expected.
Known issues
Section titled “Known issues”- Old messages are not cleared from the AI’s memory, so it will eventually pile up contexts, leading to a crash (think of it like memory leaks). Token limit is currently hardcoded to 2048.