对接 Entari
Entari 是基于 Python 的跨平台聊天机器人框架,使用 Satori 协议(类似 Koishi),偏向于有基础的开发者。
本教程以 astral-uv 为例,介绍从零开始安装 Entari 并对接 LLBot 的完整流程。
安装 Python
在 uv 安装教程 中选择适合你系统的安装方式即可。
以 Linux 为例,安装 uv:
curl -LsSf https://astral.sh/uv/install.sh | sh官网的 uv 下载会访问 GitHub,国内网络可能会出现访问缓慢或失败的情况。可以使用 国内镜像 进行安装。
curl -LsSf https://uv.agentsmirror.com/install-cn.sh | sh如果一切顺利,安装过程应该类似于下:
$ curl -LsSf https://uv.agentsmirror.com/install-cn.sh | sh
downloading uv 0.11.30 x86_64-unknown-linux-gnu
installing to /home/user/.local/bin
uv
uvx
everything's installed!
$ uv --version
uv 0.11.30 (x86_64-unknown-linux-gnu)Windows 用户推荐使用 scoop 安装 uv
如果你的电脑上已经安装了 Python,可以直接使用 python -m pip install uv 安装 uv。
安装 Entari
安装 Entari 脚手架 (entari-cli)
uv tool install entari-cli安装完成后可以在命令行使用 entari --version 命令。如果提示找不到命令,请重启终端或参考 Entari 文档 来安装脚手架。
创建项目
我觉得这里应该不需要教授如何打开终端吧?如果你是新手,建议先学习一下如何使用终端。
在你想要创建项目的文件夹打开终端并执行:
mkdir my_entari_project && cd my_entari_project
entari init配置项目
如果一切顺利,安装过程应该类似于下:
$ entari init
是否创建新的虚拟环境? (Y/n): y
请输入要使用的 Python 解释器路径
0. cpython@3.11 (xxxx\Python311\python.EXE)
1. cpython@3.14 (xxxx\uv\python\cpython-3.14.0-windows-x86_64-none\python.exe)
请选择 (0): 0
虚拟环境将创建在 D:\Projects\test-entari\.venv
Entari 环境初始化成功。
请输入要使用的包管理器
0. uv (xxxx\scoop\shims\uv.EXE)
1. pdm (xxxx\Python311\Scripts\pdm.EXE)
2. uv pip (xxxx\scoop\shims\uv.EXE)
3. pip (xxxx\Python311\Scripts\pip.EXE)
请选择 (0): 2
Resolved 34 packages in 8.94s
Prepared 15 packages in 1.73s
Installed 34 packages in 105ms
+ ...
请选择配置文件格式: (yml):
配置文件已创建在 xxx\my_entari_project\entari.yml安装适配器 (可选)
Entari 原生支持 Satori 协议,同时也支持通过适配器接入 OneBot11 或 Milky 协议。
首先需要安装 entari-plugin-server 插件:
entari add entari-plugin-server$ entari add entari-plugin-server
entari add entari-plugin-server
Resolved 39 packages in 6.06s
Prepared 6 packages in 2.07s
Installed 10 packages in 96ms
+ ...
插件 entari-plugin-server 已成功添加到配置文件中。连接 LLBot
下面举例三种协议的对接方式,选择其中一种使用即可 (本人讨厌 OneBot11, 所以请自行探索 OneBot11 的对接方式)。
接入 Satori
在 LLBot 启用 Satori 协议
在 LLBot 中启用 Satori,可以通过以下任一方式配置:
- LLBot Desktop:Bot 配置 → 启用 Satori → 填入配置保存
- LLBot WebUI(默认 http://localhost:3080):启用 Satori → 填入配置保存
- 直接修改配置文件
data/config_<qq>.json:
{
"satori": {
"enable": true, // 是否启用 Satori 协议
"port": 5600, // Satori 监听端口
"token": "your_token", // Satori token
},
}配置 Entari
Entari 原生支持 Satori 协议,所以无需额外安装适配器,只需要在 Entari 的配置文件中配置网络项即可:
basic:
network:
- type: ws
host: localhost
port: 5600
token: "your_token"
path: ""host 和 port 填写 LLBot 的 Satori 服务的地址(如 http://localhost:5600),token 填写 Satori 服务的 token(没有则不填写),即可连接到 LLBot
接入 Milky
在 LLBot 启用 Milky 协议
在 LLBot 中启用 Milky,可以通过以下任一方式配置:
- LLBot Desktop:Bot 配置 → 启用 Milky → 填入 http 配置保存
- LLBot WebUI(默认 http://localhost:3080):启用 Milky → 填入 http 配置保存
- 直接修改配置文件
data/config_<qq>.json:
{
"milky": {
"enable": true,
"reportSelfMessage": false,
"http": { // Milky 的 WS 和 HTTP 实际上是共用一个端口的
"port": 3010,
"prefix": "/api", // http api 路径前缀,可为空,默认是/api
"accessToken": ""
}
}
}安装 milky 适配器
使用 entari adapter add 命令安装 milky 适配器:
$ entari adapter add
请输入需要指定的适配器
0. OneBot11-Forward OneBot11 正向 WS 协议适配器 (satori-python-adapter-onebot11)
1. OneBot11-Reverse OneBot11 反向 WS 协议适配器 (satori-python-adapter-onebot11)
2. Console 控制台适配器 (satori-python-adapter-console)
3. Satori Satori 协议适配器 (satori-python-adapter-satori)
4. Milky Milky 协议适配器 (satori-python-adapter-milky)
5. Milky-Webhook Milky Webhook 协议适配器 (satori-python-adapter-milky)
6. Milky-SSE Milky SSE 协议适配器 (satori-python-adapter-milky)
7. QQ QQ 适配器 (satori-python-adapter-qq)
8. QQ-Websocket QQ WebSocket 适配器 (satori-python-adapter-qq)
9. Nekobot Lagrange 适配器 (nekobot)
请选择: 4
Resolved 30 packages in 3.32s
Prepared 1 package in 621ms
Installed 1 package in 7ms
+ satori-python-adapter-milky==0.5.0
适配器 Milky 已成功添加到配置文件中。配置 Entari
修改 Entari 配置项,参考 Entari 配置文档。
根据 milky 适配器 的说明,添加以下配置:
adapters:
- $path: '@milky.main'
endpoint: "http://localhost:3010/api"
token: "your_token"注意 endpoint 中的端口需要和 LLBot 的 Milky HTTP 端口一致,token 需要和 LLBot 配置的 token 一致。
连接成功后,Entari 日志会显示 Bot 已连接。
