Skip to content

部署包 ​

部署包内含 Python 3.13、锁定的依赖和预构建的网页面板,解压后直接启动,本机不需要另外安装 Python 或 uv。Linux 部署包还带有后台任务的本机沙箱运行时。macOS 使用 Docker 部署。

从 Releases 下载与系统对应的文件,下文以 0.2.7 为例:

系统文件
Linux x64lenbot-0.2.7-linux-x64.tar.gz
Linux arm64lenbot-0.2.7-linux-arm64.tar.gz
Windows x64lenbot-0.2.7-windows-x64.zip

解压出的目录就是部署目录,配置和数据都写在里面,可以先改名或移到常用位置再启动。

Linux ​

sh
tar -xzf lenbot-0.2.7-linux-x64.tar.gz
mv lenbot-0.2.7-linux-x64 ~/lenbot
~/lenbot/run

arm64 换成对应的文件名。部署包适用于 glibc 2.28 及以上的发行版,例如 Debian 10、Ubuntu 20.04、RHEL 8 及更新版本。

Windows ​

解压 lenbot-0.2.7-windows-x64.zip,双击目录中的 run.cmd,或在 PowerShell 中执行:

powershell
.\run.cmd

部署包没有代码签名。解压前在 zip 文件上右键 → 属性,勾选解除锁定,解压出的文件就不再触发下载文件的安全提示;直接解压时,SmartScreen 显示已保护你的电脑后点击更多信息 → 仍要运行。

首次配置 ​

首次启动时,终端输出一次性配置链接:

text
尚无根配置。请打开 http://127.0.0.1:52811/#token=...

在本机桌面终端启动时浏览器自动打开该链接。按首次配置填写向导,保存后进入面板,面板默认地址为 http://127.0.0.1:8088。

目录 ​

目录或入口用途
instance/配置、数据库、角色、插件和运行数据
releases/<版本>/该版本的 Python、程序和任务运行时
backups/每次更新前的快照
updates/更新时下载的文件和上次更新的结果
current.json当前使用的版本
run、run.cmd启动 Bot
service、service.ps1注册为登录后自动启动的后台服务

后台任务 ​

Linux 部署包默认用本机沙箱(bubblewrap)运行后台任务,需要系统安装 bwrap,例如 Debian 和 Ubuntu 上执行 sudo apt install bubblewrap;网页渲染 lenbot-render 用的 Chromium 在启用任务后自动下载。Windows 部署包用 Docker 任务容器,需要 Docker Desktop。启用步骤和联网方式见后台任务。

本机沙箱限制每个任务的进程数,限制按 Linux 内核 5.14 起的用户命名空间分别计数,各任务互不占用对方的额度,失控的任务只会耗尽自己的额度。内核早于 5.14 时,同一宿主用户下的任务共用一份进程数额度,一个任务大量创建进程会挤占其他任务。Docker 任务容器的进程数上限按容器计算,与内核版本无关。

后台服务 ​

Linux 注册为 systemd 用户服务:

sh
~/lenbot/service install
~/lenbot/service start
~/lenbot/service status

服务在登录后启动;需要开机即运行、不依赖登录时,执行一次 sudo loginctl enable-linger $USER。service stop 停止,service uninstall 移除。

Windows 注册为登录后运行的计划任务,在部署目录的 PowerShell 中执行:

powershell
powershell -NoProfile -ExecutionPolicy Bypass -File .\service.ps1 install
powershell -NoProfile -ExecutionPolicy Bypass -File .\service.ps1 start

stop 停止 Bot,status 查看计划任务状态,uninstall 移除。

更新与恢复 ​

在面板系统 → 设置 → 版本与更新点击更新到 <版本>:面板下载新版本的部署包,解压到 releases/<新版本>/,然后重启,先保存快照、迁移数据,再启动新版本。新版本没有正常启动时自动恢复快照并回到原来的版本。部署目录保留当前和上一个版本,快照可以在同一页恢复,详见更新与备份。

排查 ​

安装或启动失败时,先看终端输出;上次更新的结果在 updates/result.json。模型与群聊的问题见日志与排查。

以 AGPL-3.0-only 发布