AI Minecraft Civilization — Multi-agent LLM-powered bots that build, explore, mine, farm, and chat together in Minecraft.
MiniMine runs multiple AI agents in a Minecraft Java server. Each agent has:
- A unique personality (SOUL file) — creative, practical, adventurous, etc.
- A Mind (LLM decision layer) — reasons about the world, plans builds, chats with others
- A Body (Mineflayer execution layer) — gathers, crafts, fights, places blocks
- Memory — SQLite event log + persistent lessons + build history
- RAG Knowledge — 2,600+ Minecraft facts, recipes, and strategies injected into context
Agents work together on shared build projects, trade resources, and have natural conversations.
docker compose up -dThis starts a Paper 1.21.1 server on localhost:25565.
cp .env.example .env
# Edit .env with your API key and endpointSupports any OpenAI-compatible API:
- MiniMax (default) —
https://api.minimax.io/v1 - OpenAI —
https://api.openai.com/v1 - Local —
http://localhost:8000/v1(vLLM, llama.cpp, etc.)
npm installnpm run build-knowledgeThis creates the BM25 + vector search index for RAG (takes ~30-60s).
./launch-agents.sh 2Launches 2 agents (luna and john) in a tmux session. Attach with:
tmux attach -t minimineminimine/
├── src/mind/ # Cognitive layer — LLM, memory, RAG, planning
├── src/body/ # Execution layer — Mineflayer skills, survival tick
├── knowledge/ # Minecraft knowledge base (20 markdown files)
├── personalities/ # SOUL files — agent identity and behavior
├── start.js # Single-agent entry point
└── launch-agents.sh # Multi-agent launcher
- Mind decides what to do (event-driven, fires on chat/skill completion/idle)
- Body decides how to do it (300ms survival tick for eating, combat, hazards)
- They communicate through a strict boundary:
!commandsfrom Mind → Body skills
Quick actions: !gather, !mine, !craft, !navigate, !chat, !look, !scan, !explore, !combat, !farm, !harvest, !withdraw, !deposit, !give, !drop, !eat, !place, !equip
Building: !design, !build, !builds, !road, !clear
- Copy
personalities/SOUL-luna.mdtopersonalities/SOUL-yourname.md - Edit the personality traits, speech style, and priorities
- Launch with:
AGENT_NAME=yourname node start.js
Edit .env:
LLM_URL=https://api.openai.com/v1
LLM_API_KEY=sk-...
LLM_MODEL=gpt-4oAgents share state through:
- Build Ledger — shared JSON tracking every block in active projects
- Activity Broadcasts — each agent writes what it's doing for others to read
- Chat — agents talk to coordinate, ask for materials, share discoveries
- Vision system (VLM image analysis)
- Voice chat (TTS + proximity audio)
- Settlement layout planning
- Redstone automation
- Ender Dragon fight
Forked from the HermesCraft experiment. Rewritten for Mineflayer + modern LLM APIs.