关于 Poké-Battle
Poké-Battle 是基于 FastAPI 和 Python 的 Pokémon 游戏,包含回合制对战,并由 Anthropic Claude 生成战斗解说、招式建议和个性设定,适合想在捕捉与对战中体验 AI 生成内容的玩家。
主要功能
- 01捕捉随机 Pokémon
- 02进行回合制对战
- 03生成 AI 战斗解说
- 04获取 AI 招式建议
- 05创建 Pokémon 个性设定
- 06通过 WebSocket 更新游戏状态
适用场景
- 01捕捉 Pokémon 组建队伍
- 02与随机对手进行对战
- 03在战斗中获取招式建议
- 04查看为捕获的 Pokémon 生成的背景故事
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Poké-Battle
这是一款使用 FastAPI 和 Python 构建的宝可梦游戏,借助 Anthropic 的 Claude AI 生成精彩的战斗描述和攻击建议,并为捕获的宝可梦赋予独特个性。
技术栈
- 后端: FastAPI、Uvicorn(ASGI 服务)
- AI 集成: Anthropic 的 Claude API、自定义 AI 服务(
ai_server.py)和客户端(ai_client.py) - 外部 API: PokeAPI
- 前端: HTML、CSS、JavaScript(由 FastAPI 提供)
- 依赖项: python-dotenv、httpx、websockets、Jinja2
设置说明
-
克隆代码库:
git clone <repository_url> cd <repository_directory> -
创建虚拟环境:
python -m venv .venv -
激活虚拟环境:
- Windows:
.venv\Scripts\activate - macOS 和 Linux:
source .venv/bin/activate
- Windows:
-
安装依赖项:
pip install -r requirements.txt -
设置 Anthropic API 密钥:
- 在根目录中创建名为
.env的文件。 - 按以下格式添加 Anthropic API 密钥:
ANTHROPIC_API_KEY=your_api_key_here
注意: 为确保安全,建议使用托管环境提供的环境变量管理 API 密钥,而不是将其存储在
.env文件中,尤其是在生产环境中。 - 在根目录中创建名为
-
运行 AI 服务: 在项目根目录中打开终端并运行:
uvicorn ai_server:app --reload --port 8000 -
运行主游戏服务: 在项目根目录中打开一个新终端(如有需要,请激活虚拟环境),然后运行:
uvicorn server:app --reload --port 8080 -
在浏览器中打开游戏: 访问
http://localhost:8080
项目结构
server.py:处理游戏逻辑并提供前端的主 FastAPI 应用。ai_server.py:处理与 Anthropic API 通信的 FastAPI 应用。ai_client.py:server.py用于与ai_server.py通信的 Python 客户端库。index.html:主要的前端 HTML 文件。static/:静态资源目录(CSS、JavaScript、图像——目前目录中仅有此目录)。requirements.txt:列出 Python 依赖项。api.env:用于加载 API 密钥的环境文件(应添加到.gitignore)。.gitignore:指定 Git 应忽略的有意不跟踪的文件。
功能
- 捕捉宝可梦: 捕捉随机宝可梦来组建队伍。
- 宝可梦对战: 与随机对手宝可梦进行回合制对战。
- AI 战斗描述: 由 Anthropic 的 Claude 生成对战行动的精彩解说。
- AI 攻击建议: 获取 AI 对对战中最佳招式的建议。
- AI 宝可梦个性: 每只捕获的宝可梦都会获得独特的 AI 生成个性特征或背景故事。
- 实时更新: 通过 WebSocket 更新游戏状态和消息。
- 响应式 UI: 对 UI 进行基本调整,以便更好地展示捕获的宝可梦。
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。