转载请注明插件作者:ENA

闲得没事搞的插件,拙技见笑


Githubhttps://github.com/Enashpinal/GPTforMC

简介

GPTforMC是一个基于 Spigot 服务端的插件,支持1.13+,为你的服务器接入DeepSeek或ChatGPT,支持自定义 API 接口地址、系统提示词、控制 AI 行为等。玩家在聊天时发送带有指定触发词的消息即可触发对话。

管理员可以创建不同模型、身份的 AI,根据设定的触发词响应玩家的消息,允许每个 AI 使用不同的配置。

使用方法

将插件放入plugins文件夹,启动一次服务器。

编辑config.yml,设置 API 接口和 Key(免费Key获取:https://github.com/chatanywhere/GPT_API_free)

命令

创建AI(权限:gpt.create)          /gpt create <名称>

删除AI(权限:gpt.admin或gpt.remove)          /gpt remove <名称>

AI列表(权限:gpt.use 或 gpt.admin)                   /gpt list

清除记忆(权限:gpt.edit 或 gpt.admin)       /gpt clearmemory <名称>

设置AI配置(权限:gpt.edit 或 gpt.admin)    /gpt set <名称> <选项> <值>

    示例:/gpt set Deepseek top_p 0.5 —— 将名称为Deepseek的AI核采样设为0.5

               /gpt set Deepseek trigger ds 2 —— 为Deepseek添加触发词“ds”及其优先级

                /gpt set Deepseek prompt system 0 You are a friendly AI assistant —— 

在Deepseek的提示词列表索引0插入提示词,内容为 You are a friendly AI assistant。

               /gpt set Deepseek model gpt-4o —— 将Deepseek的模型ID改为gpt-4o

设置全局配置(权限:gpt.config 或 gpt.admin) /gpt set <名称> <选项> <值> (使用方法同上,但无全局触发词和提示词)

重载配置(权限:gpt.admin)        /gpt reload(若无法重载请尝试/reload)

显示帮助(无权限节点)                 /gpt help

配置文件

config.yml(全局配置)

# GPTforMC 插件配置文件
# 配置插件的全局设置,AI 独立配置默认继承全局配置

# OpenAI 配置
openai:
  # API 请求的 URL 地址
  # 推荐使用Chatanywhere免费转发API,支持deepseek-1/deepseek-v3/gpt-3.5-turbo/gpt-4o-mini等模型
  api-url: "https://api.openai.com/v1/chat/completions"

  # OpenAI API 密钥
  api-key: "sk-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"

  # 默认使用的 OpenAI 模型英文 ID
  model: "gpt-4o-mini"

  # API 请求的超时时间(ms)
  # 范围: 1000 - 30000,建议值: 10000
  timeout: 10000

  # 最大记忆轮次
  # 控制 AI 保留的对话历史记录条数(每条记录包括用户输入和 AI 回复)
  # 范围: 0 - 20,0 表示不保留记忆
  memory_rounds: 4

  # 控制 AI 回答的随机性
  # 范围: 0.0 - 2.0,值越高回答越随机,值越低回答越固定
  temperature: 0.7

  # 核采样参数,控制生成内容的多样性
  # 范围: 0.0 - 1.0,值越低越倾向于高概率词汇
  top_p: 1.0

  # 最大生成 Token 数
  # 控制 AI 回答的长度,1 Token 约为 0.75 个英文单词或 1-2 个中文字符
  max_tokens: 500

  # 话题新鲜度惩罚
  # 范围: -2.0 - 2.0,值越高越
  presence_penalty: 0.0

  # 频率惩罚度
  # 范围: -2.0 - 2.0,值越高越减少重复词汇
  frequency_penalty: 0.0

  # 是否强制添加提示词
  force_system_prompt: true

  # AI 消息的默认颜色代码
  # 使用 Minecraft 颜色代码
  # 参考: https://minecraft.fandom.com/wiki/Formatting_codes
  message_color: "&a"

  # 玩家消息的格式化模板
  # 占位符: {player} 表示玩家名称,{message} 表示玩家消息
  message_format: "用户{player}说:{message}"

# 权限组配置
permission-groups:
  # 默认玩家组(普通玩家)
  default:
    # 允许创建的最大 AI 数量
    # 范围: 0 - 无限制,0 表示禁止创建
    max-ai: 0

    # 是否允许创建 AI
    gpt.create: false

    # 是否允许删除 AI
    gpt.remove: false

    # 是否允许编辑 AI 设置
    gpt.edit: false

    # 是否允许修改全局配置
    gpt.config: false

    # 是否允许使用 AI(触发 AI 回复)
    gpt.use: true

    # 是否具有管理员权限(可操作所有 AI)
    gpt.admin: false

    # 是否绕过 AI 数量限制
    gpt.bypass: false

  # 管理员组
  admin:
    # 允许创建的最大 AI 数量
    max-ai: 100

    # 是否允许创建 AI
    gpt.create: true

    # 是否允许删除 AI
    gpt.remove: true

    # 是否允许编辑 AI 设置
    gpt.edit: true

    # 是否允许修改全局配置
    gpt.config: true

    # 是否允许使用 AI
    gpt.use: true

    # 是否具有管理员权限
    gpt.admin: true

    # 是否绕过 AI 数量限制
    gpt.bypass: true

ai_data.yml(AI独立配置,默认有一个AI)

# GPTforMC AI 单独配置文件

GPT-4o-mini:
  # AI名称,唯一标识此AI配置
  message_format: 用户{player}说:{message}
  # 玩家消息的格式化模板,{player} 表示玩家名称,{message} 表示消息内容
  max_tokens: 500
  presence_penalty: 0.0
  max_memory: 4
  timeout: 300000
  top_p: 1.0
  force_system_prompt: true
  message_color: '&a'
  frequency_penalty: 0.0
  # 以上字段同全局配置
  trigger_words:
    # 触发 AI 回复的关键词列表
    - priority: 1
      # 触发优先级,值越大越优先调用此 AI(1 - 100)
      word: gpt
      # 触发词,玩家消息中包含此词触发 AI 对话
    - priority: 5
      word: ChatGPT
  temperature: 0.7
  # 控制 AI 回答随机性
  model: gpt-4o-mini
  # 使用的 AI 模型 ID(如 gpt-4o-mini, gpt-4)
  prompts:
    # 预设提示词列表,若 force_system_prompt 为 true 则将系统提示词强制添加到记忆
    - role: system
      # 系统提示词,定义 AI 行为
      content: 你是一个AI智能助手,名叫gpt
    - role: user
      # 用户消息,模拟用户输入
      content: Hello, gpt!
    - role: assistant
      # AI 回复,模拟 AI 输出
      content: Hello! How can I assist you today?
  memories: []
  # AI 的对话记忆,存储用户和 AI 的历史对话,默认为空
  allow_default_edit: false
  # 是否允许默认权限组(普通玩家)编辑或删除此AI,默认为false(仅管理员创建的AI)

下载插件

https://enanetdisk.pages.dev/?file=%2Fdisk%2FMinecraftPlugins%2FGPTforMC-1.0.jar