@ozaiya/openclaw-channel 0.7.6 → 0.7.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -30,6 +30,7 @@ export interface OzaiyaVoiceCallConfig {
30
30
  language?: string;
31
31
  utteranceEndMs?: number;
32
32
  endpointing?: number;
33
+ autoDetect?: boolean;
33
34
  };
34
35
  tts?: {
35
36
  model?: string;
@@ -44,6 +45,27 @@ export interface OzaiyaVoiceCallConfig {
44
45
  * If not set, a sensible default is used that instructs the agent to
45
46
  * respond in concise, spoken-friendly language without markdown. */
46
47
  agentPrompt?: string;
48
+ /** Volcengine TTS config for Chinese voice synthesis in calls */
49
+ volcengineTts?: OzaiyaVolcengineTtsConfig;
50
+ /** TTS engine selection: 'deepgram' | 'volcengine' | 'auto' (default: 'auto')
51
+ * 'auto' selects volcengine when stt.language starts with 'zh', else deepgram */
52
+ ttsEngine?: 'deepgram' | 'volcengine' | 'auto';
53
+ }
54
+ /** Volcengine (火山引擎/豆包) TTS configuration.
55
+ * Three auth methods (in priority order):
56
+ * 1. `arkApiKey` — Ark API Key, uses AI Gateway OpenAI-compatible endpoint (simplest)
57
+ * 2. `apiKey` — Speech API Key, uses v3 streaming openspeech endpoint
58
+ * 3. `appId` + `accessToken` — legacy v1 openspeech endpoint */
59
+ export interface OzaiyaVolcengineTtsConfig {
60
+ arkApiKey?: string;
61
+ apiKey?: string;
62
+ resourceId?: string;
63
+ appId?: string;
64
+ accessToken?: string;
65
+ voice?: string;
66
+ cluster?: string;
67
+ encoding?: string;
68
+ speedRatio?: number;
47
69
  }
48
70
  /** Config stored at channels.ozaiya in OpenClaw config */
49
71
  export interface OzaiyaChannelConfig {
@@ -56,11 +78,20 @@ export interface OzaiyaChannelConfig {
56
78
  accounts?: Record<string, OzaiyaAccountConfig>;
57
79
  stt?: OzaiyaSttConfig;
58
80
  voiceCall?: OzaiyaVoiceCallConfig;
81
+ /** Volcengine TTS for voice reply (Chinese support) */
82
+ volcengineTts?: OzaiyaVolcengineTtsConfig;
59
83
  userToken?: string;
60
84
  gatewayName?: string;
61
85
  webhookBase?: string;
62
86
  botWebhookBases?: Record<string, string>;
63
87
  }
88
+ /** Per-bot voice credentials delivered via gateway encrypted config */
89
+ export interface ResolvedVoiceConfig {
90
+ provider: 'deepgram' | 'volcengine';
91
+ apiKey?: string;
92
+ appId?: string;
93
+ accessToken?: string;
94
+ }
64
95
  /** Resolved account after config validation */
65
96
  export interface ResolvedOzaiyaAccount {
66
97
  accountId: string;
@@ -71,6 +102,7 @@ export interface ResolvedOzaiyaAccount {
71
102
  apiBaseUrl: string;
72
103
  webhookPath: string;
73
104
  stt: ResolvedOzaiyaSttConfig;
105
+ voiceConfig?: ResolvedVoiceConfig;
74
106
  }
75
107
  /** Webhook payload from Ozaiya server for a new chat message */
76
108
  export interface OzaiyaMessageWebhookPayload {
@@ -80,6 +112,7 @@ export interface OzaiyaMessageWebhookPayload {
80
112
  replyAllowed?: boolean;
81
113
  voiceReply?: boolean;
82
114
  voiceReplyPrompt?: string | null;
115
+ voiceReplyVoice?: string | null;
83
116
  context?: OzaiyaWebhookMessage[];
84
117
  message: OzaiyaWebhookMessage;
85
118
  }
@@ -1,14 +1,18 @@
1
1
  import type { OzaiyaVoiceCallConfig } from "./types.js";
2
+ import { type CallTtsConfig } from "./ttsEngine.js";
2
3
  /** Resolved config with defaults applied */
3
4
  interface ResolvedVoiceCallConfig {
4
5
  deepgramApiKey: string;
5
6
  sttModel: string;
6
7
  sttLanguage: string;
8
+ autoDetect: boolean;
7
9
  utteranceEndMs: number;
8
10
  endpointing: number;
9
11
  ttsModel: string;
10
12
  silenceTimeoutSeconds: number;
11
13
  forceTurnRelay: boolean;
14
+ /** Unified TTS config for call audio synthesis */
15
+ callTts: CallTtsConfig;
12
16
  }
13
17
  interface VoiceCallSessionOptions {
14
18
  callId: string;
@@ -41,6 +45,10 @@ export declare class VoiceCallSession {
41
45
  private connected;
42
46
  private disposed;
43
47
  private currentTtsAbort;
48
+ private sttReconnectAttempts;
49
+ private sttReconnectTimer;
50
+ private static readonly MAX_STT_RECONNECT;
51
+ private languageDetected;
44
52
  constructor(options: VoiceCallSessionOptions);
45
53
  /**
46
54
  * Connect to the LiveKit room, publish a local audio track,
@@ -52,8 +60,8 @@ export declare class VoiceCallSession {
52
60
  */
53
61
  disconnect(): Promise<void>;
54
62
  /**
55
- * Synthesize text to speech using Deepgram Aura and play it through the LiveKit audio track.
56
- * Supports sentence-level streaming call multiple times for each sentence.
63
+ * Synthesize text to speech and play it through the LiveKit audio track.
64
+ * Uses unified TTS engine (Deepgram or Volcengine) based on config/language.
57
65
  */
58
66
  speakText(text: string, abortSignal?: AbortSignal): Promise<void>;
59
67
  /**
@@ -66,6 +74,15 @@ export declare class VoiceCallSession {
66
74
  */
67
75
  cancelCurrentPlayback(): void;
68
76
  private connectStt;
77
+ /**
78
+ * Reconnect STT immediately with the newly detected language.
79
+ * Closes the current Deepgram connection and opens a new one.
80
+ */
81
+ private reconnectSttWithNewLanguage;
82
+ /**
83
+ * Schedule STT reconnection with exponential backoff (1s → 30s max).
84
+ */
85
+ private scheduleReconnectStt;
69
86
  private handleTrackSubscribed;
70
87
  private startAudioPipeline;
71
88
  private resetSilenceTimer;
@@ -9,17 +9,28 @@ import { Room, RoomEvent, LocalAudioTrack, AudioSource, AudioStream, AudioFrame,
9
9
  import { TrackPublishOptions } from "@livekit/rtc-node";
10
10
  import { TrackSource } from "@livekit/rtc-node";
11
11
  import { createClient, LiveTranscriptionEvents } from "@deepgram/sdk";
12
+ import { synthesizeSpeechForCall } from "./ttsEngine.js";
12
13
  export function resolveVoiceCallConfig(cfg) {
13
14
  const deepgramApiKey = cfg.deepgramApiKey || process.env.DEEPGRAM_API_KEY || "";
15
+ const sttLanguage = cfg.stt?.language ?? "en";
16
+ const ttsModel = cfg.tts?.model ?? "aura-asteria-en";
14
17
  return {
15
18
  deepgramApiKey,
16
19
  sttModel: cfg.stt?.model ?? "nova-2",
17
- sttLanguage: cfg.stt?.language ?? "en",
20
+ sttLanguage,
21
+ autoDetect: cfg.stt?.autoDetect ?? false,
18
22
  utteranceEndMs: cfg.stt?.utteranceEndMs ?? 500,
19
23
  endpointing: cfg.stt?.endpointing ?? 300,
20
- ttsModel: cfg.tts?.model ?? "aura-asteria-en",
24
+ ttsModel,
21
25
  silenceTimeoutSeconds: cfg.silenceTimeoutSeconds ?? 120,
22
26
  forceTurnRelay: cfg.forceTurnRelay ?? false,
27
+ callTts: {
28
+ ttsEngine: cfg.ttsEngine ?? "auto",
29
+ sttLanguage,
30
+ deepgramApiKey,
31
+ deepgramTtsModel: ttsModel,
32
+ volcengineTts: cfg.volcengineTts,
33
+ },
23
34
  };
24
35
  }
25
36
  export class VoiceCallSession {
@@ -41,6 +52,12 @@ export class VoiceCallSession {
41
52
  disposed = false;
42
53
  // TTS playback state for barge-in support
43
54
  currentTtsAbort = null;
55
+ // STT reconnection state
56
+ sttReconnectAttempts = 0;
57
+ sttReconnectTimer = null;
58
+ static MAX_STT_RECONNECT = 10;
59
+ // Language auto-detection state
60
+ languageDetected = false;
44
61
  constructor(options) {
45
62
  this.callId = options.callId;
46
63
  this.groupId = options.groupId;
@@ -115,6 +132,11 @@ export class VoiceCallSession {
115
132
  this.log?.info?.(`[voice-call:${this.callId}] disconnecting`);
116
133
  // Cancel any in-flight TTS
117
134
  this.cancelCurrentPlayback();
135
+ // Stop STT reconnect timer
136
+ if (this.sttReconnectTimer) {
137
+ clearTimeout(this.sttReconnectTimer);
138
+ this.sttReconnectTimer = null;
139
+ }
118
140
  // Stop silence timer
119
141
  if (this.silenceTimer) {
120
142
  clearTimeout(this.silenceTimer);
@@ -155,30 +177,15 @@ export class VoiceCallSession {
155
177
  }
156
178
  }
157
179
  /**
158
- * Synthesize text to speech using Deepgram Aura and play it through the LiveKit audio track.
159
- * Supports sentence-level streaming call multiple times for each sentence.
180
+ * Synthesize text to speech and play it through the LiveKit audio track.
181
+ * Uses unified TTS engine (Deepgram or Volcengine) based on config/language.
160
182
  */
161
183
  async speakText(text, abortSignal) {
162
184
  if (this.disposed || !this.audioSource)
163
185
  return;
164
- const url = `https://api.deepgram.com/v1/speak?model=${encodeURIComponent(this.config.ttsModel)}&encoding=linear16&sample_rate=48000`;
165
- const res = await fetch(url, {
166
- method: "POST",
167
- headers: {
168
- Authorization: `Token ${this.config.deepgramApiKey}`,
169
- "Content-Type": "application/json",
170
- },
171
- body: JSON.stringify({ text }),
172
- signal: abortSignal,
173
- });
174
- if (!res.ok) {
175
- this.log?.warn?.(`[voice-call:${this.callId}] TTS error: ${res.status} ${res.statusText}`);
186
+ const pcmData = await synthesizeSpeechForCall(text, this.config.callTts, abortSignal, this.log);
187
+ if (!pcmData || abortSignal?.aborted || this.disposed)
176
188
  return;
177
- }
178
- const arrayBuffer = await res.arrayBuffer();
179
- if (abortSignal?.aborted)
180
- return;
181
- const pcmData = new Int16Array(arrayBuffer);
182
189
  // Send audio in 20ms frames at 48kHz mono (48000 * 0.020 = 960 samples per frame)
183
190
  const samplesPerFrame = 960;
184
191
  for (let i = 0; i < pcmData.length; i += samplesPerFrame) {
@@ -244,6 +251,7 @@ export class VoiceCallSession {
244
251
  endpointing: this.config.endpointing,
245
252
  vad_events: true,
246
253
  smart_format: true,
254
+ ...(this.config.autoDetect && !this.languageDetected ? { detect_language: true } : {}),
247
255
  });
248
256
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
249
257
  connection.on(LiveTranscriptionEvents.Transcript, (data) => {
@@ -251,6 +259,20 @@ export class VoiceCallSession {
251
259
  if (transcript && transcript.trim().length > 0) {
252
260
  const isFinal = data.is_final ?? false;
253
261
  if (isFinal) {
262
+ this.sttReconnectAttempts = 0; // Reset on successful transcript
263
+ // Auto-detect language from first transcript
264
+ if (this.config.autoDetect && !this.languageDetected) {
265
+ this.languageDetected = true;
266
+ const detectedLang = data.channel?.alternatives?.[0]?.languages?.[0];
267
+ if (detectedLang && detectedLang !== this.config.sttLanguage) {
268
+ this.log?.info?.(`[voice-call:${this.callId}] auto-detected language: ${detectedLang} (was ${this.config.sttLanguage}), reconnecting STT`);
269
+ this.config.sttLanguage = detectedLang;
270
+ // Update TTS language to match
271
+ this.config.callTts.sttLanguage = detectedLang;
272
+ // Reconnect STT with detected language
273
+ this.reconnectSttWithNewLanguage();
274
+ }
275
+ }
254
276
  this.resetSilenceTimer();
255
277
  this.log?.info?.(`[voice-call:${this.callId}] STT final: "${transcript.trim()}"`);
256
278
  this.onTranscript(transcript.trim());
@@ -265,8 +287,16 @@ export class VoiceCallSession {
265
287
  connection.on(LiveTranscriptionEvents.Error, (err) => {
266
288
  this.log?.warn?.(`[voice-call:${this.callId}] Deepgram STT error: ${err instanceof Error ? err.message : JSON.stringify(err)}`);
267
289
  });
290
+ connection.on(LiveTranscriptionEvents.Close, () => {
291
+ if (!this.disposed) {
292
+ this.log?.warn?.(`[voice-call:${this.callId}] Deepgram STT closed unexpectedly, scheduling reconnect`);
293
+ this.scheduleReconnectStt();
294
+ }
295
+ });
268
296
  this.deepgramConnection = connection;
269
297
  // KeepAlive every 5s to prevent WebSocket timeout
298
+ if (this.keepAliveInterval)
299
+ clearInterval(this.keepAliveInterval);
270
300
  this.keepAliveInterval = setInterval(() => {
271
301
  try {
272
302
  if (this.deepgramConnection) {
@@ -278,6 +308,67 @@ export class VoiceCallSession {
278
308
  }
279
309
  }, 5000);
280
310
  }
311
+ /**
312
+ * Reconnect STT immediately with the newly detected language.
313
+ * Closes the current Deepgram connection and opens a new one.
314
+ */
315
+ reconnectSttWithNewLanguage() {
316
+ if (this.disposed)
317
+ return;
318
+ if (this.keepAliveInterval) {
319
+ clearInterval(this.keepAliveInterval);
320
+ this.keepAliveInterval = null;
321
+ }
322
+ try {
323
+ this.deepgramConnection?.requestClose();
324
+ }
325
+ catch { /* ignore */ }
326
+ this.deepgramConnection = null;
327
+ this.connectStt();
328
+ // Re-pipe existing audio tracks
329
+ for (const [, participant] of this.room.remoteParticipants) {
330
+ for (const [, publication] of participant.trackPublications) {
331
+ if (publication.track && publication.kind === TrackKind.KIND_AUDIO) {
332
+ this.startAudioPipeline(publication.track, participant);
333
+ }
334
+ }
335
+ }
336
+ }
337
+ /**
338
+ * Schedule STT reconnection with exponential backoff (1s → 30s max).
339
+ */
340
+ scheduleReconnectStt() {
341
+ if (this.disposed || this.sttReconnectAttempts >= VoiceCallSession.MAX_STT_RECONNECT) {
342
+ this.log?.warn?.(`[voice-call:${this.callId}] STT max reconnect attempts reached, giving up`);
343
+ return;
344
+ }
345
+ const delay = Math.min(1000 * Math.pow(2, this.sttReconnectAttempts), 30000);
346
+ this.sttReconnectAttempts++;
347
+ this.log?.info?.(`[voice-call:${this.callId}] STT reconnect attempt ${this.sttReconnectAttempts} in ${delay}ms`);
348
+ this.sttReconnectTimer = setTimeout(() => {
349
+ if (this.disposed)
350
+ return;
351
+ // Clean up old connection
352
+ if (this.keepAliveInterval) {
353
+ clearInterval(this.keepAliveInterval);
354
+ this.keepAliveInterval = null;
355
+ }
356
+ try {
357
+ this.deepgramConnection?.requestClose();
358
+ }
359
+ catch { /* ignore */ }
360
+ this.deepgramConnection = null;
361
+ // Reconnect and re-pipe existing audio tracks
362
+ this.connectStt();
363
+ for (const [, participant] of this.room.remoteParticipants) {
364
+ for (const [, publication] of participant.trackPublications) {
365
+ if (publication.track && publication.kind === TrackKind.KIND_AUDIO) {
366
+ this.startAudioPipeline(publication.track, participant);
367
+ }
368
+ }
369
+ }
370
+ }, delay);
371
+ }
281
372
  handleTrackSubscribed(track, _publication, participant) {
282
373
  if (track.kind !== TrackKind.KIND_AUDIO)
283
374
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"voiceCall.js","sourceRoot":"","sources":["../../src/voiceCall.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"voiceCall.js","sourceRoot":"","sources":["../../src/voiceCall.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ozaiya/openclaw-channel",
3
- "version": "0.7.6",
3
+ "version": "0.7.8",
4
4
  "description": "OpenClaw channel plugin for Ozaiya Chat",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -56,6 +56,22 @@ declare module "openclaw/plugin-sdk" {
56
56
  state: {
57
57
  resolveStateDir(): string;
58
58
  };
59
+ tts: {
60
+ textToSpeech(params: {
61
+ text: string;
62
+ cfg: OpenClawConfig;
63
+ channel?: string;
64
+ overrides?: unknown;
65
+ disableFallback?: boolean;
66
+ }): Promise<{
67
+ success: boolean;
68
+ audioPath?: string;
69
+ error?: string;
70
+ latencyMs?: number;
71
+ provider?: string;
72
+ outputFormat?: string;
73
+ }>;
74
+ };
59
75
  channel: {
60
76
  routing: {
61
77
  resolveAgentRoute(opts: {