UNPKG

doomiaichat

Version:

Doomisoft OpenAI

100 lines 2.6 kB
import CozeBot from './cozebot'; import { ApiResult } from './declare'; import { RoleType } from '@coze/api'; export default class VoiceCozeBot extends CozeBot { private socket; private traceId; private chatVoiceBuffer; private chatContent; private serverVad; private combineTTS; private currentAgentStatus; private waitingWarmVoice; private waitingInterval; private willSendWarmVoice; private maxWaitingTimes; private waitingTimes; private waitingTimer; /** * 返回整个对话的语音流(pcm) */ getChatVoiceFile(): Buffer; /** * 清除等待计时器 */ private clearWaitingTimer; /** * 开始等待用户说话 */ private startWaitingUserSpeaking; /** * 获取到整个对话过程内容 * @returns */ getChatContent(): { role: string; content: string; }[]; /** * 提交端插件结果 * @param data */ submitActionResult(result: { chat_id: string; tool_outputs: { tool_call_id: string; output: string; }[]; }): void; /** * 提交一个暖场的内容,生成语音后下发到客户端 * @param text */ submitWarmVoice(text: string): void; /** * 持续发送来自于客户端语音流 * @param originalVoice 原始的录音流 * @param cleanVoice 经过回声消除后的录音流 */ sendVoice(originalVoice: Buffer, cleanVoice?: any): void; /** * 手动提交对话内容 * @param data */ sendChatMessage(content: string, role?: RoleType): void; /** * 停止对话 */ close(): void; /** * 提交语音片段 (这个在非server_vad 模式下,如按停止录音按钮。主动提交,Server_vad模式下无效) * 其实就是给服务器一个截止的标记 * @param voiceBuffer */ submitVoiceBuffer(): void; /** * 手动清除缓冲区的音频 * 同上面submitVoiceBuffer 配套,Server_vad模式下无效 */ clearVoiceBuffer(): void; /** * 打断智能体回复中 */ breakAnswer(): void; /** * 开启语音对话(Coze支持双向语音对话流) * @param setting */ startVoiceChat(setting?: any): Promise<ApiResult>; /** * 双向对话连接成功 * @param data */ ChatCreated(chatsettting?: any): void; /** * 上行指令发送 * @param command */ sendCommand(command: any): void; } //# sourceMappingURL=voicecoze.d.ts.map