Skip to content

MoFox-Bot WebUI 使用指南

欢迎来到 MoFox-Bot 的 Web 管理控制台!这份指南会手把手教你如何部署和使用这个可视化管理界面,让你告别纯命令行的操作方式,轻松管理你的机器人。

零、WebUI 是什么?能干啥?

MoFox-Bot WebUI 是一个基于 Web 的可视化管理控制台,让你通过浏览器就能完成对机器人的各种操作。再也不用对着黑乎乎的终端窗口发呆了!

✨ 主要功能

核心功能

  • 📊 实时数据监控:一目了然地查看消息统计、插件状态、系统资源使用情况
  • 🔌 插件管理:查看所有插件、启用/禁用插件、查看和编辑插件配置
  • 🛒 插件市场:浏览、搜索、安装社区开发的各类插件
  • ⚙️ 配置管理:可视化编辑各种配置文件,不用再手动改 TOML 了
  • 📱 响应式设计:无论是电脑还是手机,都能流畅访问
  • 🔐 安全认证:基于 API Key 的访问控制,保护你的机器人

自动更新功能(懒人福音 🎉):

  • 🔄 一键更新 WebUI:点一下按钮就能更新到最新版,告别手动下载
  • 🔄 一键更新主程序:MoFox-Bot 主程序也能一键更新
  • 📦 自动安装依赖:更新后自动帮你装好新增的依赖包
  • 🔙 版本回滚:更新翻车了?没关系,一键回滚到之前的版本
  • 🛡️ 备份保护:更新前自动备份,安全无忧

更多好玩的功能

  • 🎭 表情包管理:管理和组织你的表情包资源
  • 👥 人物关系管理:可视化管理角色之间的关系
  • 💬 聊天室:实时聊天和消息广播功能
  • 📝 日志查看器:实时查看系统日志,debug 不再抓瞎

后端提供的能力

  • 🔍 服务发现:自动发现 MoFox-Bot 主程序的 IP 和端口
  • 🌐 API 代理:发现服务器自带代理功能,前端请求统一走 12138 端口
  • 🔑 身份验证:严格的 API Key 验证机制
  • 📡 RESTful API:标准化的数据接口
  • 🔌 深度集成:直接调用 MoFox-Bot 插件系统的各种 API

一、开始之前:你需要准备什么

在开始部署 WebUI 之前,请确认以下条件:

  1. MoFox-Bot 主程序:已经正确安装并能正常运行
  2. Git:用于克隆仓库和后续自动更新(强烈推荐!)
  3. Node.js 环境(可选):只有开发者才需要,普通用户不用管

没有 Git?

如果你的电脑上没有 Git,可以从 Git 官网 下载安装。Windows 用户推荐使用安装包,一路下一步就行。装好 Git 之后,你就能享受一键更新的快乐了!

二、最简单的安装方式(强烈推荐!)

这是 2026 年了,我们当然要用最省心的方式!一行命令搞定,还支持自动更新,不香吗?

2.1 克隆预编译版本

打开终端(Windows 用 PowerShell,Mac/Linux 用 Terminal),进入 MoFox-Bot 的插件目录:

Windows PowerShell

powershell
# 进入插件目录(把路径换成你自己的)
cd E:\delveoper\mmc010\plugins

# 克隆 webui-dist 分支(预编译版本,开箱即用)
git clone -b webui-dist https://github.com/MoFox-Studio/MoFox-Core-Webui.git webui_backend

Linux / macOS

bash
# 进入插件目录
cd /path/to/mofox-bot/plugins

# 克隆 webui-dist 分支
git clone -b webui-dist https://github.com/MoFox-Studio/MoFox-Core-Webui.git webui_backend

为什么是 webui-dist 分支?

这个分支包含了已经编译好的前端文件,你不需要安装 Node.js,不需要 npm install,不需要 npm run build。克隆下来就能直接用,懒人专属!

而且最重要的是——支持一键更新!以后有新版本,在 WebUI 界面里点一下就行,不用再手动下载了。

2.2 配置 API Key

首次安装后,编辑机器人配置文件:

config/bot_config.toml

找到 [plugin_http_system] 部分,设置你的 API Key:

toml
[plugin_http_system]
# 总开关,用于启用或禁用所有插件的HTTP端点功能
enable_plugin_http_endpoints = true # 确保它的值为true

