You need to enable JavaScript to run this app.
导航
接入说明
最近更新时间:2025.04.17 14:09:39首次发布时间:2025.04.17 14:09:39
我的收藏
有用
有用
无用
无用

接入流程

Server 接入流程

  1. 添加机器人

    使用 open api 添加机器人,参考注册用户接口,Users 类型中新增 IsRobot 字段,默认为 false,若指定为 true,则会将对应的用户注册为机器人。
POST https://rtc.volcengineapi.com?Action=RegisterUsers&Version=2020-12-01
{
    "AppId": 000000,
    "Users": [
        {
            "UserId": 10004,
            "NickName": "Your_NickName",
            "Portrait": "http://xxxxx",
            "Tags": [
                "标签值"
            ],
            "Ext": {
                "key":"value"
            },
            "IsRobot": true
        }
    ]
}
  1. 接入回调事件
  • AfterSendMessage 回调事件,消息成功发送后触发该事件,可以使用该事件获取用户向 AI 机器人发送的消息,并与大模型交互。具体调用参考 AfterSendMessage回调
  • AfterMarkNewChat 回调事件,在客户端清除上下文时触发该事件,可以使用该事件与大模型交互情况上下文。
// 请求示例
{
    "AppId": 000000,
    "InboxType": 0,
    "UserId": 100001,
    "ConversationShortId": 000001,
    "ConversationId": "conversation_id",
    "ConversationType": 1,
    "RobotIds": [1], // 该会话中的机器人 id 列表
    "Ext": {}
}
// 响应示例
{
    "CheckCode":0, 
    "CheckMessage":"" 
}
  1. 发送回复消息

    使用发送消息 open API,将 AI 机器人的响应发送给用户。

客户端接入流程

Android

  1. 初始化
  2. 拉取所有机器人列表
BIMClient.getInstance().getService(BIMContactExpandService.class).getAllRobotFullInfo(true, new BIMResultCallback<List<BIMUserFullInfo>>() {

    @Override
    public void onSuccess(List<BIMUserFullInfo> profiles) {
        // 根据返回的机器人信息刷新 UI 列表 ....
    }

    @Override
    public void onFailed(BIMErrorCode code) {
        // 获取所有机器人失败
    }
});
  1. 通过机器人 uid 可以创建机器人会话,和创建普通单聊一致
  2. 如有需要,可以主动清空会话上下文
String conversationId = ""; // 机器人会话ID
BIMClient.getInstance().markNewChat(conversationId, true, new BIMSimpleCallback() {
    @Override
    public void onSuccess() {
        // 清空上下文成功
    }

    @Override
    public void onFailed(BIMErrorCode code) {
        // 处理错误
    }
});

iOS

  1. 初始化
  2. 拉取所有机器人列表
#import <imsdk-tob/BIMSDK.h>

- (void)loadRobotListData
{
    [[VEIMDemoUserManager sharedManager] getAllRobotFullInfoWithSyncServer:YES completion:^(NSArray<BIMUserFullInfo *> * _Nullable infos, BIMError * _Nullable bimError) {
        if (bimError) {
            NSError *error = [NSError errorWithDomain:kVEIMDemoErrorDomain code:bimError.code userInfo:@{NSLocalizedDescriptionKey : bimError.localizedDescription}];
            [BIMToastView toast:[NSString stringWithFormat:@"获取所有机器人失败:%@", error.localizedDescription]];
            return;
        }
        
        /// 根据返回的机器人信息刷新 UI 列表 ....
    }];
}
  1. 通过机器人 uid 可以创建机器人会话,和创建普通单聊一致
  2. 如有需要,可以主动清空会话上下文
#import <imsdk-tob/BIMSDK.h>

[[BIMClient sharedInstance] markNewChat:{机器人会话 ID} needNotice:YES completion:^(BIMError * _Nullable bimError) {
    NSError *error;
    if (bimError) {
        // 可以在这处理错误...
    }
}];

web

  1. 初始化
import { BytedIM, BotPlugin } from '@volcengine/im-web-sdk';
// 创建实例,添加机器人插件
const bytedIMInstance = new BytedIM(imOption, [...otherPlugin, BotPlugin]);
  1. 拉取所有机器人列表
// 获取机器人列表
bytedIMInstance.getBotListOnline();
  1. 通过机器人 uid 可以创建机器人会话,和创建普通单聊一致
// 创建单聊会话
const { payload: conversation } = bytedIMInstance.createConversation({
    type: ConversationType.ONE_TO_ONE_CHAT,
    participants: uid,
});
  1. 如有需要,可以主动清空会话上下文
/*
* 标记新会话,用于 ai bot 聊天场景清空上下文
* params.conversation 会话信息
* params.sendNotice 是否发送开场白
*/
bytedIMInstance.markNewChat({ conversation, sendNotice });