注意:该项目处于测试阶段,因此预计会发现故障并进行改进!为了响应人们对该项目的巨大兴趣,我们现在发布了此代码。谢谢您,请继续发送您的反馈和建议。
该项目是一个使用 Agents for Amazon Bedrock 框架构建的 Minecraft 机器人,以 TypeScript 编写。它演示了如何创建一个可以使用返回控制代理与 Minecraft 世界交互的代理。
Amazon Bedrock Minecraft 代理是代理的 TypeScript 实现,可用于自动执行 Minecraft 世界中的任务和交互。它利用 Mineflayer 库,该库提供了与 Minecraft 游戏引擎交互的高级接口。
要在当前(测试版)状态下安装此解决方案,建议您了解以下知识:
此外,您还需要 Minecraft 客户端(版本1.20.1
)和一个玩游戏的帐户。
部署步骤:
agent_cfn/amazon-bedrock-minecraft-agent-roc.yaml
部署到堆栈。agentId
和agentAliasId
的输出。用法:
25565
。agent_ts/
文件夹中,打开终端,根据需要安装节点包npm install
。agent_ts/.env
或编辑agent_ts/config.ts
来更新配置。将agentId
和agentAliasId
设置为从代理CloudFormation 堆栈输出的值。npm run start:dev
运行agent_ts/
中的 TypeScript 代码t
与游戏中的 Rocky 互动。尝试说“你好”、“到我这里来”和“挖一个 2 × 2 的洞”。在您运行的终端中观察调试输出。此存储库还包含一个 CDK 堆栈,该堆栈将代理客户端代码部署到 ECS 内的任务(容器)。仅当您熟悉该技术并运行 Minecraft 服务器时才应考虑使用此选项。仔细检查代码并至少注意:
部署步骤:
cdk/
文件夹中,打开终端,根据需要安装节点包npm install
。agentId
和agentAliasId
从cdk/
部署 CDK 项目,例如: > cdk deploy --context agentAliasID=ABC123 --context agentID=XYZ321
用法:
Multiplayer
并选择Add Server
。:25565
。t
与游戏中的 Rocky 互动。尝试说“你好”、“到我这里来”和“挖一个 2 × 2 的洞”。在您运行的终端中观察调试输出。“您可以选择通过在 InvokeAgent 响应中发送信息,将控制权返回给代理开发人员,而不是将代理从用户处获取的信息发送到 Lambda 函数来实现。”
Mineflayer 库是一个强大的工具,用于在游戏世界中构建 Minecraft 代理和自动化任务。它提供了一组类和函数,可以抽象出低级细节,从而更容易开发复杂的行为和交互。
该项目是一个概念验证,不适用于生产用途。它作为如何使用 Amazon Bedrock 框架代理和 Mineflayer 库构建退货控制代理的示例提供。
请参阅贡献以获取更多信息。
该库根据 MIT-0 许可证获得许可。请参阅许可证文件。