Skip to content

MoFox_Bot 更新指南(仅适用于uv手动部署的使用者)

概述

欢迎使用 MoFox_Bot 更新指南。本指南将引导您安全、高效地将 MoFox_Bot 更新到最新版本,并确保您的个人配置和数据万无一失。

更新是获取新功能、修复已知问题和提升稳定性的重要途径。请在更新前仔细阅读本指南,特别是 “第一章:安全第一——备份你的重要数据” 部分。

第一章:安全第一——备份你的重要数据

在进行任何更新操作之前,备份是至关重要的一步。这就像给你的机器人买了一份保险,即使更新过程中出现意外,我们也能轻松地回到最初的状态。

1.1 需要备份的核心文件

我们需要备份以下三个核心部分,它们包含了你对机器人的所有个性化配置和历史数据:

  1. config 文件夹:这里存放着机器人的“身份证”(bot_config.toml)、“大脑”(model_config.toml)以及所有插件的功能配置。
  2. data 文件夹:这里是机器人的“记忆体”,包含了数据库文件(如 maibota.db)以及其他插件可能产生的数据。
  3. .env 文件:这个文件位于项目根目录,包含了最基础的环境变量设置。

1.2 如何进行备份 (图形化操作)

备份过程非常简单,只需复制粘贴即可。

  1. 定位文件: 打开你的 MoFox_Bot 项目文件夹。
  2. 创建备份文件夹: 在 MoFox_Bot 文件夹之外的其他任何安全位置(例如桌面),创建一个新的文件夹,并将其命名为 MoFox_Bot_Backup_YYYYMMDD (例如 MoFox_Bot_Backup_20250923)。
  3. 复制文件:
    • MoFox_Bot 文件夹内的 config 文件夹、data 文件夹和 .env 文件,复制到你刚刚创建的备份文件夹中。

完成以上步骤后,你的重要数据就已经安全了。现在,我们可以放心地进行下一步操作。

1.3 全量备份 (可选,但更安全)

除了备份核心的配置文件和数据外,我们还强烈建议你将整个 MoFox_Bot 文件夹完整地复制一份,作为最全面的“镜像备份”。

  • 优点: 这是最保险的方式,万一更新出现任何无法解决的严重问题,你甚至不需要进行版本回退,直接将整个备份文件夹恢复即可。
  • 操作: 直接将你的 MoFox_Bot 文件夹复制到安全位置即可。

第二章:获取更新——与最新代码同步

2.1 切换开发分支 (可选但推荐)

MoFox_Bot 通常会有不同的开发分支,例如 master (主分支,相对稳定) 和 dev (开发分支,功能最新)。你可以根据自己的需求选择要更新的分支。

  1. 打开命令行:

    • 进入 MoFox_Bot 文件夹。
    • 在地址栏输入 cmd 并回车,快速打开命令行终端。
  2. 查看当前分支:

    • 输入以下命令,查看你当前所在的分支。星号 * 所在的位置就是当前分支。
      shell
      git branch
  3. 切换到目标分支:

    • 如果你想切换到 dev 分支以体验最新功能,请执行:
      shell
      git checkout dev
    • 如果你想切换回稳定的主分支,请执行:
      shell
      git checkout master

2.2 拉取最新代码

选定分支后,我们就可以从 GitHub 上拉取最新的代码了。

  • 在命令行终端中,执行以下命令:
    shell
    git pull

🌐 网络小贴士: 如果你发现下载速度极慢或连接失败,可以尝试为 Git 设置国内镜像,或者在执行 git pull 时遇到问题,可以尝试重新克隆项目。

命令执行后,Git 会自动下载并合并最新的代码。

第三章:注入新的活力——更新依赖

代码更新后,项目所需的程序库(依赖)可能也发生了变化。我们需要根据最新的“购物清单” (requirements.txt) 来更新我们的虚拟环境。

  1. 激活虚拟环境:

    • 确保你的命令行终端位于 MoFox_Bot 文件夹内。
    • 根据你的终端类型,执行对应的激活命令:
      • CMD: .venv\Scripts\activate
      • PowerShell: .venv\Scripts\Activate.ps1
    • 成功激活后,命令行提示符前会出现 (.venv) 标记。
  2. 安装/更新依赖:

    • 已激活的终端中,执行以下命令:
      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.tomlmodel_config.toml),确保你之前的个性化设置没有丢失或被覆盖。
  • 备份很重要: 这也再次凸显了备份的重要性。如果发现配置有问题,可以随时从备份中恢复。

故障排除

Q1: 更新后启动失败,或者出现奇怪的错误?

这通常是更新过程中出现了未预料到的问题。但别担心,我们有万能的群友们!

  1. 你可以带着启动失败时的错误日志,前往项目的 GitHub Issues 或社区寻求帮助。
  2. 如果你在社区中找不到解决方案,可以考虑恢复到之前的备份(如果你之前备份了整个主程序的话)
Q2: `git pull` 时提示有冲突 (conflict)?

这通常意味着你不小心修改了项目本身的某些文件。对于大多数用户来说,最简单的解决方法是:

  1. 放弃本地修改:
    • 执行以下命令,放弃你本地的修改,并强制与服务器同步:
      shell
      git reset --hard origin/master  # 如果你在 master 分支
      # 或者
      git reset --hard origin/dev     # 如果你在 dev 分支

    ⚠️ 警告: 这个命令会丢弃你对项目代码的所有本地修改。在执行前,请确保你没有重要的自定义代码。通常情况下,用户的个性化内容都保存在我们已经备份的 config 等文件夹中,所以这个操作是安全的。

  2. 重新拉取:
    • 放弃修改后,再重新执行 git pull 命令。
Q3: 如果我觉得新版就是一坨屎怎么办

最简单的解决方法是回退到上一个正常的版本。

你可以通过以下 Git 命令来完成版本回退:

  1. 查找历史版本号

    首先,使用以下命令查看最近的提交记录:

    bash
    git 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
  2. 回退到指定版本

    选择一个你想要回退到的版本的 commit hash (例如 b2c3d4e5...),然后执行以下命令。

    警告:这个操作会丢弃你本地的所有未提交的修改,请谨慎操作!

    bash
    git reset --hard <你要回退到的版本号>

    例如:

    bash
    git reset --hard b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0a1
  3. 重新安装依赖

    版本回退后,依赖库可能也需要调整回旧版本。

    bash
    uv pip install -r requirements.txt

完成以上步骤后,你的 Mofox 就成功回退到指定版本了。

贡献者

The avatar of contributor named as minecraft1024a minecraft1024a

页面历史

Released under the GPL-3.0 License.