一、部署AstrBot
使用 Windows 一键安装器部署 AstrBot
安装python3.10
由于我的电脑中安装有Anaconda,所以我新建了一个名为AstrBot的虚拟环境,安装了python3.10。
# 打开Anaconda Powershell Prompt
# 列出所有 Conda 虚拟环境,方便用户查看当前已创建的环境及其状态。
conda env list
# 创建名为 AstrBot 的 Conda 虚拟环境。创建新环境可以为特定的项目或任务提供独立的运行环境,
# 避免软件包版本冲突等问题,确保项目的稳定性和可移植性。
conda create --name AstrBot
# 激活名为 AstrBot 的 Conda 虚拟环境。激活环境后,后续的操作都会在该环境中进行,
# 这样可以确保安装的软件包和运行的脚本都在该环境下,不会影响全局环境。
conda activate AstrBot
# 在当前虚拟环境(AstrBot)中安装 Python 3.10。指定 Python 版本可以满足项目对特定 Python 版本的需求,
# 例如某些库或代码可能只支持特定版本的 Python,安装指定版本可以确保项目正常运行。
conda install python=3.10
下载安装器
随后下载安装器脚本。安装器是一个使用 Powershell 编写的脚本,用于拉取AstrBot的相关代码和安装依赖库。打开 github.com/Soulter/Ast… ,下载 Source code (zip) 并解压到电脑。
运行安装器
执行如下操作:
# Anaconda Powershell Prompt
# 切换到路径 A:\study\AI\AstrBotLauncher-0.1.5.5。切换路径是为了方便后续操作,
# 例如运行位于该路径下的脚本、访问特定目录下的文件等。
cd A:\study\AI\AstrBotLauncher-0.1.5.5
# 将 launcher_astrbot_en.bat 批处理文件拖进去,回车运行位于当前路径下的 launcher_astrbot_en.bat 脚本。
A:\study\AI\AstrBotLauncher-0.1.5.5\launcher_astrbot_en.bat
如果没有检测到 Python 环境,脚本将会提示并退出。脚本将自动检测目录下是否有 AstrBot 文件夹,如果没有,将会从 GitHub 自动下载最新的 AstrBot 源码。下载好后,会自动安装 AstrBot 的依赖并运行。如下图所示。
如图所示,AstrBot已经成功运行。ctrl+鼠标左键http://localhost:6185即可在浏览器打开AstrBot的控制台面板。
使用默认用户名和密码astrbot登录。
进入控制台首页。
二、部署消息平台
官方文档中有多种部署消息平台的方式。我选择了使用 NapCatQQ 协议实现端接入了自己的QQ小号。这种方式需要用手机扫码登录,且建议不要用新建的账号。
下载NapCat.Shell
起初我按照win手动启动教程下载了NapCat.Shell.zip,解压后启动launcher.bat脚本,但脚本启动后无法检测到我的QQ安装地址。在官方学习群中请教后,我改用了win64无头版。
选择win64无头版压缩包下载。
解压到工作目录。
启动napcat.bat脚本。
在 napcat 的日志里会显示 WebUI 链接http://127.0.0.1:6099/webui?token=napcat。ctrl+鼠标左键即可在浏览器打开控制台登录页面。
终端和web端均可通过QQ手机端扫码登录。
登陆后进入控制台界面。
三、通过NapCatQQ实现AstrBot和QQ连接
配置 aiocqhttp
在 AstrBot 的管理面板中,选择左边栏的配置,然后在右边的界面中,点击消息平台选项卡。点击 + 号,选择aiocqhttp,会出现 aiocqhttp 的相关配置项。配置项填写如下:
- ID(id):随意填写,用于区分不同的消息平台实例。系统会自动填充。
- 启用(enable): 勾选。
- 反向 WebSocket 主机地址:请填写你的机器的 IP 地址。一般情况下请直接填写 0.0.0.0
- 反向 WebSocket 端口:填写一个端口,例如 6199。
配置管理员
填写完毕后,点击其他配置选项卡,找到管理员ID,填写用于管理QQ机器人的管理员QQ号。
保存配置
点击右下角蓝色的保存按钮,AstrBot将重启并应用配置。
在 NapCatQQ 中添加 WebSocket 客户端
切换回 NapCatQQ 的管理面板,点击网络配置,选择添加网络配置,在弹出的窗口中,名称随意填写,类型选择 WebSocket client,点击确认。
在Websocket Client配置页面进行如下配置:
- 启用:打开。
- URL:
ws://在AstrBot中填写的反向WebSocket的IP地址:在AstrBot中填写的端口/ws。如ws://0.0.0.0:6199/ws。 - 消息格式:Array。
- 点击保存。
此时,AstrBot 和 NapCatQQ 应该已经连接成功。使用私聊的方式在 QQ 对机器人发送 /help 以检查是否连接成功。
四、部署大模型
在配置面板的服务提供商中打开服务提供商配置条。
我使用的硅基流动SiliconFlow服务的deepseek的api。
在SiliconFlow官网创建账号,新建密钥,将密钥填进AstrBot服务提供商的API Key,回车添加。
在大语言模型设置中,可以对聊天唤醒前缀,是否启动网页搜索,是否显示网页搜索引用链接,是否启动识别群员,是否启用日期时间系统提示等进行设置。
在人格情景设置中,可以给机器人编写名称,设定,预设对话,对话风格模仿等配置。点击右下角 保存,AstrBot 重启并会应用配置。
进入QQ聊天界面,输入/help查看指令列表。可看到机器人输出下列可选指令:
AstrBot v3.4.23(WebUI: v3.4.23)
AstrBot 指令:
[System]
/plugin: 查看插件、插件帮助
/t2i: 开关文本转图片
/sid: 获取会话 ID
/op <admin_id>: 授权管理员(op)
/deop <admin_id>: 取消管理员(op)
/wl <sid>: 添加白名单(op)
/dwl <sid>: 删除白名单(op)
/dashboard_update: 更新管理面板(op)
/alter_cmd: 设置指令权限(op)
[大模型]
/provider: 大模型提供商
/model: 模型列表
/ls: 对话列表
/new: 创建新对话
/switch: 切换对话
/rename: 重命名对话
/del: 删除当前会话对话(op)
/reset: 重置 LLM 会话(op)
/history: 当前对话的对话记录
/persona: 人格情景(op)
/tool ls: 函数工具
/key: API Key(op)
/websearch: 网页搜索
[其他]
/set <变量名> <值>: 为会话定义变量。适用于 Dify 工作流输入。
/unset <变量名>: 删除会话的变量。
提示:如要查看插件指令,请输入 /plugin 查看具体信息。
由此可以开心地和QQ机器人对话了。
五、配置TTS
方法一:在服务提供商配置中设置TTS
选择openai_tts配置类,填入SiliconFlow的url和api_key。
查阅SiliconFlow的api文档,在语音系列查看“创建文本转语音请求”类型。根据“Body”请求体配置参考来选择模型和声音。
在“文本转语音(TTS)”配置中,将“启用文本转语音(TTS)”按钮点亮。保存配置重启后,即可实现文本转语音。
如图即实现将机器人的回答转为语音输出。
方法二:通过插件设置TTS
在插件市场选择下载astrbot_plugin_moreVITS插件。
填写api密钥,参考音频文件地址,参考音频文字内容,这样就可以快捷地将语音设置为参考音频中的声音。注意音频时长不要超过30s。
这样就将声音修改为洛天依的声音了。