Neo-MoFox Linux 部署指南 (内置适配器版)
概述
欢迎使用 Neo-MoFox,一个高度可定制化的 AI Bot 框架。
本指南将引导您在 Linux 环境下,使用项目内置的 Napcat 适配器插件完成 Neo-MoFox 的全部署流程。该方式是官方推荐的最佳实践,具有以下优势:
- 部署简化:仅需下载和运行 Neo-MoFox / Napcat 项目。
- 操作便捷:只需管理 Neo-MoFox / Napcat 进程。
本教程将覆盖从环境准备到成功运行的每一个步骤,旨在为初学者提供一条清晰、高效的部署路径。
第一章:准备工作——万丈高楼平地起
在正式开始部署之前,我们需要先搭建好稳固的地基。请确保你的系统中已正确安装并配置了以下软件。
1.1 系统要求
- 操作系统: 任何主流的 Linux 发行版 (如 Ubuntu, Debian, CentOS)
1.2 软件三件套:Python、Git 与 uv
这三款软件是部署流程的核心工具,缺一不可。
1.2.1 Python (版本 >= 3.11)
Python 是 Neo-MoFox 运行的编程语言环境。
- 安装:
- 打开终端,根据你的 Linux 发行版,使用包管理器安装 Python 3.10 或更高版本。
sudo apt update
sudo apt install python3 python3-pip python3-venvsudo dnf install python3 python3-pip- 验证:
- 在终端中输入以下命令并回车:bash
python3 --version - 如果屏幕上显示出 Python 版本号(如
Python 3.10.6),则证明安装成功。
- 在终端中输入以下命令并回车:
1.2.2 Git
Git 是一个版本控制工具,我们用它来从 GitHub 上获取 Neo-MoFox 的项目代码。
- 安装:
sudo apt install gitsudo dnf install git- 验证:
- 在终端中输入以下命令并回车:bash
git --version - 如果显示出 Git 的版本号(如
git version 2.34.1),则证明安装成功。
- 在终端中输入以下命令并回车:
1.2.3 uv (推荐的 Python 包管理器)
uv 是一个速度极快的 Python 包管理器,Neo-MoFox 使用它来管理项目依赖。
安装:
- 在终端中,输入以下命令并回车:bash
pip3 install uv
- 在终端中,输入以下命令并回车:
验证:
- 输入以下命令并回车:bash
uv --version - 如果显示出 uv 的版本号,则证明安装成功。
- 输入以下命令并回车:
1.3 Napcat QQ 客户端
Napcat QQ 是一个 QQ 客户端,也是 Neo-MoFox 与 QQ 平台沟通的桥梁。
在继续下一步之前,请务必参考 NapCatQQ 官方文档,完成客户端的安装、配置,并确保你的 QQ 账号能够成功登录。这是整个部署流程的重要前置条件。
第二章:获取核心——请君入瓮
万事俱备,现在我们正式开始请"君"入瓮——将 Neo-MoFox 的核心代码下载到你的电脑中。
2.1 创建你的“机器人基地”
首先,我们需要为机器人创建一个专属的“家”。
- 打开终端。
- 创建并进入文件夹:执行以下命令,这会在你的用户主目录下创建一个名为
Neo-MoFox_Deployment的文件夹,并进入该目录。bashcd ~ mkdir Neo-MoFox_Deployment cd Neo-MoFox_Deployment
⚠️ 重要提示: 为了避免未来可能出现的奇怪问题,请确保文件夹的完整路径中不包含任何中文、空格或特殊字符。
2.2 git clone 神威
现在,我们在这个“基地”里执行代码下载命令。
- 在终端中,粘贴并执行以下命令:
git clone -b dev --single-branch https://github.com/MoFox-Studio/Neo-MoFox.gitgit clone https://kgithub.com/MoFox-Studio/Neo-MoFox.gitgit clone https://xget.xi-xu.me/gh/MoFox-Studio/Neo-MoFox.git🌐 网络小贴士: 如果你发现下载速度极慢或连接失败,这通常是由于网络问题。可以尝试使用备用镜像地址。
执行命令后,Git 会开始下载项目文件。当克隆完成后,你的 Neo-MoFox_Deployment 文件夹里会多出一个名为 Neo-MoFox 的新文件夹。恭喜,你已经成功获取了项目代码!
第三章:激活环境——注入灵魂
我们已经有了项目代码,现在需要为它创建一个纯净的生存空间,并注入"灵魂"——安装所有必需的依赖库。
3.1 虚拟环境:干净又卫生
在安装依赖库之前,我们要先创建一个"虚拟环境"。
你可以把它想象成一个专属环境。我们为 Neo-MoFox 项目创建一个独立的、与外界隔离的环境,所有它需要的依赖库都放在这个环境里。这样做的好处是:
- 避免冲突:不会和你电脑上安装的其他 Python 程序产生冲突。
- 保持纯净:保证了项目环境的干净和稳定。
3.2 环境的创建和激活
接下来,我们将使用 uv 这个神器来完成环境的创建和激活。
进入项目目录:
- 首先,确保你的终端路径在
Neo-MoFox_Deployment文件夹下。 - 我们需要进入刚刚克隆下来的
Neo-MoFox文件夹。执行以下命令:bashcd Neo-MoFox
- 首先,确保你的终端路径在
创建虚拟环境:
- 执行以下命令来创建环境:bash
uv venv - 命令执行后,你会发现
Neo-MoFox文件夹里多出了一个名为.venv的新文件夹。这就是Neo-MoFox的"专属环境"。
- 执行以下命令来创建环境:
激活虚拟环境 (核心步骤):
- 光有工具箱还不行,我们得把它“打开”,这个动作就叫做“激活”。
- 执行以下命令来激活环境:bash
source .venv/bin/activate - 观察变化! 成功激活后,你会看到命令行提示符的最前面,多出了一个
(.venv)的标记。这表示你已经成功进入了 Neo-MoFox 的专属环境。
TIP
💡 小贴士: 在后续使用 Neo-MoFox 的过程中,当你安装插件后,如果这些插件需要额外安装 Python 依赖,也必须先激活本章节中创建的虚拟环境,然后在该虚拟环境中执行这些安装命令。
3.3 依赖安装
环境激活好了,现在我们可以开始安装 Neo-MoFox 所需的所有依赖库了。
在已激活虚拟环境的命令行窗口中,执行以下命令:
bashuv sync命令解析:
uv sync: 使用 uv 来将虚拟环境与项目的依赖同步。它会自动读取pyproject.toml文件,安装上面列出的所有依赖。
命令执行后,你会看到屏幕上开始飞速滚动各种下载和安装信息。请耐心等待,直到它全部完成,并重新出现可以输入命令的提示符。
💡 依赖安装失败怎么办? 如果安装过程中出现大量红色错误,不要慌,通常是以下几个原因:
- 网络问题:检查你的网络连接。偶尔网络波动可能导致失败。可以尝试重新执行一遍安装命令。
- 权限不足:尝试使用
sudo重新执行安装命令(如果需要的话)。
至此,机器人所需的一切软件依赖都已准备就绪,我们已经为它搭建了一个干净、独立的生存环境。接下来,我们将进入部署流程的下一阶段:首次启动和配置。
第四章:首次启动——生成配置文件
在开始配置之前,我们需要先运行一次程序,让 Neo-MoFox 自动生成所有必需的配置文件。这是部署流程中的重要一步,因为配置文件需要程序首次运行时自动创建。
4.1 生成配置文件
Neo-MoFox 拥有强大的配置管理系统。在我们第一次启动程序时,它会创建默认的配置文件以供我们修改。
首次启动:
- 确保你的命令行终端已激活虚拟环境 (前面带有
(.venv)标记)。 - 确保你当前的目录是
Neo-MoFox文件夹。 - 执行以下命令,来启动一次 Neo-MoFox:bash
uv run main.py - 程序启动后,你会看到大量的日志信息在屏幕上滚动。当日志滚动停止,并且没有新的信息出现时,说明程序已经完成了初始化工作,并且生成了所有的配置文件。
- 确保你的命令行终端已激活虚拟环境 (前面带有
生成配置并关闭:
- 当你看到
config文件夹被创建,这次启动的主要目的——生成配置文件——就已经达成了。如果程序还在运行,请在命令行窗口中,按下Ctrl + C来关闭程序。程序会进行"优雅关闭",请稍等片刻直至其完全退出。
- 当你看到
第五章:核心配置——让机器人"认识"你
现在配置文件已经生成,我们可以开始修改它们,赋予机器人身份和智慧。
🔧 编辑器推荐: 为了避免不必要的格式或编码错误,强烈建议使用专业的代码编辑器来修改配置文件,例如 带有even better toml 插件的 Visual Studio Code、nano 或 vim。请不要使用可能导致格式问题的简单文本编辑器。
在本章,我们只修改两个最核心的文件,以保证机器人能顺利启动并响应。
5.1 core.toml:机器人的"身份"
这个文件定义了机器人的基本身份信息和主人。
- 修改内容 (至少修改以下一项):
- 用编辑器打开
config/core.toml文件。 - 主人 QQ 号: 找到
[permissions]配置节下的owner_list,将其配置为你的 QQ 号。⚠️ 格式注意: 请严格按照
['platform:user_id', ...]的格式填写,注意英文引号。toml[permissions] # Bot所有者列表,格式:['platform:user_id', ...] # 值类型:list, 默认值:[] owner_list = []
- 用编辑器打开
5.2 model.toml:机器人的"大脑"
这个文件用于配置机器人使用的大语言模型(LLM),是机器人能否思考和回答问题的关键。
- 修改内容 (关键步骤):
- 为了让机器人能够开口说话,你必须至少配置一个可用的大语言模型服务。
- 我们已经为您准备了一份专门的快速上手指南,请点击并参照以下链接完成模型配置:
- 对于初次部署的用户,只需完成上述快速上手指南中的步骤即可。更详细和高级的模型配置方法,可以在机器人成功运行后,再参考 模型配置进阶指南.
第六章:连接世界——内置适配器插件配置
现在,机器人的“身份”和“大脑”都有了,但我们还需要让它能够连接到 QQ 平台,让它能够接收和发送消息,我们通过配置官方内置的 Napcat 适配器插件来完成。
6.1 启用并配置插件
经过第四章的首次启动,所有内置插件的默认配置文件都已经被自动创建好了。
找到配置文件:
- 现在,请打开
Neo-MoFox/config/plugins/文件夹。你会发现里面出现了很多以插件名命名的文件夹。 - 这说明 Neo-MoFox 的所有内置插件的配置文件都在这里生成了,方便你未来探索和开启更多功能。
- 我们当前的目标是找到
napcat_adapter文件夹,进入后用你的代码编辑器打开config.toml文件。
- 现在,请打开
启用插件:
- 在打开的
config.toml文件中,找到[plugin]配置节,将enabled的值从false修改为true。这是启动适配器的总开关。toml[plugin] # 是否启用 Napcat 适配器 # 值类型:bool, 默认值:true enabled = true # < 修改这里
- 在打开的
6.2 配置连接参数
这是整个部署流程中关键的一步,目的是让 Neo-MoFox (服务端) 与 Napcat QQ (客户端) 能够互相通信。我们将分别配置两端,并确保它们的信息完全一致。
第一部分:配置 Neo-MoFox 监听端口 * 找到
[napcat_server]配置节的port小节,这里定义了 Neo-MoFox 将在哪个端口上“监听”来自 Napcat 客户端的连接请求。 ```toml # Napcat WebSocket 服务器配置 [napcat_server] # ws 连接模式: reverse/direct # 值类型:str, 默认值:"reverse" mode = "reverse"# Napcat WebSocket 服务地址 # 值类型:str, 默认值:"localhost" host = "localhost" # Napcat WebSocket 服务端口 # 值类型:int, 默认值:8095 port = 8095 ```- 请记下这个
port值 (默认为8095)。除非8095端口已被其他程序占用,否则我们推荐保持默认设置。如果需要修改,请确保选择一个未被占用的端口。
- 请记下这个
第二部分:配置 Napcat 客户端连接地址
现在,回到 Napcat QQ 客户端,我们将告诉它去连接 Neo-MoFox 正在监听的端口。
步骤一:新建 Websocket 客户端
- 在 Napcat 客户端中,点击左侧菜单的"网络配置"。
- 在右侧选择
Websocket客户端标签页,然后点击"新建"按钮。

步骤二:填写反向 WebSocket 地址
- 在弹出的配置窗口中,将
URL填写为ws://127.0.0.1:8095。 - 核心要点:此处的端口号 (
8095) 必须与你在第一部分中 Neo-MoFox 配置文件里看到的port值完全一致。如果两边不一致,通信将百分之百失败。 - 填写完毕后,点击"保存"。

