外部连接模式设置
概述
外部连接模式是一项允许AITuberKit通过WebSocket与外部应用程序连接的功能。使用此模式,您可以从外部应用程序发送文本消息,让AITuberKit角色说话。
关于测试版功能
此外部连接模式目前作为测试版提供。
- 规格可能会在没有通知的情况下更改
- 操作可能不稳定
- 在生产环境中使用前请进行充分测试
- 如果您发现任何错误或问题,我们将感谢您的反馈
环境变量:
bash
# 启用外部连接模式
NEXT_PUBLIC_EXTERNAL_LINKAGE_MODE=true
特点和用途
外部连接模式具有以下特点和用途:
- 接受来自外部应用程序的文本输入
- 与自定义应用程序集成
- 与其他AI服务连接
- 用作虚拟直播的扩展
限制
启用外部连接模式时,以下功能将被禁用:
- 对话持续模式
- 实时API模式
此外,启用外部连接模式时请注意以下几点:
- AI处理必须在外部应用程序端完成
- AITuberKit仅负责接收文本和生成语音和动作
设置步骤
- 在AITuberKit设置界面中将"外部连接模式"设置为ON
- WebSocket连接将自动在"ws://localhost:8000/ws"启动
- 从外部应用程序通过WebSocket连接
WebSocket通信格式
来自外部应用程序的输入格式:
json
{
"text": "想让角色说的文本",
"role": "assistant",
"emotion": "neutral",
"type": "message"
}
参数说明:
text
:让角色说的文本内容(必需)role
:消息的角色。通常使用"assistant"(必需)emotion
:情感表达(可选,默认为"neutral")- 可用值:"neutral", "happy", "sad", "angry", "relaxed", "surprised"
type
:消息类型(可选)- 使用"start"开始新的响应块
例如,您可以使用以下Python代码连接:
python
import websocket
import json
def send_message(text, emotion="neutral"):
ws = websocket.create_connection("ws://localhost:8000/ws")
message = {
"text": text,
"role": "assistant",
"emotion": emotion,
"type": "message"
}
ws.send(json.dumps(message))
ws.close()
send_message("你好!你好吗?", "happy")
连接状态通知
通过WebSocket连接时,屏幕上将显示以下通知:
- 连接尝试期间:"正在尝试WebSocket连接"
- 连接成功时:"WebSocket连接成功"
- 发生错误时:"发生WebSocket连接错误"
- 连接结束时:"WebSocket连接已结束"
如果连接有问题,请检查这些通知。
TIP
使用外部连接模式时,您可能需要在防火墙设置中开放WebSocket端口(8000)。此外,如果连接断开,系统将每2秒尝试重新连接一次。