Skip to content

Linux 开发环境准备

警告

此文档仅用于开发环境,不推荐用于部署或使用。

准备工作

开发环境要求:

  • 一个可用的 Postgresql 数据库
  • 安装 Python 环境 (推荐 Python 3.10)
  • 安装 poetry (Python 依赖管理工具)
  • 安装 nb-cli (NoneBot 脚手架)
bash
pip install poetry
pip install nb-cli

源码部署

1. 克隆仓库

bash
git clone https://github.com/KroMiose/nekro-agent.git

2. 安装依赖

bash
cd nekro-agent
pip install poetry  # 需要提前安装 Python 环境: 推荐 Python 3.10
poetry config virtualenvs.in-project true  # 将虚拟环境安装到项目目录下 (可选)
poetry install

3. 生成配置文件

运行一次 Bot 加载插件并关闭以生成配置文件:

bash
nb run

4. 配置必要信息

编辑配置文件 ./data/configs/nekro-agent.yaml 配置数据库连接等信息。

yaml
# Bot 与管理信息
SUPER_USERS: # 管理用户 QQ 号列表
  - "12345678"
BOT_QQ: "12345678" # 机器人 QQ 号 (**必填**)
ADMIN_CHAT_KEY: group_12345678 # 管理会话频道标识

# Postgresql 数据库配置
POSTGRES_HOST: 127.0.0.1
POSTGRES_PORT: 5432
POSTGRES_USER: db_username
POSTGRES_PASSWORD: db_password
POSTGRES_DATABASE: nekro_agent

完整配置

完整配置说明请参考 config.py

5. 拉取沙盒镜像

拉取用于沙盒环境的 Docker 镜像:

bash
sudo bash sandbox.sh --pull

如果需要修改镜像中的依赖包,可修改 sandbox/dockerfilesandbox/pyproject.toml 文件,然后使用 sudo bash sandbox.sh --build 重新构建镜像

6. 运行 Bot

注意

由于插件工作时需要动态使用 Docker 创建沙盒执行环境以及设定容器共享目录权限等,为了确保有足够的权限运行,建议使用 sudo 运行 Bot

bash
sudo nb run
# 开发调试模式下启用重载监视并排除动态扩展目录
sudo nb run --reload --reload-excludes ext_workdir

7. OneBot 配置

使用任意 OneBot 协议客户端登录机器人并使用反向 WebSocket 连接方式,配置好连接地址:

ws://127.0.0.1:8021/onebot/v11/ws

TIP

这里的端口可在 .env.prod 中配置,默认为 8021

8. 调试模式

项目中包含 .vscode/launch.json 文件,可以直接使用 VSCode 进行调试,使用其内置的调试启动配置即可。