使用说明
项目简介
ChatDM 是一个使用 Spring AI MCP 框架构建的 Dungeon and Dragons (D&D) 游戏辅助服务器。它旨在作为大型语言模型 (LLM) 客户端的后端,提供各种工具和资源,以增强 AI 在 D&D 游戏中的体验。通过 ChatDM,LLM 可以访问预言、骰子、DM 日志和难度等级查询等功能,从而实现更丰富和动态的单人或多人 D&D 游戏体验。
主要功能点
- 预言 (Oracles): 提供各种预言工具,例如“是/否”预言和随机表格,帮助 LLM 应对游戏中不确定的情况和生成创意。预言数据来源于可自定义的 YAML 或 JSON 文件。
- DM 日志 (DM Journal): 允许 LLM 写入和读取 DM 日志,用于记录游戏进程、关键信息和故事情节,帮助 AI 保持游戏上下文的记忆和连贯性。
- 骰子 (Dice Roller): 集成骰子滚动工具,支持 D&D 5e 规则的骰子表达式,例如 'd20+7',方便 LLM 在游戏中进行各种检定和战斗。
- 难度等级查询 (Difficulty Class Lookup): 提供难度等级 (DC) 查询工具,根据技能或属性,返回建议的 DC 表格,辅助 LLM 设定合理的挑战难度。
- 游戏初始化 (DM Setup): 提供游戏初始化工具,允许玩家设定初始提示和游戏背景,引导 LLM 进入 D&D 游戏情境。
- MCP 资源和 Prompt: 通过 MCP 协议向客户端声明和提供 DM 日志资源和游戏初始化 Prompt,方便客户端集成和调用。
安装步骤
- 环境准备: 确保已安装 JDK 17 或更高版本,以及 Maven。
- 下载代码: 从 GitHub 仓库 https://github.com/cote/chatdm 下载源代码。
- 编译项目: 在项目根目录下,使用 Maven 命令 'mvn clean install' 编译项目。
- 运行服务器: 编译成功后,在项目根目录下,使用命令 'mvn spring-boot:run' 启动 ChatDM 服务器。服务器默认监听端口为 8080。
服务器配置
ChatDM 服务器作为 MCP 服务器,需要配置到 MCP 客户端中才能使用。以下是一个 MCP 客户端配置示例,用于连接 ChatDM 服务器。
{ "servers": [ { "name": "ChatDM Server", "command": "mvn", "args": [ "spring-boot:run" ], "description": "ChatDM MCP Server for D&D game", "transport": "stdio", "enabled": true } ] }
配置参数说明:
- 'name': 服务器名称,可以自定义,例如 "ChatDM Server"。
- 'command': 启动服务器的命令,这里使用 Maven Spring Boot 插件启动,所以设置为 "mvn"。
- 'args': 启动命令的参数,'spring-boot:run' 表示运行 Spring Boot 应用。注意: 此配置假定您在 MCP 客户端启动时,当前工作目录是 ChatDM 项目的根目录,并且已经成功编译项目。实际部署时,您可能需要调整 'command' 和 'args' 以适应您的环境,例如直接运行打包后的 Jar 文件。
- 'description': 服务器描述,方便在客户端界面识别。
- 'transport': 传输协议,这里使用 'stdio' (标准输入输出)。
- 'enabled': 是否启用该服务器,设置为 'true' 表示启用。
更实际的部署配置 (示例,假设已打包成 Jar 文件 'chatdm.jar'):
{ "servers": [ { "name": "ChatDM Server", "command": "java", "args": [ "-jar", "target/chatdm.jar" ], "description": "ChatDM MCP Server for D&D game", "transport": "stdio", "enabled": true } ] }
配置参数说明:
- 'args': 启动命令的参数调整为 '-jar target/chatdm.jar',表示运行 'target' 目录下的 'chatdm.jar' 文件。注意: 您需要先使用 'mvn clean package' 命令将项目打包成 Jar 文件。 同样,此配置也假定 MCP 客户端启动时,当前工作目录是 ChatDM 项目的根目录。
基本使用方法
- 启动 ChatDM 服务器: 按照安装步骤启动 ChatDM 服务器。
- 配置 MCP 客户端: 将上述服务器配置 JSON 添加到您的 MCP 客户端配置中,确保客户端能够连接到 ChatDM 服务器。
- 在 MCP 客户端中使用工具和 Prompt: 连接成功后,您可以在 MCP 客户端中看到 ChatDM 提供的工具 (例如 'ChatDM_rollDice', 'ChatDM_oracle', 'ChatDM_writeDMJournalEntry') 和 Prompt (例如 'ChatDM_PlayDnD_Customized')。 根据工具和 Prompt 的描述,在客户端中调用它们,以辅助您的 D&D 游戏。例如,您可以让 AI 使用 'ChatDM_rollDice' 工具来掷骰子,使用 'ChatDM_oracle' 工具来获取游戏灵感,或者使用 'ChatDM_writeDMJournalEntry' 工具来记录 DM 日志。 使用 'ChatDM_PlayDnD_Customized' Prompt 可以初始化 D&D 游戏,并向 AI 提供额外的游戏指示。
注意: ChatDM 主要通过工具和 Prompt 与 LLM 客户端交互,本身没有用户界面。您需要在支持 MCP 协议的 LLM 客户端中使用它,例如 Anthropic Claude 桌面应用 (如果支持 MCP 插件)。
信息
分类
AI与计算