• 欢迎加入MineBBS QQ讨论群:点击查看所有的官方讨论群
  • 我们将于近期对服务器进行迁移,服务可能中断至多2日。请各位安排好自己的访问计划,造成不便敬请谅解!
  • MineBBS入站考试已经上线!想要成为【正式会员】解锁更多功能吗?快来参与吧!【点我去看】
ArkShield-AI-基于 AI 大模型的 Minecraft 聊天违禁词检测插件

原创 开源 反作弊 ArkShield-AI-基于 AI 大模型的 Minecraft 聊天违禁词检测插件 1.0.0

请登录后获取
版权类型
原创
插件中文名称
方舟之盾
插件英文名称
ArkShield-AI
原帖地址
https://github.com/DreamArk-Studio/ArkShield-AI
支持的核心(服务端)
  1. Spigot
  2. Paper
  3. Purpur
语言支持
中文(简体)
适配版本(Java)
  1. 最新版本

ArkShield-AI​


基于 AI 大模型的 Minecraft 聊天违禁词检测插件


简介​

ArkShield-AI 是一款适用于 Minecraft Purpur 1.21.1 服务器的聊天内容审核插件。通过接入 AI 大模型(默认 DeepSeek),对玩家发送的聊天消息进行智能违禁词检测,支持三级检测力度、自动禁言、管理员手动禁言等功能。

功能特性​


  • AI 智能检测 — 基于大语言模型分析聊天内容,比传统关键词匹配更准确
  • 三级检测力度 — 简易 / 普通 / 严格,可在配置文件或命令中切换
  • 异步不阻塞 — AI 请求异步执行,不影响服务器 TPS
  • 自动禁言 — 达到违规次数阈值自动禁言,支持配置时长和阈值
  • 管理员手动禁言/解禁 — 命令控制,灵活管理
  • 结果缓存 — 相同消息不重复请求 AI,减少 API 调用
  • 日志记录 — 被拦截消息可输出到控制台和日志文件
  • 管理员通知 — 被拦截消息实时通知在线管理员
  • 权限系统 — 支持 bypass 权限绕过检测

环境要求​


项目要求
服务端Purpur 1.21.1
JavaJDK 21
构建工具Maven


快速开始​


1. 构建​

mvn clean package

构建产物位于 target/ArkShield-AI-1.0.0.jar

2. 部署​

ArkShield-AI-1.0.0.jar 复制到服务器的 plugins/ 目录下,重启服务器。

3. 配置 API Key​

首次启动后会自动生成 plugins/ArkShield-AI/config.yml,编辑其中的 ai.api-key 字段:
ai:
base-url: "https://api.deepseek.com/v1"
api-key: "sk-your-api-key-here" # 替换为你的真实 API Key
model: "deepseek-chat"


支持任何 OpenAI 兼容接口,只需修改 base-urlapi-key 即可。

4. 重启服务器​

配置完成后重启服务器,插件即可生效。

命令​


命令说明权限
/arkshield reload重载配置文件arkshield.admin
/arkshield status查看插件运行状态arkshield.admin
/arkshield level <1|2|3>设置检测等级arkshield.admin
/arkshield mute <玩家> [时长]手动禁言玩家(时长单位:分钟)arkshield.admin
/arkshield unmute <玩家>手动解除玩家禁言arkshield.admin


权限节点​


权限说明默认
arkshield.admin允许使用管理命令OP
arkshield.bypass绕过 AI 聊天检测false


检测等级​


等级名称检测范围
1简易暴力威胁、色情内容、严重人身攻击
2普通+ 种族歧视、恶意刷屏(默认)
3严格+ 广告推广、政治敏感、消极引导、侮辱性用语


配置文件说明​

配置文件路径:plugins/ArkShield-AI/config.yml
# AI 接口配置
ai:
base-url: "https://api.deepseek.com/v1" # API 地址
api-key: "sk-your-api-key-here" # API 密钥
model: "deepseek-chat" # 模型名称
enable-thinking: false # 思考模式(仅 reasoner)
timeout: 15 # 请求超时(秒)

# 检测等级(1/2/3)
level: 2

# 禁言配置
mute:
enabled: true # 开启自动禁言
violation-threshold: 3 # 触发禁言所需违规次数
duration-minutes: 10 # 禁言时长(分钟)
violation-reset-minutes: 60 # 违规计数重置时间(分钟)

# 消息配置(支持 & 颜色代码)
messages:
blocked: "&c[ArkShield] &f你的消息包含不当内容,已被拦截。"
admin-alert: "&e[ArkShield] &f玩家 &c%player% &f发送了被拦截的消息: &7%message%"

# 管理员通知
admin-notify:
enabled: true
permission: "arkshield.admin"

# 日志配置
logging:
log-to-console: true
log-to-file: true
log-file: "blocked_messages.log"

# 缓存配置
cache:
enabled: true
expire-minutes: 30
max-size: 1000



工作流程​

代码:
玩家发送消息[/BGCOLOR]
[BGCOLOR=rgb(38, 44, 54)]    │
    ├── 有 bypass 权限? ──→ 直接放行
    │
    ├── 被禁言中? ──→ 拦截并提示剩余时间
    │
    ├── 发送者立即看到自己的消息
    │
    ├── 异步发送 AI 检测请求
    │       │
    │       ├── AI 返回正常 ──→ 消息广播给其他玩家
    │       │
    │       └── AI 返回违禁 ──→ 拦截消息
    │               ├── 通知玩家
    │               ├── 通知管理员
    │               ├── 记录日志
    │               ├── 记录违规次数
    │               └── 达到阈值? ──→ 自动禁言
    │
    └── AI 请求异常 ──→ 默认放行(不影响聊天)


文件结构​

代码:
ArkShield-AI/[/BGCOLOR]
[BGCOLOR=rgb(38, 44, 54)]├── pom.xml
├── README.md
└── src/main/
    ├── java/com/arkshield/ai/
    │   ├── ArkShieldAI.java           # 插件主类
    │   ├── command/
    │   │   └── ArkShieldCommand.java  # 管理命令
    │   ├── config/
    │   │   └── ConfigManager.java     # 配置管理
    │   ├── listener/
    │   │   └── ChatListener.java      # 聊天事件监听
    │   └── service/
    │       ├── AIService.java         # AI 接口服务
    │       ├── HeartbeatService.java  # 心跳上报服务(用于使用者数量统计)
    │       └── MuteService.java       # 禁言管理服务
    └── resources/
        ├── config.yml                 # 默认配置
        └── plugin.yml                 # 插件描述


许可证​

本项目基于 MIT 许可证 开源。
Copyright © 2026 筑梦方舟网络科技工作室
作者
星雲Nebulae
价格
50.00金粒
下载
4
查看
216
首次发布
最后更新

评分

0.00 星 0 次评分

星雲Nebulae 的其他资源

后退
顶部 底部