diff --git a/diagnostic/index.html b/diagnostic/index.html index d4cce11..f8ea7b9 100644 --- a/diagnostic/index.html +++ b/diagnostic/index.html @@ -320,8 +320,7 @@ - - + @@ -338,8 +337,7 @@
- - +
@@ -367,7 +365,6 @@
- @@ -386,7 +383,6 @@
- @@ -1118,13 +1114,12 @@ const btnScroll = document.getElementById('btn-scroll'); let ws; let activeTab = 'all'; - const DOCKER_TABS = ['gateway', 'proxy', 'bridge']; - const autoScroll = { all: true, gateway: true, rvs: true, proxy: true, bridge: true, server: true, trace: true }; - const logCounts = { all: 0, gateway: 0, rvs: 0, proxy: 0, bridge: 0, server: 0, trace: 0 }; + const DOCKER_TABS = ['proxy', 'bridge']; + const autoScroll = { all: true, rvs: true, proxy: true, bridge: true, server: true, trace: true }; + const logCounts = { all: 0, rvs: 0, proxy: 0, bridge: 0, server: 0, trace: 0 }; const logBoxes = { all: document.getElementById('log-all'), - gateway: document.getElementById('log-gateway'), rvs: document.getElementById('log-rvs'), proxy: document.getElementById('log-proxy'), bridge: document.getElementById('log-bridge'), @@ -1178,7 +1173,9 @@ } function mapSourceToTab(source) { - if (source === 'gateway') return 'gateway'; + // Gateway-Source: deprecated — falls noch was reinkommt zeigen wir's + // einfach unter 'server'. Spart einen toten Tab. + if (source === 'gateway') return 'server'; if (source === 'rvs') return 'rvs'; if (source === 'proxy') return 'proxy'; if (source === 'bridge') return 'bridge'; @@ -1620,18 +1617,6 @@ renderDiagPending(); } - function testGateway() { - const input = document.getElementById('chat-input'); - const text = input.value.trim(); - if (!text && diagPendingFiles.length === 0) return; - if (diagPendingFiles.length > 0) sendDiagAttachments(); - if (text) { - addChat('sent', text, 'Gateway direkt'); - send({ action: 'test_gateway', text }); - } - input.value = ''; - } - function testRVS() { const input = document.getElementById('chat-input'); const text = input.value.trim(); @@ -1771,7 +1756,6 @@ if (proxy.models && proxy.models.length) showProxyModels(proxy.models); // Buttons - document.getElementById('btn-gw').disabled = gw.status !== 'connected'; document.getElementById('btn-rvs').disabled = rvs.status !== 'connected'; } @@ -2094,14 +2078,6 @@ modal.style.display = 'none'; } } - function testGatewayFS() { - const input = document.getElementById('chat-input-fs'); - const text = input.value.trim(); - if (!text) return; - addChat('sent', text, 'Gateway direkt'); - send({ action: 'test_gateway', text }); - input.value = ''; - } function testRVSFS() { const input = document.getElementById('chat-input-fs'); const text = input.value.trim(); diff --git a/diagnostic/server.js b/diagnostic/server.js index db7471d..d38d28a 100644 --- a/diagnostic/server.js +++ b/diagnostic/server.js @@ -492,9 +492,10 @@ function handleGatewayMessage(msg) { } function sendToGateway(text, isTrace) { + // OpenClaw-Gateway ist raus — Brain via Bridge via RVS ist die einzige + // Route. Wir loggen nichts mehr; alte Trace-Aufrufe schliessen wir clean. if (!gatewayWs || gatewayWs.readyState !== WebSocket.OPEN) { - log("error", "gateway", "Nicht verbunden — kann nicht senden"); - if (isTrace) traceEnd(false, "Gateway nicht verbunden"); + if (isTrace) traceEnd(false, "Gateway deprecated — nutze RVS"); return false; } @@ -757,22 +758,20 @@ function sendToRVS_raw(msgObj) { } function sendToRVS(text, isTrace) { - // Ueber Gateway senden (zuverlaessig) UND an RVS fuer App-Sichtbarkeit - // Die Bridge empfaengt RVS-Nachrichten von der App zuverlaessig, - // aber die Diagnostic→RVS→Bridge Route hat Zombie-Probleme. - // Deshalb: Gateway fuer ARIA, RVS nur fuer App-Anzeige. - - // 1. An Gateway senden (damit ARIA antwortet) - const gatewayOk = sendToGateway(text, isTrace); - - // 2. An RVS senden (damit die App die Nachricht sieht) + // Brain-Pipeline: Diagnostic → RVS → Bridge → Brain (HTTP). OpenClaw- + // Gateway-Pfad ist abgeschaltet. Sender 'diagnostic' damit die Bridge + // den Text als User-Nachricht ans Brain weiterleitet und die App + + // Diagnostic die Bubble live spiegeln koennen. + if (!rvsWs || rvsWs.readyState !== WebSocket.OPEN) { + if (isTrace) traceEnd(false, "RVS nicht verbunden"); + return false; + } sendToRVS_raw({ type: "chat", payload: { text, sender: "diagnostic" }, timestamp: Date.now(), }); - - return gatewayOk; + return true; } // ── Claude Proxy Test ──────────────────────────────────── @@ -1836,8 +1835,11 @@ wss.on("connection", (ws) => { const msg = JSON.parse(raw.toString()); if (msg.action === "test_gateway") { - traceStart("Gateway", msg.text || "aria lebst du noch?"); - sendToGateway(msg.text || "aria lebst du noch?", true); + // Deprecated — Gateway-Pfad ist raus. Wir leiten an RVS um damit + // alte Browser-Sessions die noch den Button anzeigen nicht stumm + // ins Leere klicken. Neue Versionen kennen den Button nicht mehr. + traceStart("RVS", msg.text || "aria lebst du noch?"); + sendToRVS(msg.text || "aria lebst du noch?", true); } else if (msg.action === "test_rvs") { traceStart("RVS", msg.text || "aria lebst du noch?"); sendToRVS(msg.text || "aria lebst du noch?", true);