🎮🏭 AI plays the game Factorio with CV & LLM combined. Powered by YOLO / LLM.
TypeScript
100
76 commits
updated Feb 25, 2026
[!NOTE]
This project is part of the Project AIRI, we aim to build a wishing to achieve Neuro-sama's (subscribe if you didn't!) altitude, completely LLM and AI driven, capable of realtime voice chat, Minecraft playing, Factorio playing. If you are interested in, please do give it a try on live demo.
It's hard to describe the project structure in a few words, but it currently looks like this:

Clone the repository:
git clone https://github.com/moeru-ai/airi-factorio
Install dependencies:
pnpm i
Create a symlink for the autorio mod:
cd /path/to/airi-factorio
ln -s /path/to/airi-factorio/packages/autorio/dist /path/to/factorio/data/autorio
# If you are using DevContainer, you can use the following command:
ln -s /workspace/airi-factorio/packages/autorio/dist /opt/factorio/data/autorio
Copy and fill the .env file:
cp packages/agent/.env.example packages/agent/.env.local
cp packages/factorio-wrapper/.env.example packages/factorio-wrapper/.env.local
If you are using DevContainer, you can set WS_SERVER_HOST and FACTORIO_WS_HOST and RCON_API_SERVER_HOST to localhost.
Create a game save file, the save file path should be the same as the one in the .env file:
/path/to/factorio/bin/x64/factorio --create /path/to/factorio/the-save-file.zip
# If you are using DevContainer, you can use the following command:
/opt/factorio/bin/x64/factorio --create /path/to/factorio/the-save-file.zip
# If your machine is not x64, you can use the following command:
box64 /opt/factorio/bin/x64/factorio --create /path/to/factorio/the-save-file.zip
Run the development script:
pnpm run dev
Now you can use the commands in Factorio, the script will be compiled automatically, but you need to exit and re-enter the game to see the changes(no need to restart the game).
unspeech: Universal endpoint proxy server for /audio/transcriptions and /audio/speech, like LiteLLM but for any ASR and TTShfup: tools to help on deploying, bundling to HuggingFace Spacesxsai-transformers: Experimental 🤗 Transformers.js provider for xsAI.@proj-airi/drizzle-duckdb-wasm: Drizzle ORM driver for DuckDB WASM@proj-airi/duckdb-wasm: Easy to use wrapper for @duckdb/duckdb-wasmautorio: Factorio automation librarytstl-plugin-reload-factorio-mod: Reload Factorio mod when developing@velin-dev/ml: Use Vue SFC and Markdown to write easy to manage stateful prompts for LLMdemodel: Easily boost the speed of pulling your models and datasets from various of inference runtimes.inventory: Centralized model catalog and default provider configurations backend serviceThanks for the original idea and code: https://github.com/naklecha/factorio-automation
463 followers · starred Feb 2025
TypeScript
96.0%
Dockerfile
2.0%
Shell
1.6%
🎮🏭 AI plays the game Factorio with CV & LLM combined. Powered by YOLO / LLM.
TypeScript
100
76 commits
updated Feb 25, 2026
[!NOTE]
This project is part of the Project AIRI, we aim to build a wishing to achieve Neuro-sama's (subscribe if you didn't!) altitude, completely LLM and AI driven, capable of realtime voice chat, Minecraft playing, Factorio playing. If you are interested in, please do give it a try on live demo.
It's hard to describe the project structure in a few words, but it currently looks like this:

Clone the repository:
git clone https://github.com/moeru-ai/airi-factorio
Install dependencies:
pnpm i
Create a symlink for the autorio mod:
cd /path/to/airi-factorio
ln -s /path/to/airi-factorio/packages/autorio/dist /path/to/factorio/data/autorio
# If you are using DevContainer, you can use the following command:
ln -s /workspace/airi-factorio/packages/autorio/dist /opt/factorio/data/autorio
Copy and fill the .env file:
cp packages/agent/.env.example packages/agent/.env.local
cp packages/factorio-wrapper/.env.example packages/factorio-wrapper/.env.local
If you are using DevContainer, you can set WS_SERVER_HOST and FACTORIO_WS_HOST and RCON_API_SERVER_HOST to localhost.
Create a game save file, the save file path should be the same as the one in the .env file:
/path/to/factorio/bin/x64/factorio --create /path/to/factorio/the-save-file.zip
# If you are using DevContainer, you can use the following command:
/opt/factorio/bin/x64/factorio --create /path/to/factorio/the-save-file.zip
# If your machine is not x64, you can use the following command:
box64 /opt/factorio/bin/x64/factorio --create /path/to/factorio/the-save-file.zip
Run the development script:
pnpm run dev
Now you can use the commands in Factorio, the script will be compiled automatically, but you need to exit and re-enter the game to see the changes(no need to restart the game).
unspeech: Universal endpoint proxy server for /audio/transcriptions and /audio/speech, like LiteLLM but for any ASR and TTShfup: tools to help on deploying, bundling to HuggingFace Spacesxsai-transformers: Experimental 🤗 Transformers.js provider for xsAI.@proj-airi/drizzle-duckdb-wasm: Drizzle ORM driver for DuckDB WASM@proj-airi/duckdb-wasm: Easy to use wrapper for @duckdb/duckdb-wasmautorio: Factorio automation librarytstl-plugin-reload-factorio-mod: Reload Factorio mod when developing@velin-dev/ml: Use Vue SFC and Markdown to write easy to manage stateful prompts for LLMdemodel: Easily boost the speed of pulling your models and datasets from various of inference runtimes.inventory: Centralized model catalog and default provider configurations backend serviceThanks for the original idea and code: https://github.com/naklecha/factorio-automation
463 followers · starred Feb 2025
TypeScript
96.0%
Dockerfile
2.0%
Shell
1.6%