PaperChat

一个PaperMC插件,让服务器用户可以玩Minecraft,并内置LLM!

资源图片
# PaperChat - AI 驱动的 Minecraft 插件 PaperChat 是一个 Minecraft 服务器插件,它将 AI 语言模型直接集成到 Minecraft 中。它允许玩家向 AI 助手发送消息并快速获得答案,从而创建由 Google Gemini 和 OpenAI 模型提供支持的自然对话体验,并且可以添加您自己的模型! PaperChat 专为 PaperMC 服务器设计,它为每个玩家维护对话历史记录,并提供 Minecraft 玩家与现代 AI 功能之间的无缝桥梁。 ## 项目理念 PaperChat 遵循“自行运行”的理念。通过要求您提供自己的 AI API 凭据和本地部署,您可以获得: - 无速率限制 - 您的 API 密钥,您的使用配额 - 完整隐私 - 玩家对话永远不会离开您的基础设施 - 完全控制 - 自定义 AI 行为、系统提示和响应过滤 - 无依赖 - 除了 AI 提供商本身之外,无需任何外部服务 ## 功能 - **多提供商 AI 支持**: 自动注册 Google Gemini 和 OpenAI 提供商,并且易于扩展 - **持久的对话历史记录**: 每个玩家的聊天会话,并具有可配置的历史限制 - **智能错误处理**: 具有自动响应恢复的对用户友好的错误消息 - **可配置的系统提示**: 定义 AI 行为和响应格式规则 - **输入验证**: 字符限制 - **异步处理**: 非阻塞的 AI 请求以保持服务器性能 - **Docker 准备就绪**: 完整的容器化部署,包含 Minecraft 服务器 ## 配置 PaperChat 通过环境变量配置: | 变量 | 描述 | 值 | |----------|-------------|-------| | `PAPERCHAT_API_KEY` | 您的 AI 提供商 API 密钥 | `your-api-key`(仅由您的提供商需要。如果 AI 提供商不需要 API 密钥,您可以留空) | | `PAPERCHAT_MAX_HISTORY` | 每个玩家保存的最大历史请求数 | 会话历史记录限制 | | `PAPERCHAT_PROVIDER` | 可用 AI 提供商之一 | AI 提供商(更多信息请参见 [**可用提供商**](#available-providers)) | | `PAPERCHAT_MODEL` | 提供商提供的任何 LLM | 使用的模型(仅由您的提供商需要。如果 AI 提供商不需要设置模型,您可以留空) | | `PAPERCHAT_TEMPERATURE` | 响应创造力 (0.0-1.0) | 0.7 | | `PAPERCHAT_TIMEOUT` | 请求超时时间,单位为秒 | 30 | | `PAPERCHAT_MAX_INPUT_CHARACTERS` | 最大输入消息长度 | 100 | | `PAPERCHAT_MAX_OUTPUT_TOKENS` | 最大响应长度 | 4096 | | `PAPERCHAT_SYSTEM_PROMPT` | AI 行为的自定义系统提示 | 您的自定义提示(留空使用默认系统提示) | 或者位于 `data/plugins/PaperChat/` 目录中的 `config.yml` 文件: ```yaml ai: api-key: "" # 如果您的提供商不需要 API 密钥,您可以留空 provider: "google" model: "gemini-2.5-flash" # 如果您的提供商不需要模型参数,您可以留空。但是,目前只有 HackClub 提供商才支持这样做 temperature: 0.7 timeout: 30 max-output-tokens: 4096 system-prompt: "" # 在此处包含您的自定义系统提示 # 注意:在此处设置系统提示将覆盖当前提示 # 如果留空,将使用默认系统提示 # 聊天配置 chat: max-history: 5 max-input-characters: 100 ``` `config.yml` 中的配置与环境变量匹配。如果两者都设置,则环境变量优先。