Skip to content

ddaodan/minechatgpt

Repository files navigation

MineChatGPT

minechatgpt
modrinth-gallery spigot paper java8
GitHub Release bStats Servers bStats Players Modrinth Downloads Spiget Downloads

在Minecraft中与ChatGPT交流
理论支持全版本,欢迎测试

所有的代码都是ChatGPT写的哦

功能

  • OpenAPI格式
  • 自定义模型
  • ChatGPT反代
  • 指令补全
  • 上下文对话
  • 多角色
  • Folia支持

安装

  1. 下载插件,放在plugins文件夹中
  2. 重启服务器

为兼容更多版本,插件没有规定Bukkit API version,因此在较高版本加载插件时,控制台可能会出现以下错误信息,这属于正常现象。

[Server thread/WARN]: Initializing Legacy Material Support. Unless you have legacy plugins and/or data this is a bug!
[Server thread/WARN]: Legacy plugin MineChatGPT v1.0 does not specify an api-version.
  1. 打开配置文件config.yml,修改以下两项设置:
# API 相关设置
api:
  # 你的 OpenAI API key,用于身份验证
  # 获取 API key 的方法:访问 https://platform.openai.com/account/api-keys 并创建一个新的 API key
  key: "sk-your_openai_api_key"
  # OpenAI API 的基础 URL,用于构建请求
  base_url: "https://api.openai.com/v1"
  1. 在控制台中输入/chatgpt reload重新加载配置文件

截图

  • 服务端截图(Spigot 1.20.1)
  • 插件截图
  • 对话截图(使用FastGPT训练的自定义知识库)

配置文件config.yml

# API 相关设置
api:
  # 你的 OpenAI API key,用于身份验证
  # 获取 API key 的方法:访问 https://platform.openai.com/account/api-keys 并创建一个新的 API key
  key: "sk-your_openai_api_key"
  # OpenAI API 的基础 URL,用于构建请求
  base_url: "https://api.openai.com/v1"
# 支持的模型列表
models:
  # OpenAI ChatGPT
  - "gpt-3.5-turbo"
  - "gpt-3.5-turbo-instruct"
  - "gpt-4"
  - "gpt-4-turbo"
  - "gpt-4-turbo-preview"
  - "gpt-4o"
  - "gpt-4o-mini"
  # Google Gemini
  # - "gemini-pro"
  # - "gemini-1.5-pro"
  # Anthropic Claude
  # - "claude-3-opus"
  # - "claude-3-5-sonnet"
  # 以及更多...
# 默认使用的模型
default_model: "gpt-3.5-turbo"
# 连续对话设置
conversation:
  # 连续对话开关
  context_enabled: false
  # 最大历史记录保留数量
  max_history_size: 10
# 角色设置
characters:
  # 格式:
  # 角色名称: "角色提示词"
  ChatGPT: "You are a helpful assistant."
# 消息相关设置
messages:
  reload: "&a已重新加载配置文件!"
  clear: "&a对话历史已清空!"
  help: "&e===== MineChatGPT 帮助 ====="
  help_ask: "&e/chatgpt <text> - 向ChatGPT提问"
  help_reload: "&e/chatgpt reload - 重新加载配置文件"
  help_model: "&e/chatgpt model <model_name> - 切换至其他模型"
  help_modellist: "&e/chatgpt modellist - 可用的模型列表"
  help_context: "&e/chatgpt context - 切换连续对话模式"
  help_clear: "&e/chatgpt clear - 清空对话历史"
  help_character: "&e/chatgpt character [character_name] - 列出或切换角色"
  context_toggle: "&e连续对话模式已%s。"
  context_toggle_enabled: "&a开启"
  context_toggle_disabled: "&c关闭"
  current_model_info: "&e当前模型:%s,输入 /chatgpt model <model_name> 来切换模型。"
  model_switch: "&a已切换至模型 %s"
  chatgpt_error: "&c无法联系ChatGPT。"
  chatgpt_response: "&b%s: %s"
  question: "&b你: %s"
  character_switched: "&a已切换至角色: %s"
  available_characters: "&e可用的角色列表:"
  invalid_character: "&c无效的角色。使用 /chatgpt character 查看所有可用的角色。"
  invalid_model: "&c模型无效。使用 /chatgpt modellist 查看可用模型。"
  available_models: "&e可用模型列表:"
  no_permission: "&c你没有权限使用这个指令。需要的权限:%s"
# 如果你不知道这是什么,请不要动
debug: false

指令与权限

指令 权限 描述
/chatgpt minechatgpt.use 查看插件帮助
/chatgpt <text> minechatgpt.use 向ChatGPT提问
/chatgpt reload minechatgpt.reload 重新加载配置文件
/chatgpt model <model_name> minechatgpt.model 切换至其他模型
/chatgpt modellist minechatgpt.modellist 查看可用的模型列表
/chatgpt context minechatgpt.context 切换连续对话模式
/chatgpt clear minechatgpt.clear 清空对话历史
/chatgpt character [character_name] minechatgpt.character 列出或切换角色

兼容的版本

只列出经过测试的版本

服务端 支持情况
Luminol 1.21 ✔ 支持
Mohist 1.20.1 ✔ 支持
Spigot 1.20.1 ✔ 支持
Spigot 1.12.2 ✔ 支持
KCauldron 1.7.10 × 不支持

常见问题

提问后显示Failed to contact ChatGPT. 无法联系ChatGPT。

检查控制台输出的错误内容。

提问后控制台有connect timeout connect reset等类似的提示

检查config.yml中的base_url能否正常访问。如果你无法连接到OpenAI官方的API地址,可以考虑使用其他反代。

我可以添加其他模型吗?

可以,只要模型支持OpenAI的API,就可以使用。

我没有ChatGPT的账号,可以用吗?

可以,目前有很多代理网站,可以很轻松地使用,而且还支持其他模型,费用通常来说也会比官方便宜。如果你愿意,也可以使用我的代理,目前仅在我的QQ群:226385797中提供。

是否会支持Folia

理论上插件可以在Folia上运行,但插件的代码并没有针对Folia进行过优化,因此可能会有一些问题。如果你愿意,可以尝试使用Folia运行插件,但不保证插件可以正常运行。

赞助

统计

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages