Note: This project is in beta, so expect glitches to be found and improvements to be made! We have released this code now in response to the huge amount of interest in this project. Thank you and please continue to send your feedback and suggestions.
This project is a Minecraft bot built using the Agents for Amazon Bedrock framework, written in TypeScript. It demonstrates how to create an agent that can interact with the Minecraft world using the Return Control Agents.
The Amazon Bedrock Minecraft Agent is a TypeScript implementation of an agent that can be used to automate tasks and interactions within the Minecraft world. It leverages the Mineflayer library, which provides a high-level interface for interacting with the Minecraft game engine.
To install this solution in it's current (beta) state, it's recommended that you have some knowledge of:
Additionally you will require a Minecraft client, with version 1.20.1
, and an account to play.
Steps to deploy:
agent_cfn/amazon-bedrock-minecraft-agent-roc.yaml
to a stack.agentId
and agentAliasId
.Usage:
25565
.agent_ts/
folder, open a terminal, install the node packages as required npm install
.agent_ts/.env
OR by editing agent_ts/config.ts
. Set the agentId
and the agentAliasId
to values output from the agent CloudFormation stack.agent_ts/
with npm run start:dev
t
. Try "hello", "come to me" and "dig a 2 by 2 hole". Watch the debug output in the terminal you are running from.This repo also contains a CDK stack that will deploy the agent client code to a task (container) within ECS. You should only consider using this if you are familiar with the technology and running a Minecraft server. Review the code carefully and at a minimum note:
Steps to deploy:
cdk/
folder, open a terminal, install the node packages as required npm install
.cdk/
using context variables agentId
and agentAliasId
, e.g.:> cdk deploy --context agentAliasID=ABC123 --context agentID=XYZ321
Usage:
Multiplayer
and select Add Server
.:25565
.t
. Try "hello", "come to me" and "dig a 2 by 2 hole". Watch the debug output in the terminal you are running from."Rather than sending the information that your agent has elicited from the user to a Lambda function for fulfillment, you can instead choose to return control to the agent developer by sending the information in the InvokeAgent response."
The Mineflayer library is a powerful tool for building Minecraft agents and automating tasks within the game world. It provides a set of classes and functions that abstract away low-level details, making it easier to develop complex behaviors and interactions.
This project is a proof of concept and is not intended for production use. It is provided as an example of how to build return control agents using the Agents for Amazon Bedrock framework and the Mineflayer library.
See CONTRIBUTING for more information.
This library is licensed under the MIT-0 License. See the LICENSE file.