# ==================== 安全相关配置 ====================
# --- 插件API密钥认证 ---
# 用于访问需要认证的插件API的有效密钥列表
# 如果列表为空,则所有需要认证的API都将无法访问
# 例如: ["your-secret-key-1", "your-secret-key-2"]
plugin_api_valid_keys = [
    "secret-key-1", # 替换成你自己的密钥(用于登录 WebUI)
]

安全提醒

API Key 就像你家的钥匙,千万别把它写在公开的地方或分享给不信任的人!

建议使用随机生成的长字符串,比如:

  • Windows PowerShell:[System.Guid]::NewGuid().ToString()
  • Linux/Mac:openssl rand -hex 32

2.3 启动并访问

  1. 重启 MoFox-Bot(如果正在运行的话)
  2. 打开浏览器,访问:http://localhost:12138
  3. 用你刚才配置的 API Key 登录

恭喜你!🎉

如果看到了登录界面,说明安装成功了!以后更新只需要展开侧边栏找到「更新管理」就行,是不是超级简单?

三、自动更新功能使用指南

这可能是整个 WebUI 最香的功能了——一键更新

3.1 找到更新管理

更新功能的入口非常好找:

  1. 登录 WebUI
  2. 看左侧边栏,往下滑
  3. 找到 「更新管理」 菜单项,点进去

你会看到三个标签页:

  • UI 更新:更新 WebUI 前端和后端
  • 主程序:更新 MoFox-Bot 主程序
  • Git 设置:配置 Git 相关选项

3.2 更新 WebUI(前端 + 后端)

  1. 进入「更新管理」页面
  2. 默认就在「UI 更新」标签页
  3. 点击 「检查更新」 按钮
  4. 如果有新版本,点击 「立即更新」

更新过程全自动:

  • 从 GitHub 拉取最新代码
  • 自动备份当前版本(万一翻车可以回滚)
  • 应用更新并刷新页面

更新失败了?

别慌!WebUI 在更新前会自动备份,你可以在「历史版本」中选择回滚到之前的版本。

3.3 更新 MoFox-Bot 主程序

没错,WebUI 还能帮你更新主程序!

  1. 进入「更新管理」页面
  2. 点击 「主程序」 标签页
  3. 点击 「检查更新」
  4. 确认更新内容后,点击 「执行更新」

更新后会自动:

  • 检测你的 Python 虚拟环境类型(venv 还是 conda)
  • 自动安装新增的依赖包
  • 提示你重启主程序

3.4 分支管理

