Kilacraft-AI - 专为 Minecraft 服务器打造的轻量级 AI Agent
🚀 v1.4.2 正式发布 | 零依赖 · 低内存 · 高性能 · 易扩展 · 完全开源
让每个 Minecraft 服务器都能拥有智能 AI 助手
💎 核心优势
- 🚀 零中间件依赖:只需一个 JAR 文件,无需数据库、Redis 等额外服务
- 💾 极低内存占用:小型服务器仅需 8-12 MB,大型服务器约 30-50 MB(传统方案需 2-5 GB)
- ⚡ 开箱即用:5 分钟完成配置,立即投入使用
- 🔧 高度可定制:人格系统、知识库、语言配置全部可自定义
- 🌐 生态友好:开放 SPI 接口,第三方插件可无缝接入
🌐 项目地址与联系方式
- GitHub: https://github.com/axy-yxa/Kilacraft-AI
- Gitee: https://gitee.com/zm_mmm/kilacraft-ai
- 官方中文 Wiki: 点击查看
- Official English Wiki: Click Here
- QQ群: 1094391147
- Email: 1456133139@qq.com
💡 欢迎 Star ⭐、Fork 🔀 和提交 Issue/Pull Request!
📦 依赖要求与兼容性
✅ 版本兼容性
最低兼容版本:Minecraft 1.16.5 + Java 17
Kilacraft-AI 基于 Spigot 1.16.5 API 开发,一套 JAR 包兼容所有后续版本。
| Minecraft 版本 | Java 要求 | 服务端核心支持 | 说明 |
|---|---|---|---|
| 1.16.x (1.16.1-1.16.4) | - | ❌ 不支持 | 官方核心均不支持此范围 |
| 1.16.5 | Java 17+ | ⚠️ Paper/Purpur/Leaf/Folia 需 -DPaper.IgnoreJavaVersion=true |
CraftBukkit/Spigot 不支持 Java 17+ |
| 1.17.x - 1.19.x | Java 17+ | ✅ 完全支持 | Spigot/Paper/Purpur/Leaf/Folia/CraftBukkit |
| 1.20.x - 1.21.x | Java 21+ | ✅ 完全支持 | 服务端核心要求 Java 21 启动 |
🎁 可选依赖
以下插件未安装时对应功能自动禁用,不影响核心对话功能:
| 插件 | 最低版本 | 功能 |
|---|---|---|
| MythicMobs | 5.12.0+ | NPC 占位符(让 NPC 显示 AI 回复) |
| GlobalMarketPlus | 1.3.8.0+ | 经济系统(余额、价格、商品查询) |
| Vault | 最新版 | 多货币系统支持 |
🌟 功能展示
1️⃣ 智能对话系统
三种交互模式,满足所有场景
命令模式(适合偶尔询问)
玩家: /kila 怎么获得钻石?
AI: [Kilacraft-AI] 你可以通过以下方式获得钻石:
1. 在 Y=-58 到 Y=-53 层挖矿
2. 探索洞穴和峡谷
3. 与其他玩家交易
连续对话模式(适合深度交流)
玩家: /kilacraft chat
→ 已进入连续对话模式!
玩家: 我想建个农场
AI: 好主意!你想种什么作物呢?小麦、胡萝卜还是甜菜根?
玩家: 小麦吧,需要什么工具?
AI: 种植小麦需要:
1. 锄头(把泥土变成耕地)
2. 水桶(灌溉附近土地)
3. 种子(破坏草丛获得)
关键词触发(适合公共频道)
玩家: @ai 这个怎么做?
AI: [Kilacraft-AI] 请问具体是指什么呢?我可以帮你解答游戏机制、合成配方等问题。
2️⃣ 知识库增强(RAG 检索)
让 AI 了解你的服务器规则、玩法、FAQ!
使用方法:
- 在
plugins/Kilacraft-AI/knowledge/创建.md或.txt文件 - 写入服务器相关知识(规则、教程、FAQ 等)
- 执行
/kilacraft knowledge reload重新加载
示例文件 (server_rules.md):
# 服务器规则
## 基本规则
1. 禁止作弊和使用外挂
2. 保持友好,禁止辱骂他人
3. 禁止破坏其他玩家的建筑
## 经济系统
4. 禁止使用刷钱漏洞
5. 交易需遵循市场规律
# 常见问题
## 如何获得领地?
使用 /claim 命令来圈定你的领地。需要至少 10 个金币。
## 怎么赚钱?
可以通过挖矿、钓鱼或在玩家商店出售物品来赚钱。
智能检索效果:
玩家: 我怎么才能圈地?
AI: [Kilacraft-AI] 你可以使用 /claim 命令来圈定你的领地。需要至少 10 个金币。
(基于知识库中的"服务器规则"文档)
技术优势:
- 📑 Markdown 标题自动分段,精准定位相关内容
- 🔍 综合评分算法:完整问题匹配 + BM25 关键词评分 + 位置加权 + 精确匹配奖励
- 💾 缓存优化:二次检索速度提升 ~70%
- 🇨🇳 中文分词优化:HanLP TF-IDF + 智能停用词过滤
- 📚 自定义词典支持:可配置服务器特有术语(如“圈地”、“红石”、“村民交易”等),大幅提升分词准确性和检索效果
自定义词典配置(config.yml):
knowledge:
custom_dictionary:
enabled: true # 启用自定义词典
words:
- "圈地"
- "领地"
- "红石"
- "附魔"
- "村民交易"
- "刷怪塔"
- "末影龙"
# 添加你的服务器特有词汇...
💡 提示:将服务器特有的游戏术语、玩法名称添加到自定义词典中,可以显著提升 AI 对玩家问题的理解准确度。
3️⃣ LLM 智能意图识别 + 多步骤任务编排
🧠 什么是智能意图识别?
Kilacraft-AI 不是简单地"回答问题",而是理解你的真实意图并自动调用对应功能!
这是整个 Skill 系统的大脑,无论调用的是经济系统、Bukkit API 还是第三方插件的 Skill,都会经过这个智能引擎处理。
# Agent 工作流程
用户输入 → LLM 意图识别 → 判断任务类型 → 执行技能/任务 → 分析结果 → 生成回复
核心优势:
- 🎯 自然语言理解:玩家无需记忆命令,直接说人话即可
- 🤖 自动路由:AI 自动判断应该调用哪个 Skill
- 🔗 多步骤编排:复杂任务自动分解为多个有序步骤
- 💡 智能总结:LLM 综合分析所有结果,生成友好回复
📊 两种任务模式
模式 1:单意图快速路径(简单查询直接执行)
适用于简单的信息查询,零额外开销:
玩家: 钻石多少钱?
↓
AI 识别: 单意图 → market_query.query_price
↓
执行: 查询价格 API
↓
回复: 钻石当前价格:$100.00
其他常见单意图场景:查询物品、查看状态、获取时间等。
模式 2:多步骤任务编排(复杂任务自动分解)
当用户的请求需要多个 Skill 配合完成时,AI 会自动规划执行顺序:
玩家: 帮我查一下钻石的价格,如果不超过 100 就看看我的余额够不够买 10 个
↓
AI 识别: 多步骤任务
├─ 步骤 1: market_query.query_price (查询钻石价格)
├─ 步骤 2: market_query.query_balance (查询玩家余额)
└─ 步骤 3: LLM 综合分析 (对比价格和余额,给出建议)
↓
最终回复:
[Kilacraft-AI]
已为你查询:
• 钻石价格:$80.00/个
• 你的余额:$12,580
💡 分析:购买 10 个钻石需要 $800,你的余额充足,完全可以购买!
需要我帮你下单吗?
⚙️ 配置灵活可控
agent:
enabled: true # 总开关(优先级最高)
enable_chat_listener: true # 关键词触发是否启用 Agent
enable_command: true # /kilacraft 命令是否启用 Agent
# 历史对话上下文配置
intent_history_count: 5 # 意图识别时使用 5 轮历史
analysis_history_count: 2 # 结果分析时使用 2 轮历史
prompts:
system_prompt: "你是一个专业的 Minecraft 游戏助手..."
analysis_prompt: "{results}\n请根据以上对话历史、当前输入、执行结果,给出综合性的分析和建议。"
配置说明:
intent_history_count: 帮助 LLM 理解"再查一下那个物品"等指代性表达analysis_history_count: 让 LLM 在分析结果时参考对话上下文,使回复更自然- 可通过关闭
enable_chat_listener或enable_command在特定入口禁用 Agent 能力
4️⃣ 插件命令模式 + 人格系统(高级功能)
插件命令模式是 Kilacraft-AI 为第三方插件集成设计的专用接口,允许其他插件通过控制台以指定的人格调用 AI。
核心设计理念:
插件命令模式不是给服主手动执行的命令,而是供第三方插件在代码或配置中调用的 API 接口。
📋 基本用法
/kilacraft plugins <人格名称> <消息内容> <玩家 UUID> [回调命令...]
参数说明:
<人格名称>:在personalities.yml中定义的人格(如狐狸、严厉教师)<消息内容>:要发送给 AI 的消息<玩家 UUID>:目标玩家的 UUID[回调命令...]:可选但强烈推荐,AI 完成后自动执行的命令(支持{response}占位符)
重要特性:
- 🔒 仅限控制台执行:玩家无法直接使用此命令
- 🌐 独立历史记录:每个
UUID_人格组合独立 - ⏱️ 专用冷却时间:使用
plugins_cooldown_seconds配置(默认 3 秒) - 💬 回调命令支持:AI 完成后自动执行,
{response}替换为实际回复
💡 典型应用场景
NPC 智能对话(最常见用途):让 MythicMobs NPC 拥有不同性格,与玩家自然交流。
# MythicMobs 技能配置示例
fox_npc_skill:
Skills:
- cmd{c="kilacraft plugins 狐狸 服务器的规则是什么 <caster.uuid> myplugin handle_ai {response} <caster.name>"} @self
工作流程:
玩家右键点击 "狐狸 NPC"
↓
插件执行控制台命令
↓
AI 生成回复(异步,约 2-5 秒)
↓
自动执行回调命令:/myplugin handle_ai "嘻嘻~ 服务器规则很简单哦!✨..." 玩家名
↓
你的插件接收并显示:
[NPC 狐狸] 嘻嘻~ 服务器规则很简单哦!✨
💡 提示:如果你是第三方插件开发者,建议先阅读 插件命令模式详解 文档,了解完整的集成流程和最佳实践。
5️⃣ 经济系统集成(GlobalMarketPlus)(扩展功能)
让你的市场插件“会说话”!通过自然语言查询市场信息。
玩家: 钻石多少钱?
AI: [Kilacraft-AI] 钻石当前价格:$100.00/个
玩家: 我还有多少余额?
AI: [Kilacraft-AI] 你的余额:$12,580
玩家: 市场上有什么商品?
AI: [Kilacraft-AI] 当前在售商品列表:
• 钻石 x15 - $100.00/个
• 铁锭 x32 - $20.00/个
• ...
特色功能:
- ✅ 自然语言理解:“买 5 个木棍”自动识别物品和数量
- ✅ 多物品联合查询:“钻石:2,木棍:1”一次查多个
- ✅ 最优价格计算:从便宜到贵智能组合
- ✅ 库存不足提示:显示所有在售详情
安全说明:
- 📖 只读操作:MarketQuerySkill 仅查询信息,不会消耗物品或金钱
- 🔒 权限控制:每个动作都有独立的权限节点
- 🛡️ 错误隔离:执行出错不影响其他功能
6️⃣ Bukkit API 动态调用(37 个内置 API)(扩展功能)
无需写代码,AI 直接调用原版 API 查询玩家状态、世界信息、服务器信息!
玩家: 我手上拿着什么?
AI: [Kilacraft-AI] 你主手拿着:钻石剑 x1
玩家: 我还有多少血?
AI: [Kilacraft-AI] 生命值:18.5/20.0
玩家: 现在是什么时间?
AI: [Kilacraft-AI] 世界时间:06:00(早晨)
玩家: 天气怎么样?
AI: [Kilacraft-AI] 当前天气:晴朗
玩家: 服务器上有多少人在线?
AI: [Kilacraft-AI] 在线玩家:15/100
支持的 API 类别:
- 📦 玩家物品栏:主手/副手物品查询
- ❤️ 玩家状态:生命值、饥饿值、氧气、经验、睡眠、攻击冷却、着火、冰冻、挂机
- 📍 玩家信息:位置坐标、游戏模式、飞行状态、Ping 值、载具、死亡点
- 🌍 世界信息:时间、天气、世界类型、种子、出生点、高度限制、生物生成规则、PVP 设置
- 🖥️ 服务器信息:在线玩家、最大人数、版本、MOTD、世界列表
权限精细控制:
# 可通过权限插件(如 LuckPerms)控制每个玩家/组的访问权限
kilacraft.api.player.inventory # 物品栏查询
kilacraft.api.player.status # 状态查询
kilacraft.api.player.info # 基础信息查询
kilacraft.api.world.info # 世界信息查询
kilacraft.api.server.info # 服务器信息查询
安全说明:
- 📖 只读操作:GenericBukkitAPISkill 仅调用 getter 方法,不修改任何数据
- 🔒 权限控制:每个 API 都有独立的权限节点
- 🛡️ 错误隔离:执行出错不影响其他功能
⚙️ 快速开始(5 分钟上手)
第一步:安装插件
- 下载
Kilacraft-AI-1.4.2.jar - 放入服务器
plugins/目录 - 启动服务器,等待生成配置文件
第二步:配置 API 密钥
编辑 plugins/Kilacraft-AI/config.yml:
llm:
api_url: "https://api.deepseek.com/v1/chat/completions"
api_key: "sk-your-api-key-here" # ← 填入你的 API Key
model: "deepseek-chat"
temperature: 0.7
max_tokens: 1000
获取 API Key:
- DeepSeek: https://platform.deepseek.com/
- 智谱 AI: https://open.bigmodel.cn/
- Moonshot: https://platform.moonshot.cn/
💡 提示:只需修改
api_url和model即可切换不同厂商,无需改代码!
第三步:重载配置
修改配置后,有两种方式使配置生效:
方式 1:使用重载命令(推荐)
/kilacraft reload # 重载主配置和语言配置
方式 2:重启服务器
/restart # 或完全重启服务器
💡 提示:如果只是修改了
config.yml或language.yml,使用/kilacraft reload即可,无需重启服务器。如果修改了知识库或人格配置,需要使用对应的专用重载命令(见下方命令列表)。
第四步:测试对话
/kila 你好
如果看到 AI 回复,恭喜!配置成功!🎉
📊 性能与资源占用
内存占用对比
| 方案 | 内存占用 | 中间件依赖 | 适用服务器规模 |
|---|---|---|---|
| Kilacraft-AI | 8-50 MB(动态) | 无 | 所有规模 |
| LangChain + Vector DB | 2-5 GB | Redis, PostgreSQL, Elasticsearch | 大型商业服 |
| 自建 RAG 系统 | 1-3 GB | MySQL, Redis | 中大型服 |
💡 说明:Kilacraft-AI 的内存占用根据知识库规模和在线玩家数量动态变化。小型服务器通常仅需 8-12 MB,大型服务器约 30-50 MB。详见下方详细评估。
对话历史内存评估
max_history: 10(默认)
每轮对话 ≈ 200 字符 ≈ 0.2 KB
每条消息包含 role + content 字段,实际约 0.3-0.4 KB
100 个活跃玩家 × 20 条 × 0.4 KB = 800 KB
1000 个活跃玩家 × 20 条 × 0.4 KB = 8 MB
结论:即使千人在线,对话历史占用也不到 10 MB!
优化建议:
- ✅ 调整
max_history可控制每个玩家的内存占用 - ✅ 玩家退出后历史记录保留在内存中(重启清空)
- ✅ 使用
/kilacraft clear可手动清除历史记录
🎮 完整命令列表
| 命令 | 权限 | 说明 |
|---|---|---|
/kilacraft <消息> |
无 | 与 AI 对话 |
/kila <消息> |
无 | 简写命令 |
/ai <消息> |
无 | 简写命令 |
/zm <消息> |
无 | 简写命令 |
/kilacraft chat |
无 | 进入/退出连续对话模式 |
/kilacraft clear |
kilacraft.clear.self |
清除自己的对话历史 |
/kilacraft clear <玩家> |
kilacraft.clear.other |
清除指定玩家的历史 |
/kilacraft reload |
kilacraft.reload |
重载主配置和语言配置 |
/kilacraft knowledge reload |
kilacraft.knowledge |
重载知识库 |
/kilacraft personalities reload |
kilacraft.personalities |
重载人格配置 |
/kilacraft plugins <人格> <内容> <UUID> [回调] |
控制台专用 | 第三方插件调用(支持回调命令) |
🚀 生态扩展:邀请开发者共建 AI Agent 生态
🌈 愿景
我们坚信:每个 Minecraft 插件都应该能与 AI 对话!
Kilacraft-AI 通过开放的 Skill SPI 接口,让第三方插件开发者可以轻松将自己的功能暴露给 AI Agent,实现:
- 💬 自然语言交互:玩家无需记忆复杂命令,直接用语言描述需求
- 🤖 智能意图识别:AI 自动理解玩家意图并调用对应功能
- 🔗 多步骤任务编排:跨插件功能组合,实现复杂工作流
📚 开发者资源
- SPI 接入文档:Kilacraft-AI-Skill-SPI-接入文档.md
- API JAR:
Kilacraft-Skill-API-1.4.2.jar(仅 5 KB,compileOnly 依赖) - 示例代码:文档中包含完整的 Hello World 和 PlayerStats 示例
🎯 适合集成的插件类型
| 插件类型 | 示例 Skill | 用户场景 |
|---|---|---|
| 经济系统 | 余额查询、转账、商店购买 | “帮我转 100 块给 Steve” |
| 领地系统 | 查询领地、创建领地、添加成员 | “我的领地有多大?” |
| 排行榜 | 财富排行、在线时长排行 | “谁是服务器首富?” |
| RPG 系统 | 查询技能等级、任务进度 | “我的挖矿等级是多少?” |
| 公会系统 | 公会信息、成员列表 | “我们公会有多少人?” |
| 成就系统 | 成就进度、未完成成就 | “我还有哪些成就没完成?” |
| 世界管理 | 区块信息、传送管理 | “传送到主城” |
🤝 联系我们
如果你是插件开发者,欢迎:
- 阅读 SPI 文档,了解接入方式(5 分钟即可上手)
- 为你的插件开发 Skill,让玩家能用自然语言调用你的功能
- 提供反馈,帮助我们改进 Kilacraft-AI
- 在社区分享,帮助更多服主了解 AI Agent 的价值
🏆 已集成的插件
- ✅ GlobalMarketPlus:经济系统深度集成(余额、价格、商品查询)
- ✅ Bukkit API:37 个原版 API 动态调用(玩家状态、世界信息、服务器信息)
- ✅ MythicMobs:占位符支持(NPC 显示 AI 回复)
期待你的插件成为下一个! 🎉
🤝 支持与贡献
💖 支持项目开发
如果 Kilacraft-AI 帮助到了你,可以考虑支持项目的持续发展:
- 爱发电 - 支持微信/支付宝
你的支持将用于:
- 🚀 持续的功能更新与性能优化
- 🐛 Bug 修复与稳定性提升
- 📚 文档完善与教程制作
- 💬 社区支持与问题解答
感谢每一位支持者!🙏
没有评论