diff --git a/diagnostic/index.html b/diagnostic/index.html
index ff38df4..9625597 100644
--- a/diagnostic/index.html
+++ b/diagnostic/index.html
@@ -1249,7 +1249,7 @@
}
function loadXTTSVoices() {
- sendToRVS_raw({ type: 'xtts_list_voices', payload: {}, timestamp: Date.now() });
+ send({ action: 'xtts_list_voices' });
}
function arrayBufferToBase64(buffer) {
@@ -1284,11 +1284,7 @@
const totalSize = samples.reduce((s, f) => s + f.size, 0);
status.textContent = `Sende ${samples.length} Sample(s) (${(totalSize / 1024).toFixed(0)}KB)...`;
- sendToRVS_raw({
- type: 'voice_upload',
- payload: { name, samples },
- timestamp: Date.now(),
- });
+ send({ action: 'voice_upload', name, samples });
status.textContent = `Gesendet — warte auf Bestaetigung vom XTTS-Server...`;
} catch (err) {
diff --git a/diagnostic/server.js b/diagnostic/server.js
index 5835205..077921c 100644
--- a/diagnostic/server.js
+++ b/diagnostic/server.js
@@ -1165,6 +1165,12 @@ wss.on("connection", (ws) => {
if (pipelineActive) pipelineEnd(false, "Vom Benutzer abgebrochen");
broadcast({ type: "agent_activity", activity: "idle" });
dockerExec("aria-core", "openclaw doctor --fix 2>/dev/null || true").catch(() => {});
+ } else if (msg.action === "voice_upload") {
+ // Voice-Samples an XTTS-Bridge via RVS weiterleiten
+ sendToRVS_raw({ type: "voice_upload", payload: { name: msg.name, samples: msg.samples }, timestamp: Date.now() });
+ log("info", "server", `Voice-Upload '${msg.name}' (${(msg.samples || []).length} Samples) an RVS gesendet`);
+ } else if (msg.action === "xtts_list_voices") {
+ sendToRVS_raw({ type: "xtts_list_voices", payload: {}, timestamp: Date.now() });
} else if (msg.action === "get_voice_config") {
handleGetVoiceConfig(ws);
} else if (msg.action === "send_voice_config") {