AI_Admin_mod 和聊天框

AI_Admin_mod 和聊天框

一个由AI驱动的服务器管理模组,允许管理员使用自然语言执行命令、建造结构和管理世界。

Minecraft AI Administrator

🤖 一款由 AI 驱动的 Minecraft 模组,将 AI 模型与 Minecraft 连接,实现智能管理、自动化与服务器管理。

这是一个跨平台(Fabric + Forge)的 Minecraft 模组,新增了 AI 管理员 对话界面,使操作员能够通过简单的类聊天图形界面执行服务器管理任务——并且,可选地,将其连接到 真实的 AI 模型(Gemini、GPT、DeepSeek、Kimi、Claude、Mistral、MiniMax "Mimo"、Groq 等),使用你自己的 API 密钥。

基于 Architectury 工具链构建,适用于 Minecraft 1.20.1,使用 官方 Mojang 映射 编译,目标为 Java 17。

功能特性

  • /aiadmin 命令树(需要操作员等级 >= 2):
    • /aiadmin interact — 打开 AI 管理员对话 GUI。
    • /aiadmin help — 在聊天中列出可用的 AI 命令。
  • AI 管理员对话 GUI(通过 /aiadmin interact 或 K 键打开):
    • 创作者头像渲染在对话旁。
    • 快捷操作按钮:给予物品、游戏模式、传送、踢出、生物群系信息、模组列表、帮助。
    • 带文本输入框的可滚动对话记录。
    • AI 设置 按钮,打开提供商/模型配置界面。
  • 真实 AI 集成(可选,需要你自己的 API 密钥):
    • 提供商列表:Google Gemini、OpenAI (GPT)、DeepSeek、Kimi (Moonshot)、Anthropic (Claude)、Mistral AI、MiniMax (Mimo)、Groq、xAI (Grok)、阿里巴巴通义千问,以及自定义的 OpenAI 兼容端点——一键即可选择。
    • 模型选择:每个提供商都带有预设列表(例如 gemini-2.5-flash、gpt-4o-mini、deepseek-chat、moonshot-v1-8k、claude-3-5-sonnet-...、abab6.5s-chat 等),你可以通过“下一个模型”循环切换,也可以输入任意你想要的模型 ID。
    • 你自己的 API 密钥 在客户端输入,仅发送到服务器一次,并仅存储在服务器端的 config/ai_admin.json 中(绝不会发送回客户端)。
    • 测试 AI 实时尝试连接,并在 GUI 中显示模型的回复/状态。
    • 配置 AI 后,你可以输入自由形式的请求(例如 “传送我去沙漠”、“给我建一座房子”、“给 Steve 20 个钻石”);模型会回复,以 ! 开头的行将作为管理员命令执行(例如 !teleport Player 100 64 -200、!build house 8、!give Steve minecraft:diamond 20)。你的当前坐标会随每个请求发送,以便模型自动传送你。如果没有 API 密钥,仍会使用内置的结构化解析器。
  • 在服务器端解析的自然语言风格结构化请求:
    • give <玩家> <物品ID> [数量] [附魔:等级,...]
    • gamemode <玩家> <survival|creative|adventure|spectator>
    • teleport <玩家> <x> <y> <z> 或 teleport <玩家> <目标玩家>
    • setblock <x> <y> <z> <方块ID> — 放置单个方块。
    • fill <x1> <y1> <z1> <x2> <y2> <z2> <方块ID> — 填充一个区域。
    • build <wall|floor|cube|tower|house|pyramid> [大小] — 在你的位置建造结构(或 build <类型> <x> <y> <z> [大小] 在指定位置建造)。
    • spawn <实体ID> [数量] — 召唤实体(任意 已注册 的实体 ID 均可,包括来自其他模组的自定义/模组实体);spawn rally_banner、spawn creeper 5、spawn zombie 10 100 64 -200 等。
    • where — 显示你的坐标、维度、生物群系和朝向。
    • 单独的 spawn — 传送(你自己或另一名玩家,spawn [玩家])到世界出生点。
    • kick <玩家> [原因]
    • biome
    • modlist
    • help
  • 权限安全:每个请求在执行任何操作前,都会在服务器端针对操作员等级 2 重新验证。客户端永远不会信任自己。
  • 网络层基于 Architectury 的 NetworkManager (S2C/C2S) 构建,跨平台。
  • 客户端辅助功能(无需菜单): 在对话框中输入这些内容即可在客户端执行:
    • pack add <网址> — 下载 .zip 资源包并立即启用。
    • pack list — 列出你已启用的资源包。pack remove <名称>、pack clear、pack reload。
    • shader <包> / shader off — 立即设置光影包(仅在安装 Iris 时有效;需要已存在的光影包)。
  • 模组图标/游戏内头像显示 AI 管理员徽标(一张 1254x1254 的 PNG,为 GUI 头像调整为 64x64,为启动器图标调整为 512x512)。

