[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-71247":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":25,"hasPages":23,"topics":26,"createdAt":10,"pushedAt":10,"updatedAt":27,"readmeContent":28,"aiSummary":29,"trendingCount":16,"starSnapshotCount":16,"syncStatus":30,"lastSyncTime":31,"discoverSource":32},71247,"mindcraft","mindcraft-bots\u002Fmindcraft","mindcraft-bots","Minecraft AI with LLMs+Mineflayer","",null,"JavaScript",5326,802,66,29,0,9,35,120,27,39.71,"MIT License",false,"develop",true,[],"2026-06-12 02:02:49","\u003Ch1 align=\"center\">🧠mindcraft⛏️\u003C\u002Fh1>\n\u003Ch1 align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Ftrendshift.io\u002Frepositories\u002F9163\" target=\"_blank\">\u003Cimg src=\"https:\u002F\u002Ftrendshift.io\u002Fapi\u002Fbadge\u002Frepositories\u002F9163\" alt=\"kolbytn%2Fmindcraft | Trendshift\" style=\"width: 250px; height: 55px;\" width=\"250\" height=\"55\"\u002F>\u003C\u002Fa>\n\u003C\u002Fh1>\n\n\u003Cp align=\"center\">Crafting minds for Minecraft with LLMs and \u003Ca href=\"https:\u002F\u002Fprismarinejs.github.io\u002Fmineflayer\u002F#\u002F\">Mineflayer!\u003C\u002Fa>\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmindcraft-bots\u002Fmindcraft\u002Fblob\u002Fmain\u002FFAQ.md\">FAQ\u003C\u002Fa> | \n  \u003Ca href=\"https:\u002F\u002Fdiscord.gg\u002Fmp73p35dzC\">Discord Support\u003C\u002Fa> | \n  \u003Ca href=\"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=gRotoL8P8D8\">Video Tutorial\u003C\u002Fa> | \n  \u003Ca href=\"https:\u002F\u002Fkolbynottingham.com\u002Fmindcraft\u002F\">Blog Post\u003C\u002Fa> | \n  \u003Ca href=\"https:\u002F\u002Fmindcraft-minecollab.github.io\u002Findex.html\">Paper Website\u003C\u002Fa> | \n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmindcraft-bots\u002Fmindcraft\u002Fblob\u002Fmain\u002Fminecollab.md\">MineCollab\u003C\u002Fa>\n\u003C\u002Fp>\n\n> [!Caution]\nDo not connect this bot to public servers with coding enabled. This project allows an LLM to write\u002Fexecute code on your computer. The code is sandboxed, but still vulnerable to injection attacks. Code writing is disabled by default, you can enable it by setting `allow_insecure_coding` to `true` in `settings.js`. Ye be warned.\n\n# Getting Started\n## Requirements\n\n- [Minecraft Java Edition](https:\u002F\u002Fwww.minecraft.net\u002Fen-us\u002Fstore\u002Fminecraft-java-bedrock-edition-pc) (up to v1.21.11, recommend v1.21.6)\n- [Node.js Installed](https:\u002F\u002Fnodejs.org\u002F) (Node v18 or v20 LTS recommended. Node v24+ may cause issues with native dependencies)\n- At least one API key from a supported API provider. See [supported APIs](#model-customization). OpenAI is the default.\n\n> [!Important]\n> If installing node on windows, ensure you check `Automatically install the necessary tools`\n>\n> If you encounter `npm install` errors on macOS, see the [FAQ](FAQ.md#common-issues) for troubleshooting native module build issues\n\n## Install and Run\n\n1. Make sure you have the requirements above.\n\n2. Download the [latest release](https:\u002F\u002Fgithub.com\u002Fmindcraft-bots\u002Fmindcraft\u002Freleases\u002Flatest) and unzip it, or clone the repository.\n\n3. Rename `keys.example.json` to `keys.json` and fill in your API keys (you only need one). The desired model is set in `andy.json` or other profiles. For other models refer to the table below.\n\n4. In terminal\u002Fcommand prompt, run `npm install` from the installed directory\n\n5. Start a minecraft world and open it to LAN on localhost port `55916`\n\n6. Run `node main.js` from the installed directory\n\nIf you encounter issues, check the [FAQ](https:\u002F\u002Fgithub.com\u002Fmindcraft-bots\u002Fmindcraft\u002Fblob\u002Fmain\u002FFAQ.md) or find support on [discord](https:\u002F\u002Fdiscord.gg\u002Fmp73p35dzC). We are currently not very responsive to github issues. To run tasks please refer to [Minecollab Instructions](minecollab.md#installation)\n\n\n# Configuration\n## Model Customization\n\nYou can configure project details in `settings.js`. [See file.](settings.js)\n\nYou can configure the agent's name, model, and prompts in their profile like `andy.json`. The model can be specified with the `model` field, with values like `model: \"gemini-2.5-pro\"`. You will need the correct API key for the API provider you choose. See all supported APIs below.\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>⭐ VIEW SUPPORTED APIs ⭐\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n| API Name | Config Variable| Docs |\n|------|------|------|\n| `openai` | `OPENAI_API_KEY` | [docs](https:\u002F\u002Fplatform.openai.com\u002Fdocs\u002Fmodels) |\n| `google` | `GEMINI_API_KEY` | [docs](https:\u002F\u002Fai.google.dev\u002Fgemini-api\u002Fdocs\u002Fmodels\u002Fgemini) |\n| `anthropic` | `ANTHROPIC_API_KEY` | [docs](https:\u002F\u002Fdocs.anthropic.com\u002Fclaude\u002Fdocs\u002Fmodels-overview) |\n| `xai` | `XAI_API_KEY` | [docs](https:\u002F\u002Fdocs.x.ai\u002Fdocs) |\n| `deepseek` | `DEEPSEEK_API_KEY` | [docs](https:\u002F\u002Fapi-docs.deepseek.com\u002F) |\n| `ollama` (local) | n\u002Fa | [docs](https:\u002F\u002Follama.com\u002Flibrary) |\n| `qwen` | `QWEN_API_KEY` | [Intl.](https:\u002F\u002Fwww.alibabacloud.com\u002Fhelp\u002Fen\u002Fmodel-studio\u002Fdeveloper-reference\u002Fuse-qwen-by-calling-api)\u002F[cn](https:\u002F\u002Fhelp.aliyun.com\u002Fzh\u002Fmodel-studio\u002Fgetting-started\u002Fmodels) |\n| `mistral` | `MISTRAL_API_KEY` | [docs](https:\u002F\u002Fdocs.mistral.ai\u002Fgetting-started\u002Fmodels\u002Fmodels_overview\u002F) |\n| `replicate` | `REPLICATE_API_KEY` | [docs](https:\u002F\u002Freplicate.com\u002Fcollections\u002Flanguage-models) |\n| `groq` (not grok) | `GROQCLOUD_API_KEY` | [docs](https:\u002F\u002Fconsole.groq.com\u002Fdocs\u002Fmodels) |\n| `huggingface` | `HUGGINGFACE_API_KEY` | [docs](https:\u002F\u002Fhuggingface.co\u002Fmodels) |\n| `novita` | `NOVITA_API_KEY` | [docs](https:\u002F\u002Fnovita.ai\u002Fmodel-api\u002Fproduct\u002Fllm-api?utm_source=github_mindcraft&utm_medium=github_readme&utm_campaign=link) |\n| `openrouter` | `OPENROUTER_API_KEY` | [docs](https:\u002F\u002Fopenrouter.ai\u002Fmodels) |\n| `glhf` | `GHLF_API_KEY` | [docs](https:\u002F\u002Fglhf.chat\u002Fuser-settings\u002Fapi) |\n| `hyperbolic` | `HYPERBOLIC_API_KEY` | [docs](https:\u002F\u002Fdocs.hyperbolic.xyz\u002Fdocs\u002Fgetting-started) |\n| `vllm` | n\u002Fa | n\u002Fa |\n| `cerebras` | `CEREBRAS_API_KEY` | [docs](https:\u002F\u002Finference-docs.cerebras.ai\u002Fintroduction) |\n| `mercury` | `MERCURY_API_KEY` | [docs](https:\u002F\u002Fwww.inceptionlabs.ai\u002F) |\n\n\u003C\u002Fdetails>\n\nFor more comprehensive model configuration and syntax, see [Model Specifications](#model-specifications).\n\nFor local models we support [ollama](https:\u002F\u002Follama.com\u002F) and we provide our own finetuned models for you to use. \nTo install our models, install ollama and run the following terminal command:\n```bash\nollama pull sweaterdog\u002Fandy-4:micro-q8_0 && ollama pull embeddinggemma\n```\n\n## Online Servers\nTo connect to online servers your bot will need an official Microsoft\u002FMinecraft account. You can use your own personal one, but will need another account if you want to connect too and play with it. To connect, change these lines in `settings.js`:\n```javascript\n\"host\": \"111.222.333.444\",\n\"port\": 55920,\n\"auth\": \"microsoft\",\n\n\u002F\u002F rest is same...\n```\n> [!Important]\n> The bot's name in the profile.json must exactly match the Minecraft profile name! Otherwise the bot will spam talk to itself.\n\nTo use different accounts, Mindcraft will connect with the account that the Minecraft launcher is currently using. You can switch accounts in the launcher, then run `node main.js`, then switch to your main account after the bot has connected.\n\n## Tasks\n\nTasks automatically start the bot with a prompt and a goal item to acquire or blueprint to construct. To run a simple task that involves collecting 4 oak_logs run \n\n`node main.js --task_path tasks\u002Fbasic\u002Fsingle_agent.json --task_id gather_oak_logs`\n\nHere is an example task json format: \n\n```\n{\n    \"gather_oak_logs\": {\n      \"goal\": \"Collect at least four logs\",\n      \"initial_inventory\": {\n        \"0\": {\n          \"wooden_axe\": 1\n        }\n      },\n      \"agent_count\": 1,\n      \"target\": \"oak_log\",\n      \"number_of_target\": 4,\n      \"type\": \"techtree\",\n      \"max_depth\": 1,\n      \"depth\": 0,\n      \"timeout\": 300,\n      \"blocked_actions\": {\n        \"0\": [],\n        \"1\": []\n      },\n      \"missing_items\": [],\n      \"requires_ctable\": false\n    }\n}\n```\n\nThe `initial_inventory` is what the bot will have at the start of the episode, `target` refers to the target item and `number_of_target` refers to the number of target items the agent needs to collect to successfully complete the task. \n\nIf you want more optimization and automatic launching of the minecraft world, you will need to follow the instructions in [Minecollab Instructions](minecollab.md#installation)\n\n## Docker Container\n\nIf you intend to `allow_insecure_coding`, it is a good idea to run the app in a docker container to reduce risks of running unknown code. This is strongly recommended before connecting to remote servers, although still does not guarantee complete safety.\n\n```bash\ndocker build -t mindcraft . && docker run --rm --add-host=host.docker.internal:host-gateway -p 8080:8080 -p 3000-3003:3000-3003 -e SETTINGS_JSON='{\"auto_open_ui\":false,\"profiles\":[\".\u002Fprofiles\u002Fgemini.json\"],\"host\":\"host.docker.internal\"}' --volume .\u002Fkeys.json:\u002Fapp\u002Fkeys.json --name mindcraft mindcraft\n```\nor simply\n```bash\ndocker-compose up --build\n```\n\nWhen running in docker, if you want the bot to join your local minecraft server, you have to use a special host address `host.docker.internal` to call your localhost from inside your docker container. Put this into your [settings.js](settings.js):\n\n```javascript\n\"host\": \"host.docker.internal\", \u002F\u002F instead of \"localhost\", to join your local minecraft from inside the docker container\n```\n\nTo connect to an unsupported minecraft version, you can try to use [viaproxy](services\u002Fviaproxy\u002FREADME.md)\n\n# Bot Profiles\n\nBot profiles are json files (such as `andy.json`) that define:\n\n1. Bot backend LLMs to use for talking, coding, and embedding.\n2. Prompts used to influence the bot's behavior.\n3. Examples help the bot perform tasks.\n\n## Model Specifications\n\nLLM models can be specified simply as `\"model\": \"gpt-5.4\"`, or more specifically with `\"{api}\u002F{model}\"`, like `\"openrouter\u002Fgoogle\u002Fgemini-2.5-pro\"`. See all supported APIs [here](#model-customization).\n\nThe `model` field can be a string or an object. A model object must specify an `api`, and optionally a `model`, `url`, and additional `params`. You can also use different models\u002Fproviders for chatting, coding, vision, embedding, and voice synthesis. See the example below.\n\n```json\n\"model\": {\n  \"api\": \"openai\",\n  \"model\": \"gpt-5.4\",\n  \"url\": \"https:\u002F\u002Fapi.openai.com\u002Fv1\u002F\",\n  \"params\": {\n    \"max_tokens\": 1000,\n    \"temperature\": 1\n  }\n},\n\"code_model\": {\n  \"api\": \"openai\",\n  \"model\": \"gpt-5.4-mini\",\n  \"url\": \"https:\u002F\u002Fapi.openai.com\u002Fv1\u002F\"\n},\n\"vision_model\": {\n  \"api\": \"openai\",\n  \"model\": \"gpt-5.4\",\n  \"url\": \"https:\u002F\u002Fapi.openai.com\u002Fv1\u002F\"\n},\n\"embedding\": {\n  \"api\": \"openai\",\n  \"url\": \"https:\u002F\u002Fapi.openai.com\u002Fv1\u002F\",\n  \"model\": \"text-embedding-3-small\"\n},\n\"speak_model\": \"openai\u002Ftts-1\u002Fecho\"\n```\n\n`model` is used for chat, `code_model` is used for newAction coding, `vision_model` is used for image interpretation, `embedding` is used to embed text for example selection, and `speak_model` is used for voice synthesis. `model` will be used by default for all other models if not specified. Not all APIs support embeddings, vision, or voice synthesis.\n\nAll apis have default models and urls, so those fields are optional. The `params` field is optional and can be used to specify additional parameters for the model. It accepts any key-value pairs supported by the api. Is not supported for embedding models.\n\n## Embedding Models\n\nEmbedding models are used to embed and efficiently select relevant examples for conversation and coding.\n\nSupported Embedding APIs: `openai`, `google`, `replicate`, `huggingface`, `novita`\n\nIf you try to use an unsupported model, then it will default to a simple word-overlap method. Expect reduced performance. We recommend using supported embedding APIs.\n\n## Voice Synthesis Models\n\nVoice synthesis models are used to narrate bot responses and specified with `speak_model`. This field is parsed differently than other models and only supports strings formatted as `\"{api}\u002F{model}\u002F{voice}\"`, like `\"openai\u002Ftts-1\u002Fecho\"`. We only support `openai` and `google` for voice synthesis.\n\n## Specifying Profiles via Command Line\n\nBy default, the program will use the profiles specified in `settings.js`. You can specify one or more agent profiles using the `--profiles` argument: `node main.js --profiles .\u002Fprofiles\u002Fandy.json .\u002Fprofiles\u002Fjill.json`\n\n\n# Contributing\n\nWe welcome contributions to the project! We are generally less responsive to github issues, and more responsive to pull requests. Join the [discord](https:\u002F\u002Fdiscord.gg\u002Fmp73p35dzC) for more active support and direction.\n\nWhile AI generated code is allowed, please vet it carefully. Submitting tons of sloppy code and documentation actively harms development.\n\n## Patches\n\nSome 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]`\n\n## Development Team\nThanks to all who contributed to the project, especially the official development team: [@MaxRobinsonTheGreat](https:\u002F\u002Fgithub.com\u002FMaxRobinsonTheGreat), [@kolbytn](https:\u002F\u002Fgithub.com\u002Fkolbytn), [@icwhite](https:\u002F\u002Fgithub.com\u002Ficwhite), [@Sweaterdog](https:\u002F\u002Fgithub.com\u002FSweaterdog), [@Ninot1Quyi](https:\u002F\u002Fgithub.com\u002FNinot1Quyi), [@riqvip](https:\u002F\u002Fgithub.com\u002Friqvip), [@uukelele-scratch](https:\u002F\u002Fgithub.com\u002Fuukelele-scratch), [@mrelmida](https:\u002F\u002Fgithub.com\u002Fmrelmida)\n\n\n## Citation:\nThis work is published in the paper [Collaborating Action by Action: A Multi-agent LLM Framework for Embodied Reasoning](https:\u002F\u002Farxiv.org\u002Fabs\u002F2504.17950). Please use this citation if you use this project in your research:\n```\n@article{mindcraft2025,\n  title = {Collaborating Action by Action: A Multi-agent LLM Framework for Embodied Reasoning},\n  author = {White*, Isadora and Nottingham*, Kolby and Maniar, Ayush and Robinson, Max and Lillemark, Hansen and Maheshwari, Mehul and Qin, Lianhui and Ammanabrolu, Prithviraj},\n  journal = {arXiv preprint arXiv:2504.17950},\n  year = {2025},\n  url = {https:\u002F\u002Farxiv.org\u002Fabs\u002F2504.17950},\n}\n```\n\n## Contributors\n\nThanks to everyone who has submitted issues on and off Github, made suggestions, and generally helped make this a better project.\n\n![Contributors](https:\u002F\u002Fcontrib.rocks\u002Fimage?repo=mindcraft-bots\u002Fmindcraft)\n","mindcraft 是一个结合大语言模型（LLMs）与 Mineflayer 库来为 Minecraft 游戏创建 AI 代理的项目。其核心功能在于利用先进的自然语言处理技术，使用户能够通过简单的指令控制游戏中的角色执行复杂任务。该项目使用 JavaScript 编写，支持多种语言模型，包括但不限于 OpenAI 提供的服务，允许开发者根据需要调整模型参数以适应不同的应用场景。适合于对 Minecraft 自动化感兴趣的研究者、开发者以及游戏玩家使用，在保证安全的前提下探索人工智能在虚拟环境中的应用潜力。",2,"2026-06-11 03:36:46","high_star"]