mirror of
https://github.com/ddaodan/minechatgpt.git
synced 2025-02-18 15:54:13 +08:00
153 lines
6.9 KiB
Markdown
153 lines
6.9 KiB
Markdown
# MineChatGPT
|
||

|
||
   
|
||
    
|
||
|
||
在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.
|
||
> ```
|
||
3. 打开配置文件`config.yml`,修改以下两项设置:
|
||
```yaml
|
||
# 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"
|
||
```
|
||
4. 在控制台中输入`/chatgpt reload`重新加载配置文件
|
||
|
||
## 截图
|
||
- 服务端截图(Spigot 1.20.1)
|
||

|
||
- 插件截图
|
||

|
||
- 对话截图(使用FastGPT训练的自定义知识库)
|
||

|
||
## 配置文件`config.yml`
|
||
```yaml
|
||
# 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运行插件,但不保证插件可以正常运行。
|
||
## 赞助
|
||
[](https://afdian.com/a/ddaodan)
|
||
## 统计
|
||
[](https://bstats.org/plugin/bukkit/MineChatGPT/22635) |