Files
NeoBot/docs/deployment.md
K2cr2O1 520462b4c6 feat(help): 重构帮助菜单界面并优化样式
refactor(bili_parser): 修复 API 响应 content-type 问题
fix(command_manager): 添加帮助图片获取的错误处理
docs(deployment): 简化部署文档并移除 JIT 相关内容
2026-01-14 23:05:31 +08:00

2.8 KiB
Raw Blame History

部署指南

把 Bot 扔到服务器上长期运行,比在自己电脑上跑要多几个步骤。

1. 环境准备

a. 安装 Python 3.14

用3.14。。。

b. 安装依赖

# 切换到项目目录
cd /path/to/your/bot

# 创建虚拟环境 (强烈建议)
python3.14 -m venv venv
source venv/bin/activate

# 安装依赖
pip install -r requirements.txt

c. 编译核心模块 (可选,但为获得最佳性能强烈建议)

为了最大化性能,你可以将项目中的核心 Python 模块编译成 C 语言扩展。这将大幅提升机器人的响应速度和处理效率。

# 确保你在虚拟环境中
python setup_mypyc.py

该脚本会自动编译 coremodels 目录下的指定模块。编译后的文件(.pyd.so)会直接生成在源码旁边。

注意: 编译产物是平台相关的(例如,在 Windows 上编译的 .pyd 文件不能在 Linux 上使用)。因此,请务必在你最终部署的服务器环境(例如 Linux上执行此编译步骤。更多关于 Mypyc 编译的细节,请参考 性能优化详解

2. 使用进程管理器

你想直接 python main.py 然后关掉 SSH那机器人也跟着停了。必须用进程管理器来守护它。

这里推荐用 pm2,虽然是 Node.js 的工具,但管 Python 程序一样好用。

a. 安装 pm2

# 你需要先装 Node.js 和 npm
npm install pm2 -g

b. 启动 Bot

在项目根目录,创建一个 ecosystem.config.js 文件:

module.exports = {
  apps : [{
    name   : "neobot",
    script : "main.py",
    interpreter: "/path/to/your/bot/venv/bin/python", // 指定虚拟环境里的 python
    max_memory_restart: "500M", // 内存超过 500M 自动重启
    env: {
      "PYTHONUNBUFFERED": "1" // 禁用 python 输出缓冲,日志能实时看
    }
  }]
}

然后启动:

pm2 start ecosystem.config.js

c. 常用 pm2 命令

pm2 list          # 查看所有进程状态
pm2 logs neobot   # 查看 neobot 的实时日志
pm2 restart neobot# 重启 neobot
pm2 stop neobot   # 停止 neobot
pm2 delete neobot # 删除 neobot

3. 配置 NapCatQQ

最后一步,修改 NapCatQQ 的配置文件,让它把消息推送到你的服务器上。

找到 NapCatQQ 的 config/onebot11.json 文件,修改 ws_reverse_servers 部分:

"ws_reverse_servers": [
    {
        "url": "ws://你的服务器IP:8080/onebot/v11/ws",
        "access_token": "你的访问令牌"
    }
]
  • url: 改成你服务器的 IP 和 main.py 里配置的端口。
  • access_token: 如果你在 main.py 里设置了 ACCESS_TOKEN,这里要保持一致。

或者你也可以用napcat的webui不多赘述了。。。

改完后重启 NapCatQQBot 应该就能收到消息了。