发布版本

文件 平台
AIAdminCompanion-1.20.1-fabric.jar Fabric(Fabric Loader 0.14.22+,Fabric API 0.88.1+)
AIAdminCompanion-1.20.1-forge.jar Forge(47.2.0+,即 Minecraft 1.20.1)

两个平台都需要 Architectury API 模组(architectury 9.x)。

将对应平台的 jar 文件放入 mods/ 文件夹,与 Architectury API 放在一起。

使用方法

  1. 加入或开启一个世界,并确保你是操作员(OP 等级 2 或更高)。
  2. 按 K 键或运行 /aiadmin interact 打开对话。
  3. (可选但推荐)点击 AI 设置,选择提供商和模型,粘贴你的 API 密钥,然后 保存 并 测试 AI。
  4. 输入请求,例如 give Steve minecraft:diamond 64,然后按 Enter(或点击执行)。结果将显示在对话记录中。如果配置了 AI,你还可以输入自然语言,例如 “teleport Steve to Alex”。

项目结构

  • common/ — 共享代码:模组初始化、命令、请求解析器、网络、管理员执行器、AI 设置/配置(AiProvider、AiSettings、AiAdminConfig、AiApiClient)、客户端 GUI(AiAdminScreen、AiAdminSettingsScreen)、头像纹理。
  • fabric/ — Fabric 入口点 + fabric.mod.json。
  • forge/ — Forge 入口点 + mods.toml。
  • gradle.properties — 版本(MC、Architectury、Fabric、Forge、映射)。

构建

gradlew build

两个 jar 文件分别生成在 fabric/build/libs/ 和 forge/build/libs/。便捷副本会复制到项目根目录,命名为 AIAdminCompanion-1.20.1-fabric.jar 和 AIAdminCompanion-1.20.1-forge.jar。

提醒 / 故障排除

  • Mojang CDN(piston-data.mojang.com)在 Loom 首次构建下载 client.txt/server.txt mojmap 文件时可能会缓慢/不稳定。下载会通过 SHA1 校验并缓存在 ~/.gradle/caches/fabric-loom/1.20.1/ 下。如果映射下载似乎卡在 0 字节,请使用 curl 将该文件下载到 ~/.gradle/caches/fabric-loom/1.20.1/layered/working_dir/tmp-mojmap/mojang/(SHA1 必须与 1.20.1 版本 JSON 中的值匹配),然后重新运行构建——Loom 会跳过有效文件。
  • 如果构建被中断,请使用 gradlew --no-daemon,并确保没有过期的 Gradle 守护进程持有 Loom 缓存锁(出现“Found existing cache lock file”警告时)。
  • AI 调用在服务器线程之外运行(异步 java.net.http.HttpClient);结果会在触及游戏状态之前跳回服务器线程。API 密钥仅存在于服务器上的 config/ai_admin.json 中。
  • Common 源重新映射可能会为 Forge 类产生“Duplicate key ...”警告;这些警告不会导致致命错误。
  • 按键绑定、GUI 字符串和聊天消息可通过 assets/ai_admin/lang/en_us.json 本地化。

许可证

MIT — 请参阅模组元数据(fabric.mod.json / mods.toml)。