diff --git a/public/index.html b/public/index.html
index c0ae255..a397e7d 100644
--- a/public/index.html
+++ b/public/index.html
@@ -21,6 +21,7 @@
+
@@ -37,7 +38,7 @@
let mediaRecorder, chunks = [], userBlob = null;
let isRecording = false, micAnalyser = null, micAnimId = null;
- let audioContext = null;
+ let audioContext = null, sessionSid = null;
function setStatus(msg) { status.textContent = msg; }
@@ -133,10 +134,12 @@
const cRes = await fetch('/api/chat', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
- body: JSON.stringify({ model: 'gpt-oss-120b', message: text }),
- signal: (() => { const ac = new AbortController(); setTimeout(() => ac.abort(), 60000); return ac.signal; })(),
+ body: JSON.stringify({ model: 'gpt-oss-120b', message: text, sid: sessionSid }),
+ signal: (() => { const ac = new AbortController(); setTimeout(() => ac.abort(), 120000); return ac.signal; })(),
});
const cData = await cRes.json();
+ if (cData.sid) sessionSid = cData.sid;
+ const cData = await cRes.json();
chat.innerHTML += '🤖 GPT-OSS: ' + (cData.response || cData.error || 'Ошибка') + '
';
chat.scrollTop = chat.scrollHeight;
setStatus('✅ Готово');
@@ -149,6 +152,17 @@
userBlob = null;
btnPlay.disabled = true;
}
+
+ document.getElementById('btnReset').onclick = async () => {
+ await fetch('/api/reset', {
+ method: 'POST',
+ headers: { 'Content-Type': 'application/json' },
+ body: JSON.stringify({ sid: sessionSid }),
+ });
+ sessionSid = null;
+ chat.innerHTML = '';
+ setStatus('🧹 История очищена');
+ };