- 在弹出的配置窗口中,将
完成以上步骤,机器人的“神经系统”就已经成功搭建。它现在知道了该如何与 QQ 世界进行通信。
第七章:正式启动!——见证奇迹的时刻
所有准备工作和配置都已完成,现在,是时候唤醒你的机器人了!
7.1 启动顺序
请严格按照以下顺序来启动各个组件。
第一步:启动并登录 Napcat QQ
- 打开你已经安装好的 Napcat QQ 客户端。
- 确保你的机器人 QQ 账号已经成功登录,并且客户端处于正常运行状态。
第二步:运行 Neo-MoFox
- 回到你的命令行终端窗口。
- 检查一件事:
- 确认当前路径在
Neo-MoFox文件夹内。
- 确认当前路径在
- 执行最终的启动命令:shell
uv run main.py # 启动 Neo-MoFox 主程序
⚠️ 重要提示: 这个命令行窗口就是机器人的生命,请不要关闭它,最小化即可。一旦关闭,机器人就会下线。 如果需要关闭机器人,请在这个窗口中按下
Ctrl + C,程序会进行优雅关闭。 以后的启动流程也是一样的,先启动 Napcat QQ 客户端,确保它在线,再启动 Neo-MoFox。
7.2 观察日志,判断成功
程序运行后,日志会开始在命令行窗口中滚动。学会看日志,是判断机器人状态的关键。
当你看到类似以下几条关键信息时,就代表你的机器人已经成功启动并连接到了 QQ 平台:
[14:29:12] plugin_manager | INFO | 插件管理器初始化完成
[14:29:12] plugin_manager | INFO | ✅ 插件 'default_chatter' 的组件注册完成
[14:29:12] plugin_manager | INFO | ✅ 插件加载成功: default_chatter v1.0.0
✓ 已加载插件: default_chatter (#1)
[14:29:12] plugin_manager | INFO | ✅ 插件 'napcat_adapter' 的组件注册完成
[14:29:12] plugin_manager | INFO | ✅ 插件加载成功: napcat_adapter v2.0.0
✓ 已加载插件: napcat_adapter (#2)
[14:29:13] adapter_manager | INFO | 适配器启动成功: napcat_adapter:adapter:napcat_adapter
[14:29:13] adapter_manager | INFO | 适配器启动完成: 成功 1/1
[14:29:13] router_manager | INFO | 发现 1 个 Router,开始挂载...
[14:29:13] router_manager | INFO | Router 管理器初始化完成
[14:29:13] router_manager | INFO | 插件 default_chatter 的 Router 挂载完成: 0/0
[14:29:13] router_manager | INFO | 插件 napcat_adapter 的 Router 挂载完成: 0/0
[14:29:13] router_manager | INFO | 所有插件 Router 挂载完成: plugins=2, mounted_routers=0
[14:29:13] router_manager | INFO | ✅ 所有 Router 挂载完成
[14:29:13] event_manager | INFO | 开始构建事件订阅映射...
[14:29:13] event_manager | INFO | 事件管理器初始化完成
[14:29:13] event_manager | INFO | 订阅映射表构建完成,共处理 2 个 事件处理器
[14:29:13] event_manager | INFO | ✅ 事件订阅映射构建完成
[14:29:13] 流循环 | INFO | StreamLoopManager 已启动
[14:29:13] 消息分发 | INFO | StreamLoopManager 已随插件加载完成而启动
╭────────────────────────────────────────────────────── Success ───────────────────────────────────────────────────────╮
│ ✅ Bot 初始化成功,加载了 2 个插件 │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
[19:58:46] [Napcat 适配器] Napcat 客户端已连接: ('127.0.0.1', 38207)
[19:58:46] [Napcat 适配器] Bot xxxxxxx(botQQ号) 连接成功💡 日志解读:
- 看到
[19:58:46] [Napcat 适配器] Bot xxxxxxx(botQQ号) 连接成功是最关键的一步,它标志着机器人与 QQ 的“神经连接”已打通。
恭喜你,部署成功!
第八章:故障排除
当机器人没有按照预期工作时,请不要灰心。99% 的问题都可以通过仔细检查配置和日志来解决。
Q1: 启动成功,但日志里迟迟没有 `Napcat client connected` 信息?
这通常意味着 Neo-MoFox 和 Napcat QQ 客户端之间的“神经”没有接上。请按以下步骤排查:
- 检查 Napcat QQ: 确保 Napcat QQ 客户端本身已成功登录并处于在线状态。
- 检查端口号: 这是最常见的原因。请再次核对
config/plugins/napcat_adapter/config.toml文件中[napcat_server]下的port值,是否与你 Napcat QQ 客户端里设置的反向 WebSocket 端口完全一致。 - 检查防火墙: 确保 Windows 防火墙或任何第三方杀毒软件没有阻止 Neo-MoFox 的网络连接。可以尝试暂时关闭防火墙进行测试。
- 检查 IP 地址: 确保
config.toml中的host(localhost) 和 Napcat 中的 IP (127.0.0.1) 是匹配的。通常保持默认即可。
Q2: 机器人成功连接,但在 QQ 里 @它 或私聊它,它不回复?
这通常是配置问题或模型服务问题。
- 检查 Napcat QQ: 确保 Napcat QQ 客户端本身已成功登录并处于在线状态。
- 检查模型配置: 确认
config/model.toml里的 API Key 是有效且可用的。可以检查一下你的模型服务商后台,看看 Key 是否填错、账户是否欠费。 - 检查白名单: 检查
config/plugins/napcat_adapter/config.toml文件中[features]部分的group_list和private_list。如果你开启了白名单,请确保你测试的群聊或私聊已经被加了进去。 - 查看日志: 观察机器人后台的命令行窗口。当你给机器人发消息时,看看日志是否刷新。如果有
ERROR级别的红色错误信息,通常能定位到问题所在。
Q3: 日志里出现关于 `API KEY`、`authentication` 或 `401` 的错误?
这个错误非常明确,就是你的大语言模型配置出了问题。
- 请打开
config/model.toml文件,仔细检查你配置的api_key和base_url是否有误。 - 登录你的模型服务商网站,检查 Key 是否被禁用、账户是否到期或欠费。
Q4: 我修改了配置文件,但好像没有生效?
Neo-MoFox 在启动时会加载所有配置文件。如果你在机器人运行中修改了配置,需要重启才能生效。
- 请在命令行窗口中,按下
Ctrl + C关闭机器人。 - 待程序完全退出后,再重新执行
uv run main.py命令来启动机器人。
结语:你的冒险才刚刚开始
至此,你已经成功走完了 Neo-MoFox 的部署全程,并拥有了一个属于自己的、能够思考和对话的 AI 伙伴。恭喜你!
但这仅仅是一个开始。本指南带你完成的,是让机器人“活过来”的最小化配置。Neo-MoFox 的真正魅力,在于其强大的可塑性和扩展性。你可以像搭乐高一样,通过调整配置文件,来塑造它的性格、学习它的表达、开启或关闭它的各项功能(如画图、Web搜索、记忆系统等)。
当你想进一步探索时,我们推荐你阅读以下文档:
- 机器人人格详细配置指南: 深入了解如何塑造机器人的性格、说话风格和行为模式。
- 模型配置进阶指南: 学习如何配置多个模型、本地模型以及更复杂的调用策略。
- 插件系统: Neo-MoFox 的所有功能都由插件实现。你可以通过
config/plugins/目录下的配置文件,来探索和启用更多有趣的内置功能。
如果你在探索的路上遇到了任何无法解决的难题,欢迎通过项目的 GitHub Issues 或社区与其他开发者交流。
现在,去和你的新伙伴聊天吧!祝你玩得开心!

