mindcraft/README.md

58 lines
2.3 KiB
Markdown
Raw Normal View History

# Mindcraft 🧠⛏️
2023-08-15 23:39:02 -07:00
Crafting minds for Minecraft with Language Models and Mineflayer!
2023-08-15 23:39:02 -07:00
2024-01-30 22:26:27 -06:00
#### ‼️Warning‼️
2024-01-30 16:43:30 -06:00
2024-01-30 22:26:27 -06:00
This project allows an AI model to write/execute code on your computer that may be insecure, dangerous, and vulnerable to injection attacks on public servers. Code writing is disabled by default, you can enable it by setting `allow_insecure_coding` to `true` in `settings.json`. Enable only on local or private servers, **never** on public servers. Ye be warned.
2024-01-30 16:43:30 -06:00
2024-01-30 22:26:27 -06:00
## Requirements
2024-01-30 16:43:30 -06:00
2024-03-23 11:15:53 -05:00
- [OpenAI API Subscription](https://openai.com/blog/openai-api), [Gemini API Subscription](https://aistudio.google.com/app/apikey), or [Anthropic API Subscription](https://docs.anthropic.com/claude/docs/getting-access-to-claude)
2024-02-17 16:42:10 -06:00
- [Minecraft Java Edition](https://www.minecraft.net/en-us/store/minecraft-java-bedrock-edition-pc)
2024-01-30 22:26:27 -06:00
- [Node.js](https://nodejs.org/) (at least v14)
2024-01-30 16:43:30 -06:00
2023-08-15 23:39:02 -07:00
## Installation
Add one of these environment variables:
- `OPENAI_API_KEY` (and optionally `OPENAI_ORG_ID`)
- `GEMINI_API_KEY`
2024-03-23 11:15:53 -05:00
- `ANTHROPIC_API_KEY` (and optionally `OPENAI_API_KEY` for embeddings. not necessary, but without embeddings performance will suffer)
2023-08-15 23:39:02 -07:00
2024-04-05 17:25:06 -05:00
⭐[How do I add the API key as an environment variable?](https://phoenixnap.com/kb/windows-set-environment-variable)⭐
2024-01-30 16:43:30 -06:00
Clone/Download this repository
2023-08-15 23:39:02 -07:00
2024-01-30 16:43:30 -06:00
Run `npm install`
2023-08-15 23:39:02 -07:00
2024-04-05 17:25:06 -05:00
Install the minecraft version specified in `settings.json`, currently supports up to 1.20.4
2024-02-17 16:42:10 -06:00
2024-04-05 17:25:06 -05:00
## Running Locally
2024-01-30 16:43:30 -06:00
2024-01-30 22:26:27 -06:00
Start a minecraft world and open it to LAN on localhost port `55916`
2024-01-30 16:43:30 -06:00
Run `node main.js`
You can configure the agent's name, model, and prompts in their profile like `andy.json`.
2024-04-05 17:25:06 -05:00
You can configure project details in `settings.json`.
2024-04-05 17:25:06 -05:00
## Online Servers
To connect to online servers your bot will need an official Microsoft/Minecraft account. You can use your own personal one, but will need another account if you want to connect with it. Here is an example settings for this:
2024-01-30 16:43:30 -06:00
```
{
2024-04-05 17:25:06 -05:00
"minecraft_version": "1.20.4",
2024-01-30 16:43:30 -06:00
"host": "111.222.333.444",
"port": 55920,
"auth": "microsoft",
"allow_insecure_coding": false
}
```
2024-04-05 17:25:06 -05:00
‼️Make sure your bot's name in the profile.json matches the account name! Otherwise the bot will spam talk to itself.
2023-11-27 21:07:52 -06:00
2023-12-04 21:33:40 -06:00
## Patches
2023-11-27 21:07:52 -06:00
2024-02-17 16:42:10 -06:00
Some of the node modules that we depend on have bugs in them. To add a patch, change your local node module file and run `npx patch-package [package-name]`