10 KiB
面向纯新手的Linux服务器麦麦部署指南
你得先有一个服务器
为了能使麦麦在你的电脑关机之后还能运行,你需要一台不间断开机的主机,也就是我们常说的服务器。
华为云、阿里云、腾讯云等等都是在国内可以选择的选择。
你可以去租一台最低配置的就足敷需要了,按月租大概十几块钱就能租到了。
我们假设你已经租好了一台Linux架构的云服务器。我用的是阿里云ubuntu24.04,其他的原理相似。
0.我们就从零开始吧
网络问题
为访问github相关界面,推荐去下一款加速器,新手可以试试watttoolkit。
安装包下载
MongoDB
对于ubuntu24.04 x86来说是这个:
如果不是就在这里自行选择对应版本
https://www.mongodb.com/try/download/community-kubernetes-operator
Napcat
在这里选择对应版本。
https://github.com/NapNeko/NapCatQQ/releases/tag/v4.6.7
对于ubuntu24.04 x86来说是这个:
https://dldir1.qq.com/qqfile/qq/QQNT/ee4bd910/linuxqq_3.2.16-32793_amd64.deb
麦麦
https://github.com/SengokuCola/MaiMBot/archive/refs/tags/0.5.8-alpha.zip
下载这个官方压缩包。
路径
我把麦麦相关文件放在了/moi/mai里面,你可以凭喜好更改,记得适当调整下面涉及到的部分即可。
文件结构:
moi
└─ mai
├─ linuxqq_3.2.16-32793_amd64.deb
├─ mongodb-org-server_8.0.5_amd64.deb
└─ bot
└─ MaiMBot-0.5.8-alpha.zip
网络
你可以在你的服务器控制台网页更改防火墙规则,允许6099,8080,27017这几个端口的出入。
1.正式开始!
远程连接你的服务器,你会看到一个黑框框闪着白方格,这就是我们要进行设置的场所——终端了。以下的bash命令都是在这里输入。
2. Python的安装
- 导入 Python 的稳定版 PPA:
sudo add-apt-repository ppa:deadsnakes/ppa
- 导入 PPA 后,更新 APT 缓存:
sudo apt update
- 在「终端」中执行以下命令来安装 Python 3.12:
sudo apt install python3.12
- 验证安装是否成功:
python3.12 --version
- 在「终端」中,执行以下命令安装 pip:
sudo apt install python3-pip
- 检查Pip是否安装成功:
pip --version
- 安装必要组件
sudo apt install python-is-python3
3.MongoDB的安装
cd /moi/mai
dpkg -i mongodb-org-server_8.0.5_amd64.deb
mkdir -p /root/data/mongodb/{data,log}
4.MongoDB的运行
service mongod start
systemctl status mongod #通过这条指令检查运行状态
有需要的话可以把这个服务注册成开机自启
sudo systemctl enable mongod
5.napcat的安装
curl -o napcat.sh https://nclatest.znin.net/NapNeko/NapCat-Installer/main/script/install.sh && sudo bash napcat.sh
上面的不行试试下面的
dpkg -i linuxqq_3.2.16-32793_amd64.deb
apt-get install -f
dpkg -i linuxqq_3.2.16-32793_amd64.deb
成功的标志是输入napcat出来炫酷的彩虹色界面
6.napcat的运行
此时你就可以根据提示在napcat里面登录你的QQ号了。
napcat start <你的QQ号>
napcat status #检查运行状态
然后你就可以登录napcat的webui进行设置了:
http://<你服务器的公网IP>:6099/webui?token=napcat
第一次是这个,后续改了密码之后token就会对应修改。你也可以使用napcat log <你的QQ号>来查看webui地址。把里面的127.0.0.1改成<你服务器的公网IP>即可。
登录上之后在网络配置界面添加websocket客户端,名称随便输一个,url改成ws://127.0.0.1:8080/onebot/v11/ws保存之后点启用,就大功告成了。
7.麦麦的安装
step 1 安装解压软件
sudo apt-get install unzip
step 2 解压文件
cd /moi/mai/bot # 注意:要切换到压缩包的目录中去
unzip MaiMBot-0.5.8-alpha.zip
step 3 进入虚拟环境安装库
cd /moi/mai/bot
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
step 4 试运行
cd /moi/mai/bot
python -m venv venv
source venv/bin/activate
python bot.py
肯定运行不成功,不过你会发现结束之后多了一些文件
bot
├─ .env.prod
└─ config
└─ bot_config.toml
你要会vim直接在终端里修改也行,不过也可以把它们下到本地改好再传上去:
step 5 文件配置
本项目需要配置两个主要文件:
.env.prod- 配置API服务和系统环境bot_config.toml- 配置机器人行为和模型
API
你可以注册一个硅基流动的账号,通过邀请码注册有14块钱的免费额度:https://cloud.siliconflow.cn/i/7Yld7cfg。
在.env.prod中定义API凭证:
# API凭证配置
SILICONFLOW_KEY=your_key # 硅基流动API密钥
SILICONFLOW_BASE_URL=https://api.siliconflow.cn/v1/ # 硅基流动API地址
DEEP_SEEK_KEY=your_key # DeepSeek API密钥
DEEP_SEEK_BASE_URL=https://api.deepseek.com/v1 # DeepSeek API地址
CHAT_ANY_WHERE_KEY=your_key # ChatAnyWhere API密钥
CHAT_ANY_WHERE_BASE_URL=https://api.chatanywhere.tech/v1 # ChatAnyWhere API地址
在bot_config.toml中引用API凭证:
[model.llm_reasoning]
name = "Pro/deepseek-ai/DeepSeek-R1"
base_url = "SILICONFLOW_BASE_URL" # 引用.env.prod中定义的地址
key = "SILICONFLOW_KEY" # 引用.env.prod中定义的密钥
如需切换到其他API服务,只需修改引用:
[model.llm_reasoning]
name = "Pro/deepseek-ai/DeepSeek-R1"
base_url = "DEEP_SEEK_BASE_URL" # 切换为DeepSeek服务
key = "DEEP_SEEK_KEY" # 使用DeepSeek密钥
配置文件详解
环境配置文件 (.env.prod)
# API配置
SILICONFLOW_KEY=your_key
SILICONFLOW_BASE_URL=https://api.siliconflow.cn/v1/
DEEP_SEEK_KEY=your_key
DEEP_SEEK_BASE_URL=https://api.deepseek.com/v1
CHAT_ANY_WHERE_KEY=your_key
CHAT_ANY_WHERE_BASE_URL=https://api.chatanywhere.tech/v1
# 服务配置
HOST=127.0.0.1 # 如果使用Docker部署,需要改成0.0.0.0,否则QQ消息无法传入
PORT=8080
# 数据库配置
MONGODB_HOST=127.0.0.1 # 如果使用Docker部署,需要改成数据库容器的名字,默认是mongodb
MONGODB_PORT=27017
DATABASE_NAME=MegBot
MONGODB_USERNAME = "" # 数据库用户名
MONGODB_PASSWORD = "" # 数据库密码
MONGODB_AUTH_SOURCE = "" # 认证数据库
# 插件配置
PLUGINS=["src2.plugins.chat"]
机器人配置文件 (bot_config.toml)
[bot]
qq = "机器人QQ号" # 必填
nickname = "麦麦" # 机器人昵称(你希望机器人怎么称呼它自己)
[personality]
prompt_personality = [
"曾经是一个学习地质的女大学生,现在学习心理学和脑科学,你会刷贴吧",
"是一个女大学生,你有黑色头发,你会刷小红书"
]
prompt_schedule = "一个曾经学习地质,现在学习心理学和脑科学的女大学生,喜欢刷qq,贴吧,知乎和小红书"
[message]
min_text_length = 2 # 最小回复长度
max_context_size = 15 # 上下文记忆条数
emoji_chance = 0.2 # 表情使用概率
ban_words = [] # 禁用词列表
[emoji]
auto_save = true # 自动保存表情
enable_check = false # 启用表情审核
check_prompt = "符合公序良俗"
[groups]
talk_allowed = [] # 允许对话的群号
talk_frequency_down = [] # 降低回复频率的群号
ban_user_id = [] # 禁止回复的用户QQ号
[others]
enable_advance_output = true # 启用详细日志
enable_kuuki_read = true # 启用场景理解
# 模型配置
[model.llm_reasoning] # 推理模型
name = "Pro/deepseek-ai/DeepSeek-R1"
base_url = "SILICONFLOW_BASE_URL"
key = "SILICONFLOW_KEY"
[model.llm_reasoning_minor] # 轻量推理模型
name = "deepseek-ai/DeepSeek-R1-Distill-Qwen-32B"
base_url = "SILICONFLOW_BASE_URL"
key = "SILICONFLOW_KEY"
[model.llm_normal] # 对话模型
name = "Pro/deepseek-ai/DeepSeek-V3"
base_url = "SILICONFLOW_BASE_URL"
key = "SILICONFLOW_KEY"
[model.llm_normal_minor] # 备用对话模型
name = "deepseek-ai/DeepSeek-V2.5"
base_url = "SILICONFLOW_BASE_URL"
key = "SILICONFLOW_KEY"
[model.vlm] # 图像识别模型
name = "deepseek-ai/deepseek-vl2"
base_url = "SILICONFLOW_BASE_URL"
key = "SILICONFLOW_KEY"
[model.embedding] # 文本向量模型
name = "BAAI/bge-m3"
base_url = "SILICONFLOW_BASE_URL"
key = "SILICONFLOW_KEY"
[topic.llm_topic]
name = "Pro/deepseek-ai/DeepSeek-V3"
base_url = "SILICONFLOW_BASE_URL"
key = "SILICONFLOW_KEY"
step # 6 运行
现在再运行
cd /moi/mai/bot
python -m venv venv
source venv/bin/activate
python bot.py
应该就能运行成功了。
8.事后配置
可是现在还有个问题:只要你一关闭终端,bot.py就会停止运行。那该怎么办呢?我们可以把bot.py注册成服务。
重启服务器,打开MongoDB和napcat服务。
新建一个文件,名为bot.service,内容如下
[Unit]
Description=maimai bot
[Service]
WorkingDirectory=/moi/mai/bot
ExecStart=/moi/mai/bot/venv/bin/python /moi/mai/bot/bot.py
Restart=on-failure
User=root
[Install]
WantedBy=multi-user.target
里面的路径视自己的情况更改。
把它放到/etc/systemd/system里面。
重新加载 systemd 配置:
sudo systemctl daemon-reload
启动服务:
sudo systemctl start bot.service # 启动服务
sudo systemctl restart bot.service # 或者重启服务
检查服务状态:
sudo systemctl status bot.service
现在再关闭终端,检查麦麦能不能正常回复QQ信息。如果可以的话就大功告成了!
9.命令速查
service mongod start # 启动mongod服务
napcat start <你的QQ号> # 登录napcat
cd /moi/mai/bot # 切换路径
python -m venv venv # 创建虚拟环境
source venv/bin/activate # 激活虚拟环境
sudo systemctl daemon-reload # 重新加载systemd配置
sudo systemctl start bot.service # 启动bot服务
sudo systemctl enable bot.service # 启动bot服务
sudo systemctl status bot.service # 检查bot服务状态
python bot.py