For the complete documentation index, see llms.txt. This page is also available as Markdown.

自定义 UI 与高级用法

在使用 Convai 的音频管线和消息系统的同时,构建你自己的 UI。

自定义 UI 所需:AudioRenderer

如果你不使用该组件,请包含 AudioRenderer 以确保机器人音频正常工作。

import { useConvaiClient, AudioRenderer, AudioContext } from '@convai/web-sdk';

function CustomApp() {
  const convaiClient = useConvaiClient({
    apiKey: 'your-api-key',
    characterId: 'your-character-id'
  });

  return (
    <AudioContext.Provider value={convaiClient.room}>
      <AudioRenderer />       {/* 音频播放所需 */}
      <YourCustomUI />
    </AudioContext.Provider>
  );
}

自定义消息列表


自定义控件


消息类型

中的常见消息类型 convaiClient.chatMessages:

对于聊天 UI,通常只显示:


最佳实践

  1. 使用一个 单独的 useConvaiClient() 用于每个应用。

  2. 始终检查 state.isConnected 在发送消息之前。

  3. 调用 resetSession() 在切换场景或流程时。

  4. 使用 <AudioRenderer /> 用于自定义 UI。

  5. 提供 endUserId 在生产环境中用于记忆和分析。

  6. 将 connect/disconnect 包裹在 try/catch.

最后更新于

这有帮助吗?