MoFox_Bot 更新指南(仅适用于uv手动部署的使用者)
概述
欢迎使用 MoFox_Bot 更新指南。本指南将引导您安全、高效地将 MoFox_Bot 更新到最新版本,并确保您的个人配置和数据万无一失。
更新是获取新功能、修复已知问题和提升稳定性的重要途径。请在更新前仔细阅读本指南,特别是 “第一章:安全第一——备份你的重要数据” 部分。
第一章:安全第一——备份你的重要数据
在进行任何更新操作之前,备份是至关重要的一步。这就像给你的机器人买了一份保险,即使更新过程中出现意外,我们也能轻松地回到最初的状态。
1.1 需要备份的核心文件
我们需要备份以下三个核心部分,它们包含了你对机器人的所有个性化配置和历史数据:
config
文件夹:这里存放着机器人的“身份证”(bot_config.toml
)、“大脑”(model_config.toml
)以及所有插件的功能配置。data
文件夹:这里是机器人的“记忆体”,包含了数据库文件(如maibota.db
)以及其他插件可能产生的数据。.env
文件:这个文件位于项目根目录,包含了最基础的环境变量设置。
1.2 如何进行备份 (图形化操作)
备份过程非常简单,只需复制粘贴即可。
- 定位文件: 打开你的
MoFox_Bot
项目文件夹。 - 创建备份文件夹: 在
MoFox_Bot
文件夹之外的其他任何安全位置(例如桌面),创建一个新的文件夹,并将其命名为MoFox_Bot_Backup_YYYYMMDD
(例如MoFox_Bot_Backup_20250923
)。 - 复制文件:
- 将
MoFox_Bot
文件夹内的config
文件夹、data
文件夹和.env
文件,复制到你刚刚创建的备份文件夹中。
- 将
完成以上步骤后,你的重要数据就已经安全了。现在,我们可以放心地进行下一步操作。
1.3 全量备份 (可选,但更安全)
除了备份核心的配置文件和数据外,我们还强烈建议你将整个 MoFox_Bot
文件夹完整地复制一份,作为最全面的“镜像备份”。
- 优点: 这是最保险的方式,万一更新出现任何无法解决的严重问题,你甚至不需要进行版本回退,直接将整个备份文件夹恢复即可。
- 操作: 直接将你的
MoFox_Bot
文件夹复制到安全位置即可。
第二章:获取更新——与最新代码同步
2.1 切换开发分支 (可选但推荐)
MoFox_Bot 通常会有不同的开发分支,例如 master
(主分支,相对稳定) 和 dev
(开发分支,功能最新)。你可以根据自己的需求选择要更新的分支。
打开命令行:
- 进入
MoFox_Bot
文件夹。 - 在地址栏输入
cmd
并回车,快速打开命令行终端。
- 进入
查看当前分支:
- 输入以下命令,查看你当前所在的分支。星号
*
所在的位置就是当前分支。shellgit branch
- 输入以下命令,查看你当前所在的分支。星号
切换到目标分支:
- 如果你想切换到
dev
分支以体验最新功能,请执行:shellgit checkout dev
- 如果你想切换回稳定的主分支,请执行:shell
git checkout master
- 如果你想切换到
2.2 拉取最新代码
选定分支后,我们就可以从 GitHub 上拉取最新的代码了。
- 在命令行终端中,执行以下命令:shell
git pull
🌐 网络小贴士: 如果你发现下载速度极慢或连接失败,可以尝试为 Git 设置国内镜像,或者在执行
git pull
时遇到问题,可以尝试重新克隆项目。
命令执行后,Git 会自动下载并合并最新的代码。
第三章:注入新的活力——更新依赖
代码更新后,项目所需的程序库(依赖)可能也发生了变化。我们需要根据最新的“购物清单” (requirements.txt
) 来更新我们的虚拟环境。
激活虚拟环境:
- 确保你的命令行终端位于
MoFox_Bot
文件夹内。 - 根据你的终端类型,执行对应的激活命令:
- CMD:
.venv\Scripts\activate
- PowerShell:
.venv\Scripts\Activate.ps1
- CMD:
- 成功激活后,命令行提示符前会出现
(.venv)
标记。
- 确保你的命令行终端位于
安装/更新依赖:
- 在已激活的终端中,执行以下命令:shell
uv pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple
uv
会自动对比你环境中已安装的库和新“清单”中的要求,然后下载缺失的、更新过时的,并卸载不再需要的库。
- 在已激活的终端中,执行以下命令:
第四章:重启,焕然一新!
所有更新步骤都已完成!现在,你可以像往常一样启动你的机器人了。
- 在已激活的终端中,执行启动命令:shell
uv run python bot.py
观察日志,当机器人成功连接并运行时,就代表本次更新圆满成功!去和你的机器人打个招呼,体验一下新功能吧!
WARNING
注意:配置文件更新
更新后首次启动时,MoFox_Bot 会自动检查并更新你的 config
文件夹内的配置文件,以匹配新版本的功能。
- 检查配置: 请在启动后检查你的配置文件(尤其是
bot_config.toml
和model_config.toml
),确保你之前的个性化设置没有丢失或被覆盖。 - 备份很重要: 这也再次凸显了备份的重要性。如果发现配置有问题,可以随时从备份中恢复。
故障排除
Q1: 更新后启动失败,或者出现奇怪的错误?
这通常是更新过程中出现了未预料到的问题。但别担心,我们有万能的群友们!
- 你可以带着启动失败时的错误日志,前往项目的 GitHub Issues 或社区寻求帮助。
- 如果你在社区中找不到解决方案,可以考虑恢复到之前的备份(如果你之前备份了整个主程序的话)
Q2: `git pull` 时提示有冲突 (conflict)?
这通常意味着你不小心修改了项目本身的某些文件。对于大多数用户来说,最简单的解决方法是:
- 放弃本地修改:
- 执行以下命令,放弃你本地的修改,并强制与服务器同步:shell
git reset --hard origin/master # 如果你在 master 分支 # 或者 git reset --hard origin/dev # 如果你在 dev 分支
⚠️ 警告: 这个命令会丢弃你对项目代码的所有本地修改。在执行前,请确保你没有重要的自定义代码。通常情况下,用户的个性化内容都保存在我们已经备份的
config
等文件夹中,所以这个操作是安全的。 - 执行以下命令,放弃你本地的修改,并强制与服务器同步:
- 重新拉取:
- 放弃修改后,再重新执行
git pull
命令。
- 放弃修改后,再重新执行
Q3: 如果我觉得新版就是一坨屎怎么办
最简单的解决方法是回退到上一个正常的版本。
你可以通过以下 Git 命令来完成版本回退:
查找历史版本号
首先,使用以下命令查看最近的提交记录:
bashgit log
你会看到类似下面的输出,每一条记录都有一个唯一的“版本号”(commit hash)。
commit a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0 (HEAD -> main, origin/main) Author: Momo <momo@example.com> Date: Tue Sep 23 15:00:00 2025 +0800 feat: Add new feature commit b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0a1 Author: Momo <momo@example.com> Date: Mon Sep 22 14:00:00 2025 +0800 fix: Fix a bug
回退到指定版本
选择一个你想要回退到的版本的 commit hash (例如
b2c3d4e5...
),然后执行以下命令。警告:这个操作会丢弃你本地的所有未提交的修改,请谨慎操作!
bashgit reset --hard <你要回退到的版本号>
例如:
bashgit reset --hard b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0a1
重新安装依赖
版本回退后,依赖库可能也需要调整回旧版本。
bashuv pip install -r requirements.txt
完成以上步骤后,你的 Mofox 就成功回退到指定版本了。