1Department of Computer Science & Engineering, POSTECH
2Graduate School of Artificial Intelligence, POSTECH
✉ Corresponding author
2Graduate School of Artificial Intelligence, POSTECH
✉ Corresponding author
- [01/2026] 🔥 We release the code.
- [01/2026] 🔥 XENON is accepted to ICLR 2026!
- Install STEVE-1 checkpoint (Thanks Optimus-1 !)
# url: https://drive.google.com/file/d/1Mmwqv2juxMuP1xOZYWucnbKopMk0c0DV/view?usp=drive_link
pip install gdown
gdown 1Mmwqv2juxMuP1xOZYWucnbKopMk0c0DV
# After the download is done
unzip optimus1_steve1_ckpt.zip
# Then, `checkpoints` directory should be made at `{path/to/this/repo}/checkpoints`- Install MCP-Reborn (Again, thanks Optimus-1 !)
# url: https://drive.google.com/file/d/1GLy9IpFq5CQOubH7q60UhYCvD6nwU_YG/view?usp=drive_link
gdown 1GLy9IpFq5CQOubH7q60UhYCvD6nwU_YG
# After the download is done
mv MCP-Reborn.tar.gz minerl/minerl- Install docker image (or build your docker image using the Dockerfile in our
dev_dockerdirectory):
docker pull sjlee1218/xenon:latest- Run a docker container
# mount this respository into a container's /app/repo, and mount your HF_HOME into a container's /app/LLM
docker run --rm --gpus '"device=0,1"' \
-v {path/to/this/repo}:/app/repo \
-v ~/.cache/huggingface:/app/LLM \
--shm-size=32g \
-it sjlee1218/xenon:latest /bin/bash- Compile MCP-Reborn inside the docker container
# Inside the docker container
cd /app/repo/minerl/minerl
rm -rf MCP-Reborn
tar -xzvf MCP-Reborn.tar.gz --no-same-owner
cd MCP-Reborn
./gradlew clean build shadowJarThen you can run XENON!
- Run a docker container
# mount this respository into a container's /app/repo, and mount your HF_HOME into a container's /app/LLM
docker run --rm --gpus '"device=0,1"' \
-v {path/to/this/repo}:/app/repo \
-v ~/.cache/huggingface:/app/LLM \
--shm-size=32g \
-it sjlee1218/xenon:latest /bin/bash- [Planning] Run XENON to solve long-horizon goals, given a oracle dependency graph (i.e. correct recipes are given)
cd /app/repo
export HF_HOME="/app/LLM"
xvfb-run -a python app.py --port 9000 > /dev/null 2>&1 &
sleep 3
xvfb-run -a python -m optimus1.main_planning server.port=9000 env.times=1 benchmark=wooden evaluate="[0]" env.times=1 prefix="ours_planning"
python -m optimus1.util.server_api --port 9000 # shutdown the app.py server, after an experiment is doneOr do bash scripts/run_planning_diamond.sh if you want to run many experiments by one command.
- [Learning] Run XENON to learn dependencies and actions for goals
cd /app/repo
export HF_HOME="/app/LLM"
xvfb-run -a python app.py --port 9000 > /dev/null 2>&1 &
sleep 3
python -m optimus1.main_exploration server.port=9000 env.times=1 prefix="ours_exploration"
python -m optimus1.util.server_api --port 9000 # shutdown the app.py serverOr do bash scripts/run_exploration.sh if you want to run many experiments by one command.
If you find this work useful for your research, please kindly cite our paper:
@inproceedings{lee2026experience,
title={Experience-based Knowledge Correction for Robust Planning in Minecraft},
author={Seungjoon Lee and Suhwan Kim and Minhyeon Oh and Youngsik Yoon and Jungseul Ok},
booktitle={The Fourteenth International Conference on Learning Representations},
year={2026},
url={https://openreview.net/forum?id=N22lDHYrXe}
}
- Our codebase is largely inspired by Optimus-1's official github repository.
- Thanks for these awesome minecraft agents: DECKARD, STEVE-1, ADAM, etc.