在「主程序」标签页,你可以看到「分支管理」功能:

  • 当前分支:显示主程序当前所在的分支(比如 dev
  • 切换分支:可以切换到其他分支,比如切换到稳定版分支

小提示

dev 分支是开发分支,有最新功能但可能不太稳定。如果追求稳定,建议切换到主分支。

注意

主程序更新或切换分支后需要重启 MoFox-Bot 才能生效哦!

3.5 版本回滚

万一更新后出现问题,别担心:

  1. 进入「更新管理」页面
  2. 在「历史版本」部分可以看到之前的版本
  3. 找到想要回滚的版本,点击 「回滚」

一切恢复如初,就像什么都没发生过一样~

四、其他安装方式

如果你因为某些原因不能使用 Git,或者你是开发者需要修改代码,这里还有其他选择。

方式二:手动下载 ZIP(不支持自动更新)

不推荐

这种方式安装后无法使用一键更新功能,每次更新都要手动下载,适合网络环境特殊的用户。

  1. 访问 webui-dist 分支
  2. 点击绿色的 Code 按钮 → Download ZIP
  3. 解压到 plugins/webui_backend/ 目录
  4. 配置 API Key(参考 2.2)
  5. 重启 MoFox-Bot

方式三:开发者模式

适合需要修改前端代码的开发者。这种方式需要安装 Node.js 环境。

bash
# 克隆完整仓库(包含源码)
git clone https://github.com/MoFox-Studio/MoFox-Core-Webui.git

# 复制后端到插件目录
cp -r backend /path/to/mofox-bot/plugins/webui_backend

# 进入前端目录
cd forward/mofox-webui

# 安装依赖
npm install

# 启动开发服务器
npm run dev

# 访问开发版:http://localhost:11451

开发模式 vs 生产模式

特性开发模式(11451端口)生产模式(12138端口)
需要 Node.js✅ 是❌ 否
热重载✅ 支持❌ 不支持
自动更新❌ 不支持✅ 支持
资源占用
适用场景前端开发调试日常使用

五、工作原理:它是怎么运作的?

理解 WebUI 的工作流程,能帮助你更好地排查问题。(如果你只是用用,可以跳过这节~)

┌─────────────────────────────────────────────────────────────────┐
│                       用户浏览器                                 │
│                   http://localhost:12138                        │
└──────────────────────────┬──────────────────────────────────────┘


┌─────────────────────────────────────────────────────────────────┐
│                  发现服务器 (端口 12138)                         │
│                                                                  │
│  • 托管静态文件 (static/)                                        │
│  • GET /server-info → 返回主程序地址                             │
│  • API 代理 → 转发请求到主程序,前端不用关心主程序端口           │
│  • 就像一个"导航站+中转站"                                       │
└──────────────────────────┬──────────────────────────────────────┘


┌─────────────────────────────────────────────────────────────────┐
│                    MoFox-Bot 主程序                              │
│                                                                  │
│  /plugin-api/webui_backend/                                     │
│    ├── /auth         认证接口                                    │
│    ├── /stats        统计数据                                    │
│    ├── /plugins      插件管理                                    │
│    ├── /config       配置管理                                    │
│    ├── /marketplace  插件市场                                    │
│    ├── /ui-update    WebUI 更新 ← 一键更新的秘密武器              │
│    ├── /git-update   主程序更新                                  │
│    ├── /log-viewer   日志查看                                    │
│    ├── /chatroom     聊天室                                      │
│    └── ...           更多 API                                    │
└─────────────────────────────────────────────────────────────────┘

流程说明

  1. 浏览器访问 12138 端口:发现服务器返回静态页面(前端界面)
  2. 前端发起 API 请求:所有请求都发到 12138 端口
  3. 发现服务器代理转发:自动把请求转发给主程序,前端完全不用关心主程序端口是多少

自动更新的原理

WebUI 使用 Git 实现自动更新:

  1. git fetch 检查远程是否有新版本
  2. 对比本地和远程的 commit hash
  3. git pull 拉取最新代码
  4. 更新完成,刷新页面

这就是为什么推荐使用 git clone 安装——因为只有这样才能用 git pull 更新啊!

六、项目结构说明

了解项目结构有助于你进行定制化开发或排查问题。(普通用户可以跳过~)

webui_backend/                    # 插件目录(安装后的结构)
├── __init__.py                  # 模块入口
├── plugin.py                    # 主插件类,一切的起点
├── discovery_server.py          # 发现服务器 + 静态文件托管
├── config/
│   └── config.toml             # 插件配置文件(API Key 在这里改)
├── static/                      # 编译好的前端静态文件
│   ├── index.html
│   └── assets/
├── adapters/                    # 适配器组件
├── apis/                        # 外部 API 集成
├── handlers/                    # 生命周期处理器
│   ├── startup_handler.py      # 启动时干啥
│   └── shutdown_handler.py     # 关闭时干啥
├── 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      # 聊天室
│   ├── emoji_manager_router.py # 表情包管理
│   ├── relationship_router.py  # 人物关系
│   └── ...                     # 还有更多
├── storage/                     # 数据存储
└── utils/                       # 工具函数
    └── update/                  # 更新相关工具
        ├── git_detector.py      # Git 环境检测
        ├── git_updater.py       # Git 更新器
        ├── ui_version_manager.py # UI 版本管理
        └── venv_utils.py        # 虚拟环境工具

七、常见问题排查

遇到问题别慌,先看看这里:

Q1: 访问 localhost:12138 显示"无法访问此网站"

可能原因

  • MoFox-Bot 主程序没有运行
  • 后端插件没有正确加载
  • 端口被其他程序占用

解决方法

  1. 确认 MoFox-Bot 主程序正在运行
  2. 检查日志,确认 webui_backend 插件已加载
  3. 检查端口占用:
    • Windows: netstat -ano | findstr :12138
    • Mac/Linux: lsof -i :12138
  4. 如果端口被占用,关闭占用程序或修改配置

Q2: 登录后提示"无法连接到后端服务"

可能原因

  • 主程序端口配置不正确
  • 防火墙阻止了连接

解决方法

  1. 检查 config/config.toml 中的 [main_server] 配置
  2. 确认主程序实际运行的端口
  3. 临时关闭防火墙测试

Q3: 输入 API Key 后提示"认证失败"

可能原因

  • API Key 输入错误(注意大小写和空格!)
  • 配置文件中的 api_keys 列表为空

解决方法

  1. 仔细核对 API Key 是否完全一致
  2. 确认 config/config.toml[auth] 部分的 api_keys 不为空
  3. 修改配置后记得重启 MoFox-Bot

Q4: 点击"检查更新"提示"不在 webui-dist 分支"

原因: 你可能是用 ZIP 下载安装的,或者克隆的是 main 分支。

解决方法: 使用 Git 重新安装:

bash
cd /path/to/plugins
rm -rf webui_backend  # 删除旧的
git clone -b webui-dist https://github.com/MoFox-Studio/MoFox-Core-Webui.git webui_backend

Q5: 更新后出现问题怎么办?

别慌! WebUI 在更新前会自动备份:

  1. 进入侧边栏的 更新管理
  2. 在「历史版本」部分找到之前的版本
  3. 点击 回滚

一切恢复如初!

Q6: 如何从远程服务器访问 WebUI?

如果 MoFox-Bot 部署在远程服务器上:

  1. 确保服务器防火墙开放了 12138 端口
  2. config/config.toml[discovery]host 设为 0.0.0.0
  3. 使用 http://服务器IP:12138 访问

安全提醒

公网暴露端口有风险!建议:

  • 使用强密码作为 API Key
  • 考虑配置 HTTPS(通过 Nginx 反向代理)
  • 限制可访问的 IP 范围

八、技术栈说明

如果你想参与开发或深度定制,了解技术栈会很有帮助。

前端

  • Vue 3:渐进式 JavaScript 框架(好用!)
  • TypeScript:带类型系统的 JavaScript 超集(少踩坑!)
  • Vite:新一代前端构建工具(贼快!)
  • Vue Router:Vue 官方路由管理器
  • Pinia:轻量级状态管理库
  • ECharts:强大的数据可视化图表库

后端

  • FastAPI:现代、高性能的 Python Web 框架
  • Uvicorn:轻量级 ASGI 服务器
  • MoFox Plugin System:与 MoFox-Bot 插件系统深度集成

九、开发状态

目前项目的功能完成情况(打勾的都能用了!):

  • 后端插件系统
  • 服务发现机制
  • 用户认证
  • 仪表盘统计
  • 插件管理
  • 插件市场
  • 配置编辑器
  • 响应式布局
  • 静态文件托管
  • WebUI 自动更新 🎉
  • 主程序自动更新 🎉
  • 依赖自动安装 🎉
  • 版本回滚 🎉
  • 实时日志查看
  • 聊天室功能
  • 表情包管理
  • 人物关系管理
  • 消息历史查看
  • 定时任务管理
  • 用户权限管理

我们会持续开发新功能,敬请期待!

十、安全性说明

WebUI 采用了多层安全机制:

  • API Key 验证:所有敏感接口都需要在请求头中携带 X-API-Key
  • 固定发现端口:仅发现服务使用固定端口(12138)
  • CORS 配置:后端已正确配置 CORS,支持跨域访问但限制了来源
  • 会话管理:可配置会话超时时间
  • 备份机制:更新前自动备份,保护你的数据

生产环境建议

如果你要在公网环境部署 WebUI,强烈建议:

  1. 使用 HTTPS 加密传输(配置 Nginx/Caddy 反向代理)
  2. 使用强密码作为 API Key
  3. 定期更换 API Key
  4. 限制访问 IP 范围
  5. 启用防火墙规则

十一、贡献与反馈

如果你在使用过程中遇到问题,或者有好的建议,欢迎:

  • 在 GitHub 提交 Issue
  • 提交 Pull Request
  • 加入社区讨论

好了,现在你已经掌握了 MoFox-Bot WebUI 的完整使用方法。去享受可视化管理带来的便利吧!

最重要的是——记得用 git clone 安装,这样才能享受一键更新的快乐 😎

如果还有疑问,随时查阅本文档或联系社区。

贡献者

The avatar of contributor named as minecraft1024a minecraft1024a
The avatar of contributor named as ikun-11451 ikun-11451
The avatar of contributor named as sunbiz1024 sunbiz1024

页面历史

Released under the GPL-3.0 License.

AI 助手

有什么可以帮您的吗?