MoFox-Bot 的 Web 管理控制台,提供可视化的机器人管理界面。
- 📊 实时数据监控: 消息统计、插件状态、系统资源监控
- 🔌 插件管理: 查看、启用/禁用插件,可视化编辑配置
- 🛒 插件市场: 浏览、搜索、安装社区插件
- 🎭 表情包管理: 管理和组织表情包资源
- 👥 人物关系管理: 可视化管理角色关系
- 💬 聊天室功能: 实时聊天和消息广播
- 📝 日志查看器: 实时查看系统日志
- 🔄 一键更新 WebUI: 在界面内直接检查和更新到最新版本
- 🔄 一键更新主程序: 通过 Git 自动更新 MoFox-Bot 主程序
- 📦 自动安装依赖: 更新后自动检测并安装新增依赖
- 🔙 版本回滚: 支持回滚到历史版本
- 🛡️ 备份保护: 更新前自动备份,安全无忧
- 📱 响应式设计: 支持桌面和移动端访问
- 🔐 安全认证: 基于 API Key 的访问控制
- 🔍 服务发现: 自动发现主程序的 IP 和端口
- 🤖 每日自动构建: GitHub Actions 每日自动构建最新版本
这是最简单的安装方式,安装后可在 WebUI 界面内一键更新。
# 进入 MoFox-Bot 插件目录
cd <MoFox-Bot安装目录>/plugins
# 克隆 webui-dist 分支(预编译版本)
git clone -b webui-dist https://github.com/MoFox-Studio/MoFox-Core-Webui.git webui_backend# 进入 MoFox-Bot 插件目录
cd <MoFox-Bot安装目录>/plugins
# 克隆 webui-dist 分支(预编译版本)
git clone -b webui-dist https://github.com/MoFox-Studio/MoFox-Core-Webui.git webui_backend编辑插件配置文件 plugins/webui_backend/config/config.toml:
# --- 插件API密钥认证 ---
# 用于访问需要认证的插件API的有效密钥列表
# 如果列表为空,则所有需要认证的API都将无法访问
# 例如: ["your-secret-key-1", "your-secret-key-2"]
plugin_api_valid_keys = ["your-secret-api-key-here"]重要说明:
- 请将
your-secret-api-key-here替换为您自己的密钥(建议使用随机字符串) - 可以配置多个密钥,例如:
["key1", "key2", "key3"] - 这个密钥将用于登录 WebUI,请妥善保管
- 如果列表为空
[],则无法登录 WebUI
- 重启 MoFox-Bot
- 打开浏览器访问:http://localhost:12138
- 使用您配置的 API Key 登录
✅ 搞定! 后续更新只需在 WebUI 设置页面点击「检查更新」即可。
安装完成后,WebUI 自带自动更新功能,无需手动操作。
- 登录 WebUI
- 进入 设置 → 系统更新
- 点击 检查更新
- 如有新版本,点击 立即更新
更新过程会自动:
- 从 GitHub 拉取最新代码
- 备份当前版本(支持回滚)
- 应用更新并刷新页面
WebUI 还支持更新 MoFox-Bot 主程序:
- 进入 设置 → 系统更新
- 在「主程序更新」部分点击 检查更新
- 确认后点击 执行更新
更新后会自动:
- 检测 Python 虚拟环境类型(venv/conda)
- 安装新增的依赖包
- 提示重启主程序
如果无法使用 Git,可以手动下载:
- 访问 webui-dist 分支
- 点击 Code → Download ZIP
- 解压到
plugins/webui_backend/
⚠️ 此方式安装后无法使用 WebUI 内置的自动更新功能。
适合需要修改前端代码的开发者:
# 克隆完整仓库
git clone https://github.com/MoFox-Studio/MoFox-Core-Webui.git
# 后端:复制 backend 到插件目录
cp -r backend <MoFox-Bot>/plugins/webui_backend
# 前端:启动开发服务器
cd forward/mofox-webui
npm install
npm run dev
# 访问开发版:http://localhost:11451┌─────────────────────────────────────────────────────────────────┐
│ 用户浏览器 │
│ http://localhost:12138 │
└──────────────────────────┬──────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ 发现服务器 (端口 12138) │
│ • 托管静态文件 (static/) │
│ • GET /server-info → 返回主程序地址 │
└──────────────────────────┬──────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ MoFox-Bot 主程序 │
│ │
│ /plugin-api/webui_backend/ │
│ ├── /auth 认证接口 │
│ ├── /stats 统计数据 │
│ ├── /plugins 插件管理 │
│ ├── /config 配置管理 │
│ ├── /marketplace 插件市场 │
│ ├── /ui-update WebUI 更新 │
│ ├── /git-update 主程序更新 │
│ └── ... │
└─────────────────────────────────────────────────────────────────┘
WebUI 使用 Git 实现自动更新:
- 检查更新:
git fetch获取远程最新提交 - 版本对比: 比较本地和远程的 commit hash
- 执行更新:
git pull拉取最新代码 - 备份回滚: 记录更新前的 commit,支持
git checkout回滚
webui_backend/ # 插件目录(安装后的结构)
├── __init__.py # 模块入口
├── plugin.py # 主插件类
├── discovery_server.py # 发现服务器 + 静态文件托管
├── static/ # 编译好的前端静态文件
│ ├── index.html
│ └── assets/
├── adapters/ # 适配器组件
├── apis/ # 外部 API 集成
├── handlers/ # 生命周期处理器
├── models/ # 数据模型
├── plugins/ # 子插件
├── routers/ # API 路由
│ ├── auth_router.py # 认证接口
│ ├── stats_router.py # 统计数据
│ ├── plugin_router.py # 插件管理
│ ├── config_router.py # 配置管理
│ ├── marketplace_router.py # 插件市场
│ ├── ui_update_router.py # WebUI 更新
│ ├── git_update_router.py # 主程序更新
│ ├── log_viewer_router.py # 日志查看
│ ├── chatroom_router.py # 聊天室
│ └── ...
├── storage/ # 数据存储
└── utils/ # 工具函数
└── update/ # 更新相关
├── git_detector.py # Git 环境检测
├── git_installer.py # Git 安装器
├── git_updater.py # Git 更新器
├── ui_version_manager.py # UI 版本管理
└── venv_utils.py # 虚拟环境工具
插件配置文件:plugins/webui_backend/config/config.toml
# 插件基本配置
[plugin]
enable = true # 是否启用插件
# 发现服务器配置
[discovery]
host = "0.0.0.0" # 绑定地址
port = 12138 # 固定端口
# 认证配置
[auth]
api_keys = ["your-api-key"] # API 密钥列表
session_timeout_minutes = 1440 # 会话超时(分钟)
# 主程序服务器配置
[main_server]
host = "127.0.0.1" # 主程序地址
port = 8000 # 主程序端口- API Key 验证: 所有接口都需要在请求头中携带
X-API-Key - 固定发现端口: 仅发现服务使用固定端口 12138
- CORS 配置: 支持跨域访问
- 会话管理: 可配置会话超时时间
- Vue 3 + TypeScript - 类型安全的渐进式框架
- Vite - 下一代前端构建工具
- Vue Router + Pinia - 路由和状态管理
- ECharts - 数据可视化
- FastAPI + Uvicorn - 高性能 Python Web 框架
- MoFox Plugin System - 插件系统集成
- 后端插件系统
- 服务发现机制
- 用户认证
- 仪表盘统计
- 插件管理
- 插件市场
- 配置编辑器
- 响应式布局
- 静态文件托管
- WebUI 自动更新
- 主程序自动更新
- 依赖自动安装
- 版本回滚
- 实时日志查看
- 聊天室功能
- 表情包管理
- 人物关系管理
- 消息历史查看
- 定时任务管理
GitHub Actions 每日自动构建:
- 触发时间: 每天 UTC 00:00(北京时间 08:00)
- 触发条件: 代码变更时触发,无变更则跳过
- 发布分支:
webui-dist(预编译版本) - 版本格式:
Build: vYYYY.MMDD.HHMM
手动触发:在 GitHub Actions 页面点击 "Run workflow"
欢迎提交 Issue 和 Pull Request!
本项目采用 GPL3 许可证。详见 LICENSE 文件。