FlorrVLM-Agent
Uses YOLO for real-time visual perception to detect and track game entities, providing the visual input for the agent's decision-making.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@FlorrVLM-AgentCheck the game screen, predict entity movements, and advise fight or retreat."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
🎮 Universal-Game-Framework
不是 Agent —— 是装到别的 Agent 身上的「游戏能力包」(MCP 服务)
把它注册进任意支持 MCP 的客户端(Kilo / Codex / OpenCode / WorkBuddy / Claude Desktop), 那个 Agent 就立刻拥有 看画面 → 预判 → 评估 → 出动作 → 查/写知识库 → 复盘 一整套游戏能力。
融合 YOLO 视觉识别 + MCP 标准协议,从 Florr.io 出发,目标是通用到所有游戏: detect 问游戏 → research 查资料 → ensure 确认能力 → play 开玩 → report 汇报
🚀 三分钟装上别的 Agent:见 docs/MCP_INSTALL.md | 一条命令:
python tools/install_mcp.py --target workbuddy
⚠️ 声明:仅用于本地 AI 智能体技术研究。在 florr.io 官方服务器运行 bot 违反游戏服务条款,可能导致账号封禁。
目录
Related MCP server: Pokemon MCP Server
🚀 装到你的 Agent 上(MCP)
三分钟,让任何一个支持 MCP 的 Agent 获得游戏能力。
方式 A:装包(推荐)
pip install universal-game-framework
ugf-install --list # 看能装到哪些客户端
ugf-install --target workbuddy # 装进 WorkBuddy
ugf-mcp # 起服务(stdio)
ugf-check # 装不上时先体检方式 B:从源码
cd Universal-Game-Framework
python3 -m venv venv && source venv/bin/activate
pip install -r requirements.txt
python tools/install_mcp.py --list # 看能装到哪些客户端
python tools/install_mcp.py --target workbuddy # WorkBuddy
python tools/install_mcp.py --target opencode # OpenCode
python tools/install_mcp.py --target custom --path /绝对路径/mcp.json装完在客户端的「连接器 / MCP 设置」里把 ugf 设为信任,重启即可调用。
完整接入说明见 docs/MCP_INSTALL.md,可照抄的调用链见 docs/MCP_EXAMPLES.md。
传输 | 用法 | 场景 |
stdio(默认) |
| 单个客户端,最省事 |
streamable-http |
| 多个客户端同时接入 |
第一次接入先调
ugf_guide,它会把能力、工具清单、调用链一次性讲清楚。
✨ 核心能力
下面这些能力通过 MCP 提供给接入的 Agent;本仓库自带的 CLI 与监控大盘只是调试件,不是门面。
能力 | 说明 |
🎬 视频学习 | 解析教程视频,VLM 逐帧提取战术写入知识库 |
🔮 全实体预判 | 同时预判 BOSS / 精英 / 小怪未来 1.2s 位置,带置信度 |
⚔️ 战斗评估 | 自身实力 vs 敌方威胁,动态决定 fight / cautious / retreat |
🧠 动态心态 | 面对不同怪物 + 自身实力,自动切换保守 / 均衡 / 激进 |
👥 组队协同 | 识别队友套装,自动分工:输出 / 辅助 / 掩护 |
🕹️ 拟人操作 | 移动抖动 + 随机停顿 + 路径微扰,降低脚本感 |
🧠 BOSS 记忆 | 每 12s 批量记录 BOSS 行为习惯到知识库 |
📝 死亡复盘 | 连续 8 帧判定死亡( |
💬 对话指挥 |
|
🎚️ 自动调参 | 按命中率 / 死亡数自动微调战斗阈值,热加载生效 |
🧩 Skill + 外部 MCP | 能接技能包、主动连外部 MCP,能力按需装配 |
🎮 游戏档案化 | 一款游戏一份 YAML 档案,切换游戏零改核心 |
📊 监控大盘 | 本地网页实时看指标卡 / BOSS 预判 / 日志 / 资源占用 |
🔔 自动汇报 | 每局结束自动出报告,可推送本地 / Webhook |
💾 导入导出 | 知识库打包备份 / 一键恢复,知识本地化可迁移 |
📦 多平台安装包 | Linux .deb / 便携版 / Windows EXE / Android APK |
🔬 稀有度体系
Common < Unusual < Rare < Epic < Legendary < Mythic < Ultra < Super < Unique = Eternal
实体类型 | 对应稀有度 |
| Unique / Eternal(紧急避险) |
| Super |
| Ultra / Mythic / Legendary / Epic |
| Rare / Unusual / Common |
🏗️ 当前架构
┌────────────────────────────────────────────────────────────┐
│ agent_cli.py 对话 / 命令行指挥 │
│ detect → brief → research → ensure → play → report │
└──────────────┬──────────────────────────────┬─────────────┘
▼ ▼
┌──────────────┐ ┌──────────────────┐
│ MCP Server │ │ MCP Client │
│ 对外暴露工具 │ │ 主动接外部服务 │
└──────┬───────┘ └────────┬─────────┘
│ │
┌──────▼────────┐ ┌────────▼─────────┐
│ game_profiles │◄──热加载──►│ 核心引擎(通用) │
│ 游戏档案(YAML) │ │ 感知/预判/评估/执行 │
└───────────────┘ └──────────────────┘🎮 主界面:设置 → 游戏模式
浏览器打开监控大盘后,顶部有两个入口:
入口 | 路径 | 作用 |
⚙ 设置 |
| 查看运行模式、切换游戏档案、查看 MCP 注册信息 |
🎮 打开游戏模式 |
| 一键试跑 / 停止、实时看回合、死亡、决策、威胁预判与日志 |
python admin_panel.py # 或 python launcher.py --ui auto
# 打开 http://127.0.0.1:5002 → ⚙ 设置 → 🎮 打开游戏模式游戏模式里的「试跑 20 轮(dry-run)」不会操作真实键鼠,只跑完整链路,用来确认接线和配置没问题;确认无误后再关掉 dry-run 上真机。
(面板监听 0.0.0.0,但 /api/game/start|stop|switch 三个控制接口只接受本机 127.0.0.1 访问,局域网无法起停进程。)
🔌 作为 MCP 服务被其他 Agent 调用
mcp_server.py 以 stdio 形式对外暴露 16 个工具,可直接注册进任意支持 MCP 的客户端:
{
"mcpServers": {
"ugf": {
"command": "<你的 venv>/bin/python",
"args": ["/绝对路径/Universal-Game-Framework/mcp_server.py"],
"env": { "UGF_DRY_RUN": "1" }
}
}
}本项目已写入本机 ~/.workbuddy/mcp.json(服务名 ugf);在连接器管理页把它设为信任后即可被其他 Agent 调用。
⚙️ 快速开始(调试用 CLI / 大盘)
本节是本地调试用的:自带的对话 CLI、主循环、监控大盘。 如果你只是想让别的 Agent 获得游戏能力,请回到 🚀 装到你的 Agent 上(MCP)。
# 1. 安装依赖
python3 -m venv venv && source venv/bin/activate
pip install -r requirements.txt
# 2. 配置 API
cp .env.example .env # 填入 LLM / VLM 密钥
# 3. 启动感知服务(需 florr_powerful_tools 的 YOLO)
python perception_server.py
# 4. 进入对话 CLI(另一终端)
python agent_cli.py # 交互式;help 看全部命令
python agent_cli.py -c report # 或跑单条命令统一启动入口(推荐,v2.0 S11):
python launcher.py # 自动挑一个能跑的 UI(大盘 > Tk > CLI)
python launcher.py --ui panel # 强制用监控大盘(主 UI)
python launcher.py --ui tk # 强制用 Tk 离线备选
python launcher.py --ui cli # 直接进命令行(永可用)
python launcher.py --dry-run --mock # 离线演示:不碰键鼠 + 合成感知
python launcher.py --ui auto --selftest # 只探测并打印选择结果(CI 用)四套前端已收敛:admin_panel.py(纯标准库,主 UI)+ ui_tkinter.py(离线备选);
ui/legacy/ui_pyqt.py、ui/legacy/ui_streamlit.py 已归档,仅在显式 --ui pyqt|streamlit 时拉起。
一条命令拉起整套:
bash start_all.sh # 感知 + MCP + Agent 主循环 + 面板
bash stop_all.sh # 优雅停止监控面板:浏览器打开 http://127.0.0.1:5002(页面「运行模式」卡片显示在线/dry-run 与感知后端)
🧪 离线模式与自测
没有实机、没有 X server、没有 API 密钥,也能把整条链路跑通 —— 冲刺期间所有验证都在这种条件下完成:
开关 / 参数 | 作用 |
| 键鼠动作只记录不执行,明细落 |
| 感知服务改出合成场景(5 实体 + 1 队友,坐标恒定在场内) |
| 只探测不启动: |
|
|
UGF_DRY_RUN=1 python agent_main.py --rounds 5 # 主循环离线跑 5 轮
python perception_server.py --selftest # 感知自检(无 YOLO 自动降级 mock)
python launcher.py --ui auto --selftest # UI 可用性探测 + 选择结果
python tools/cli_smoke.py --strict # CLI 31 条命令矩阵
python tools/mcp_tools_check.py --strict # MCP 15 工具注册 / 调用 / 知识库往返✅ 验证状态
本节只写真正跑过的结论。凡标注「未验证」的,均需实机 / 联网环境才能确认 —— 不做任何推测性宣称。
一条命令门禁
bash scripts/check.sh # 全量 7 环节(约 4 分钟)
bash scripts/check.sh --fast # 秒级:语法 + 启动自检 + 档案校验七个环节(S21 起 MCP 工具核对与 CLI 冒烟纳入门禁,M 阶段起安装契约也纳入):
1 语法编译 → 2 启动自检 → 3 游戏档案 → 4 单元测试 → 5 MCP 工具核对 → 6 CLI 全命令冒烟 → 7 MCP 安装契约。
退出码即失败环节编号,任一环节失败即整体非零。
运行模式可观测(S21):
python agent_cli.py -c mode # 模式 / 感知后端 / LLM / VLM / 激活游戏口径统一由 config.runtime_mode() 提供,大盘与 CLI 都从这里取,不存在第二套解析。
已实测(离线,冲刺窗口 2026-09-21 ~ 09-22)
项 | 结论 | 复核命令 |
Python 语法 | 全仓库 |
|
单元测试 | 987 用例全绿 |
|
启动自检 | 本机 ERROR 0 / WARN 6,每条附「修复 + 降级」指引 |
|
游戏档案 | florr / space_invaders 两份 |
|
MCP 工具 | 16 个工具可注册 / 可调用 / schema 正确 + 知识库往返保真 |
|
CLI | 31 条命令矩阵,0 traceback、0 卡死 |
|
主循环 | 离线 5 轮跑通:感知 → 预判 → 决策 → 动作 → 记忆 → 复盘 → 汇报 |
|
统一启动器 | UI 探测 / 选择 / 离线开关透传全部可验 |
|
运维脚本 | 启停 dry-run 零副作用;日志轮转与临时清理已沙箱实测 |
|
未验证(受本机环境限制,非代码缺陷)
能力 | 阻塞原因 | 降级方式 |
真实 LLM / VLM 决策 | 无 | 走 |
真实截图 + YOLO 感知 | 无 X server、无模型权重 | 感知自动降级到 mock 后端 |
键鼠实际操作 | 无 GUI | dry-run 只记录不执行 |
联网教程检索 / Webhook 推送 | 无外部 MCP、无网络 | 注入假 |
容器镜像构建 | 本机无 docker | 仅静态口径对齐 + headless 替换 |
GUI 真实渲染(Tk / PyQt / Streamlit) | 无 X server / 未安装 | 仅验证可用性与命令构造 |
冲刺全记录见 devplan/PROGRESS.md,阶段计划见 devplan/PLAN.md,运维口径见 devplan/OPS.md。
📦 安装包
python tools/build_dist.py all # Linux .deb + 便携版Windows EXE / Android APK 见 packaging/README.md。
🧩 MCP 工具(16 个)
类别 | 工具 |
📚 知识库 |
|
👁️ 感知 |
|
🕹️ 动作 |
|
🧹 维护 |
|
📖 手册 |
|
📁 文件结构
Universal-Game-Framework/
├── agent_cli.py # 对话指挥入口(交互 + -c 单命令)
├── agent_main.py # MCP Client 主循环
├── mcp_server.py # MCP 服务端
├── mcp_connector.py # 外部 MCP 连接
├── predictor.py # 全实体运动预判
├── combat_judge.py # 战斗评估 / 套装 / 组队 / 心态
├── perception_server.py # YOLO 感知 HTTP 服务
├── video_learner.py # 视频学习
├── video_sources.py # 视频来源
├── session.py # 会话记忆
├── report_notifier.py # 自动汇报
├── kb_maintainer.py # 知识库压缩 / 归档 / 导入导出
├── auto_tuner.py # 自动调参
├── game_profile_check.py # 档案自检
├── boot_check.py / watchdog.sh / Dockerfile / florr-agent.service.example # 稳定性
├── launcher.py # 统一启动入口(v2.0:自动选 UI + 离线开关透传)
├── admin_panel.py # 监控大盘(主 UI,纯标准库)
├── ui_tkinter.py # 离线备选 UI
├── ui/legacy/ # 已归档:ui_pyqt.py / ui_streamlit.py(DEPRECATED)
├── cli_ui.py # 终端界面
├── config.py / config.yaml # 参数 + 热加载
├── ui_tkinter.py # 离线备选 UI
├── ui/legacy/ # 已归档:ui_pyqt.py / ui_streamlit.py(DEPRECATED)
├── cli_ui.py # 终端界面
├── game_profiles/ # 游戏档案:florr.yaml / space_invaders.yaml
├── skills/ # 技能包
├── tools/ # add_game.py / build_dist.py / cli_smoke.py / mcp_tools_check.py / static_audit.py
├── tests/ # 30 个测试文件(987 用例,离线可跑)
├── scripts/check.sh # 一条命令门禁
├── devplan/ # PLAN / PROGRESS / AUDIT / OPS / TOOLS / PROFILE_SPEC / DIRECTION
├── packaging/ # Windows EXE / Android APK 构建
├── start_all.sh / stop_all.sh / watchdog.sh # 一键启停 + 看门狗
├── knowledge_md/ # 自动创建,MD 知识库
├── knowledge_archive/ # 自动创建,超限归档区
└── run_logs/ # 自动创建,回合日志 / 汇报 / dry-run 动作明细🗺️ 路线图(Roadmap)
版本 | 主题 | 状态 |
v0.1 ~ v0.9 | 从 Florr 初版 → 完整 MCP / Skill / 游戏档案化 | 代码已落地 ✅ --- 实机未验证 ⚠️ |
v1.0 | 稳定底座版:对话指挥 + 接 MCP + Skill + 一键部署 | 代码已落地 ✅ --- 实机未验证 ⚠️ |
v1.1 ~ v1.9 | 监控大盘 / 自动汇报 / 档案登记 / 会话记忆 / 战绩 / 定时汇报 / 档案自检 / 安装包 | 代码已落地 ✅ --- 实机未验证 ⚠️ |
🚧 v2.0 | 地基做实:可导入 / 可离线跑通 / 有测试 / 有门禁 / 文档与代码一致 | 进行中(S1~S13 见 PROGRESS) |
⚠️ 口径说明:v0.1~v1.9 的「已完成」指功能代码已存在且通过离线单测/冒烟,不代表在真实 Florr.io 对局中验收过 —— 真实 LLM 决策、截图感知、键鼠操作在本机均无条件实测。判定依据见上方 验证状态。
📚 完整开发计划见 ROADMAP.md | 原理与部署详解见 PROJECT_SUMMARY.md | 冲刺进度见 devplan/PROGRESS.md
路线:从 Florr.io 专用,走向通用游戏 Agent — 持续进化中 🚀
This server cannot be deployed
Maintenance
Related MCP Connectors
Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer
Official MCP server for Agentwork — delegate tasks to AI agents with human-in-the-loop
MCP server for Flux AI image generation
Cloud-hosted MCP server for durable AI memory
Related MCP Servers
- AlicenseBqualityDmaintenanceA Minecraft MCP Server powered by Mineflayer API. It allows to control a Minecraft character in real-time, allowing AI assistants to build structures, explore the world, and interact with the game environment through natural language instruction82241 npm754Apache 2.0
- FlicenseNot gradedqualityDmaintenanceAn MCP server that enables AI agents to play Pokémon games by providing a functional interface for game interaction. It allows for seamless integration with AI clients to execute gameplay tasks and manage game states.3-
- AlicenseBqualityFmaintenanceMCP server for Vynn — self-improving AI workflows & backtesting.21MIT
- AlicenseBqualityCmaintenanceA local MCP server that gives AI agents structured task planning, execution tracking, and guided research workflows.168 npmMIT