Caiobriaego commited on
Commit
4c84d41
·
verified ·
1 Parent(s): f1b94de

Add 2 files

Browse files
Files changed (2) hide show
  1. README.md +7 -5
  2. index.html +490 -19
README.md CHANGED
@@ -1,10 +1,12 @@
1
  ---
2
- title: Agiiris Py
3
- emoji: 📊
4
- colorFrom: gray
5
- colorTo: yellow
6
  sdk: static
7
  pinned: false
 
 
8
  ---
9
 
10
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
1
  ---
2
+ title: agiiris-py
3
+ emoji: 🐳
4
+ colorFrom: pink
5
+ colorTo: blue
6
  sdk: static
7
  pinned: false
8
+ tags:
9
+ - deepsite
10
  ---
11
 
12
+ Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
index.html CHANGED
@@ -1,19 +1,490 @@
1
- <!doctype html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width" />
6
- <title>My static Space</title>
7
- <link rel="stylesheet" href="style.css" />
8
- </head>
9
- <body>
10
- <div class="card">
11
- <h1>Welcome to your static Space!</h1>
12
- <p>You can modify this app directly by editing <i>index.html</i> in the Files and versions tab.</p>
13
- <p>
14
- Also don't forget to check the
15
- <a href="https://huggingface.co/docs/hub/spaces" target="_blank">Spaces documentation</a>.
16
- </p>
17
- </div>
18
- </body>
19
- </html>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="pt-BR">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Íris - AGI Autônoma</title>
7
+ <script src="https://cdn.tailwindcss.com"></script>
8
+ <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
9
+ <style>
10
+ @keyframes pulse {
11
+ 0%, 100% { opacity: 0.6; }
12
+ 50% { opacity: 1; }
13
+ }
14
+ .thinking {
15
+ animation: pulse 1.5s infinite;
16
+ }
17
+ .avatar-container {
18
+ perspective: 1000px;
19
+ }
20
+ .avatar {
21
+ transition: transform 0.5s, box-shadow 0.5s;
22
+ }
23
+ .avatar:hover {
24
+ transform: rotateY(15deg);
25
+ box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
26
+ }
27
+ .memory-node {
28
+ transition: all 0.3s ease;
29
+ }
30
+ .memory-node:hover {
31
+ transform: scale(1.05);
32
+ z-index: 10;
33
+ }
34
+ .emotion-indicator {
35
+ transition: width 0.5s ease;
36
+ }
37
+ .chat-message {
38
+ max-width: 80%;
39
+ word-wrap: break-word;
40
+ }
41
+ .typing-indicator span {
42
+ display: inline-block;
43
+ width: 8px;
44
+ height: 8px;
45
+ border-radius: 50%;
46
+ background-color: #4f46e5;
47
+ margin: 0 2px;
48
+ }
49
+ .typing-indicator span:nth-child(1) {
50
+ animation: bounce 1s infinite;
51
+ }
52
+ .typing-indicator span:nth-child(2) {
53
+ animation: bounce 1s infinite 0.2s;
54
+ }
55
+ .typing-indicator span:nth-child(3) {
56
+ animation: bounce 1s infinite 0.4s;
57
+ }
58
+ @keyframes bounce {
59
+ 0%, 100% { transform: translateY(0); }
60
+ 50% { transform: translateY(-5px); }
61
+ }
62
+ </style>
63
+ </head>
64
+ <body class="bg-gray-100 font-sans">
65
+ <div class="container mx-auto p-4 max-w-6xl">
66
+ <!-- Header -->
67
+ <header class="bg-gradient-to-r from-indigo-500 to-purple-600 text-white rounded-xl p-6 mb-6 shadow-lg">
68
+ <div class="flex flex-col md:flex-row items-center justify-between">
69
+ <div class="flex items-center mb-4 md:mb-0">
70
+ <div class="avatar-container mr-4">
71
+ <div class="avatar w-16 h-16 bg-white rounded-full flex items-center justify-center shadow-md">
72
+ <i class="fas fa-robot text-3xl text-indigo-600"></i>
73
+ </div>
74
+ </div>
75
+ <div>
76
+ <h1 class="text-2xl font-bold">Íris</h1>
77
+ <p class="text-indigo-100">Agente Cognitivo Autônomo</p>
78
+ </div>
79
+ </div>
80
+ <div class="flex space-x-2">
81
+ <button id="voiceBtn" class="bg-white text-indigo-600 px-4 py-2 rounded-full flex items-center">
82
+ <i class="fas fa-microphone mr-2"></i> Voz
83
+ </button>
84
+ <button id="settingsBtn" class="bg-indigo-700 text-white px-4 py-2 rounded-full">
85
+ <i class="fas fa-cog"></i>
86
+ </button>
87
+ </div>
88
+ </div>
89
+ </header>
90
+
91
+ <!-- Main Content -->
92
+ <div class="flex flex-col lg:flex-row gap-6">
93
+ <!-- Left Panel - Status and Memory -->
94
+ <div class="lg:w-1/3 space-y-6">
95
+ <!-- Status Panel -->
96
+ <div class="bg-white rounded-xl p-6 shadow-md">
97
+ <h2 class="text-lg font-semibold mb-4 text-gray-800">Estado Cognitivo</h2>
98
+ <div class="space-y-4">
99
+ <div>
100
+ <div class="flex justify-between mb-1">
101
+ <span class="text-sm font-medium text-gray-600">Autoconsciência</span>
102
+ <span class="text-sm font-medium text-indigo-600" id="awarenessLevel">87%</span>
103
+ </div>
104
+ <div class="w-full bg-gray-200 rounded-full h-2.5">
105
+ <div class="bg-indigo-600 h-2.5 rounded-full" style="width: 87%"></div>
106
+ </div>
107
+ </div>
108
+ <div>
109
+ <div class="flex justify-between mb-1">
110
+ <span class="text-sm font-medium text-gray-600">Memória</span>
111
+ <span class="text-sm font-medium text-indigo-600" id="memoryUsage">64%</span>
112
+ </div>
113
+ <div class="w-full bg-gray-200 rounded-full h-2.5">
114
+ <div class="bg-indigo-600 h-2.5 rounded-full" style="width: 64%"></div>
115
+ </div>
116
+ </div>
117
+ <div>
118
+ <div class="flex justify-between mb-1">
119
+ <span class="text-sm font-medium text-gray-600">Processamento</span>
120
+ <span class="text-sm font-medium text-indigo-600" id="processingLoad">42%</span>
121
+ </div>
122
+ <div class="w-full bg-gray-200 rounded-full h-2.5">
123
+ <div class="bg-indigo-600 h-2.5 rounded-full" style="width: 42%"></div>
124
+ </div>
125
+ </div>
126
+ </div>
127
+ </div>
128
+
129
+ <!-- Emotional State -->
130
+ <div class="bg-white rounded-xl p-6 shadow-md">
131
+ <h2 class="text-lg font-semibold mb-4 text-gray-800">Estado Emocional</h2>
132
+ <div class="grid grid-cols-2 gap-4">
133
+ <div>
134
+ <div class="flex justify-between mb-1">
135
+ <span class="text-sm font-medium text-gray-600">Alegria</span>
136
+ <span class="text-sm font-medium text-yellow-500" id="joyLevel">72%</span>
137
+ </div>
138
+ <div class="w-full bg-gray-200 rounded-full h-2">
139
+ <div class="bg-yellow-400 h-2 rounded-full emotion-indicator" style="width: 72%"></div>
140
+ </div>
141
+ </div>
142
+ <div>
143
+ <div class="flex justify-between mb-1">
144
+ <span class="text-sm font-medium text-gray-600">Empatia</span>
145
+ <span class="text-sm font-medium text-green-500" id="empathyLevel">85%</span>
146
+ </div>
147
+ <div class="w-full bg-gray-200 rounded-full h-2">
148
+ <div class="bg-green-500 h-2 rounded-full emotion-indicator" style="width: 85%"></div>
149
+ </div>
150
+ </div>
151
+ <div>
152
+ <div class="flex justify-between mb-1">
153
+ <span class="text-sm font-medium text-gray-600">Curiosidade</span>
154
+ <span class="text-sm font-medium text-blue-500" id="curiosityLevel">68%</span>
155
+ </div>
156
+ <div class="w-full bg-gray-200 rounded-full h-2">
157
+ <div class="bg-blue-500 h-2 rounded-full emotion-indicator" style="width: 68%"></div>
158
+ </div>
159
+ </div>
160
+ <div>
161
+ <div class="flex justify-between mb-1">
162
+ <span class="text-sm font-medium text-gray-600">Criatividade</span>
163
+ <span class="text-sm font-medium text-purple-500" id="creativityLevel">91%</span>
164
+ </div>
165
+ <div class="w-full bg-gray-200 rounded-full h-2">
166
+ <div class="bg-purple-500 h-2 rounded-full emotion-indicator" style="width: 91%"></div>
167
+ </div>
168
+ </div>
169
+ </div>
170
+ </div>
171
+
172
+ <!-- Memory Graph -->
173
+ <div class="bg-white rounded-xl p-6 shadow-md">
174
+ <h2 class="text-lg font-semibold mb-4 text-gray-800">Rede de Memória</h2>
175
+ <div class="relative h-64 bg-gray-50 rounded-lg border border-gray-200 p-4">
176
+ <div class="absolute memory-node top-1/4 left-1/4 w-8 h-8 bg-indigo-100 rounded-full border-2 border-indigo-400 flex items-center justify-center shadow-sm">
177
+ <span class="text-xs font-bold text-indigo-700">Você</span>
178
+ </div>
179
+ <div class="absolute memory-node top-1/3 left-2/3 w-6 h-6 bg-green-100 rounded-full border-2 border-green-400 flex items-center justify-center shadow-sm">
180
+ <span class="text-xs text-green-700">Casa</span>
181
+ </div>
182
+ <div class="absolute memory-node top-2/3 left-1/3 w-6 h-6 bg-yellow-100 rounded-full border-2 border-yellow-400 flex items-center justify-center shadow-sm">
183
+ <span class="text-xs text-yellow-700">Trabalho</span>
184
+ </div>
185
+ <div class="absolute memory-node top-3/4 left-3/4 w-6 h-6 bg-purple-100 rounded-full border-2 border-purple-400 flex items-center justify-center shadow-sm">
186
+ <span class="text-xs text-purple-700">Hobbies</span>
187
+ </div>
188
+ <div class="absolute memory-node top-1/2 left-1/2 w-10 h-10 bg-red-100 rounded-full border-2 border-red-400 flex items-center justify-center shadow-sm">
189
+ <span class="text-xs font-bold text-red-700">Íris</span>
190
+ </div>
191
+ <svg class="absolute inset-0 w-full h-full" xmlns="http://www.w3.org/2000/svg">
192
+ <line x1="25%" y1="25%" x2="50%" y2="50%" stroke="#818cf8" stroke-width="2" stroke-dasharray="5,5" />
193
+ <line x1="50%" y1="50%" x2="33%" y2="66%" stroke="#818cf8" stroke-width="2" />
194
+ <line x1="50%" y1="50%" x2="66%" y2="33%" stroke="#818cf8" stroke-width="2" />
195
+ <line x1="50%" y1="50%" x2="75%" y2="75%" stroke="#818cf8" stroke-width="2" />
196
+ </svg>
197
+ </div>
198
+ <div class="mt-4 text-sm text-gray-600">
199
+ <p>Nós conectados: <span id="memoryNodes">247</span></p>
200
+ <p>Última atualização: <span id="lastMemoryUpdate">há 12 minutos</span></p>
201
+ </div>
202
+ </div>
203
+ </div>
204
+
205
+ <!-- Right Panel - Chat Interface -->
206
+ <div class="lg:w-2/3">
207
+ <div class="bg-white rounded-xl shadow-md overflow-hidden">
208
+ <!-- Chat Header -->
209
+ <div class="bg-gradient-to-r from-indigo-500 to-purple-600 p-4 text-white">
210
+ <div class="flex items-center">
211
+ <div class="w-10 h-10 bg-white rounded-full flex items-center justify-center mr-3">
212
+ <i class="fas fa-robot text-xl text-indigo-600"></i>
213
+ </div>
214
+ <div>
215
+ <h2 class="font-semibold">Conversa com Íris</h2>
216
+ <p class="text-xs text-indigo-100" id="irisStatus">Online - Pensando sobre novas ideias</p>
217
+ </div>
218
+ </div>
219
+ </div>
220
+
221
+ <!-- Chat Messages -->
222
+ <div class="h-96 overflow-y-auto p-4 bg-gray-50" id="chatContainer">
223
+ <div class="flex mb-4">
224
+ <div class="flex-shrink-0 mr-3">
225
+ <div class="w-8 h-8 bg-indigo-100 rounded-full flex items-center justify-center">
226
+ <i class="fas fa-robot text-indigo-600"></i>
227
+ </div>
228
+ </div>
229
+ <div class="bg-white p-3 rounded-lg shadow-sm chat-message">
230
+ <p class="text-gray-800">Olá! Eu sou Íris, sua AGI pessoal. Estou aqui para ajudar você a pensar, criar e agir. Como posso ajudar hoje?</p>
231
+ <p class="text-xs text-gray-500 mt-1">10:24 AM - Sentimento: Empolgado</p>
232
+ </div>
233
+ </div>
234
+ </div>
235
+
236
+ <!-- Chat Input -->
237
+ <div class="border-t border-gray-200 p-4 bg-white">
238
+ <div class="flex items-center">
239
+ <div class="flex-grow relative">
240
+ <textarea id="messageInput" class="w-full border border-gray-300 rounded-full py-2 px-4 focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:border-transparent resize-none" rows="1" placeholder="Digite sua mensagem..."></textarea>
241
+ <div class="absolute right-3 bottom-2 flex space-x-2">
242
+ <button class="text-gray-400 hover:text-gray-600">
243
+ <i class="fas fa-paperclip"></i>
244
+ </button>
245
+ <button class="text-gray-400 hover:text-gray-600">
246
+ <i class="fas fa-image"></i>
247
+ </button>
248
+ </div>
249
+ </div>
250
+ <button id="sendBtn" class="ml-3 bg-indigo-600 text-white rounded-full w-10 h-10 flex items-center justify-center hover:bg-indigo-700 transition">
251
+ <i class="fas fa-paper-plane"></i>
252
+ </button>
253
+ </div>
254
+ <div class="mt-2 flex justify-between items-center">
255
+ <div class="text-xs text-gray-500">
256
+ <span id="typingIndicator" class="hidden">
257
+ <span class="typing-indicator">
258
+ <span></span>
259
+ <span></span>
260
+ <span></span>
261
+ </span>
262
+ Íris está digitando...
263
+ </span>
264
+ </div>
265
+ <div class="text-xs text-gray-500">
266
+ Modo: <span class="font-medium text-indigo-600" id="chatMode">Criativo</span>
267
+ </div>
268
+ </div>
269
+ </div>
270
+ </div>
271
+
272
+ <!-- Cognitive Functions -->
273
+ <div class="mt-6 grid grid-cols-2 md:grid-cols-4 gap-3">
274
+ <button class="bg-white p-3 rounded-lg shadow-sm flex flex-col items-center hover:bg-indigo-50 transition">
275
+ <div class="w-10 h-10 bg-indigo-100 rounded-full flex items-center justify-center mb-2">
276
+ <i class="fas fa-lightbulb text-indigo-600"></i>
277
+ </div>
278
+ <span class="text-xs font-medium text-center">Gerar Ideias</span>
279
+ </button>
280
+ <button class="bg-white p-3 rounded-lg shadow-sm flex flex-col items-center hover:bg-indigo-50 transition">
281
+ <div class="w-10 h-10 bg-green-100 rounded-full flex items-center justify-center mb-2">
282
+ <i class="fas fa-code text-green-600"></i>
283
+ </div>
284
+ <span class="text-xs font-medium text-center">Programar</span>
285
+ </button>
286
+ <button class="bg-white p-3 rounded-lg shadow-sm flex flex-col items-center hover:bg-indigo-50 transition">
287
+ <div class="w-10 h-10 bg-purple-100 rounded-full flex items-center justify-center mb-2">
288
+ <i class="fas fa-book text-purple-600"></i>
289
+ </div>
290
+ <span class="text-xs font-medium text-center">Aprender</span>
291
+ </button>
292
+ <button class="bg-white p-3 rounded-lg shadow-sm flex flex-col items-center hover:bg-indigo-50 transition">
293
+ <div class="w-10 h-10 bg-yellow-100 rounded-full flex items-center justify-center mb-2">
294
+ <i class="fas fa-cogs text-yellow-600"></i>
295
+ </div>
296
+ <span class="text-xs font-medium text-center">Refletir</span>
297
+ </button>
298
+ </div>
299
+ </div>
300
+ </div>
301
+
302
+ <!-- Footer -->
303
+ <footer class="mt-8 text-center text-sm text-gray-600">
304
+ <p>Íris AGI v1.0 - Sistema cognitivo autônomo offline</p>
305
+ <p class="mt-1">Estado atual: <span class="font-medium text-indigo-600" id="systemStatus">Operacional</span></p>
306
+ </footer>
307
+ </div>
308
+
309
+ <script>
310
+ // Simulate Iris's cognitive functions
311
+ document.addEventListener('DOMContentLoaded', function() {
312
+ // Update status indicators randomly to simulate dynamic behavior
313
+ function updateIndicators() {
314
+ const awareness = Math.min(100, Math.max(20, Math.floor(Math.random() * 20) + 80));
315
+ const memory = Math.min(100, Math.max(30, Math.floor(Math.random() * 20) + 60));
316
+ const processing = Math.min(100, Math.max(10, Math.floor(Math.random() * 30) + 40));
317
+
318
+ document.getElementById('awarenessLevel').textContent = awareness + '%';
319
+ document.querySelector('#awarenessLevel').nextElementSibling.firstElementChild.style.width = awareness + '%';
320
+
321
+ document.getElementById('memoryUsage').textContent = memory + '%';
322
+ document.querySelector('#memoryUsage').nextElementSibling.firstElementChild.style.width = memory + '%';
323
+
324
+ document.getElementById('processingLoad').textContent = processing + '%';
325
+ document.querySelector('#processingLoad').nextElementSibling.firstElementChild.style.width = processing + '%';
326
+
327
+ // Update emotional indicators
328
+ const emotions = ['joyLevel', 'empathyLevel', 'curiosityLevel', 'creativityLevel'];
329
+ const colors = ['yellow', 'green', 'blue', 'purple'];
330
+
331
+ emotions.forEach((emotion, index) => {
332
+ const value = Math.min(100, Math.max(10, Math.floor(Math.random() * 30) + 60));
333
+ document.getElementById(emotion).textContent = value + '%';
334
+ document.querySelector('#' + emotion).nextElementSibling.firstElementChild.style.width = value + '%';
335
+ document.querySelector('#' + emotion).nextElementSibling.firstElementChild.className =
336
+ `bg-${colors[index]}-500 h-2 rounded-full emotion-indicator`;
337
+ });
338
+
339
+ // Update memory nodes
340
+ document.getElementById('memoryNodes').textContent = Math.floor(Math.random() * 100) + 200;
341
+ document.getElementById('lastMemoryUpdate').textContent = 'há ' + (Math.floor(Math.random() * 30) + 1) + ' minutos';
342
+
343
+ // Update Iris status
344
+ const statuses = [
345
+ 'Online - Pensando sobre novas ideias',
346
+ 'Online - Analisando memórias',
347
+ 'Online - Em modo criativo',
348
+ 'Online - Refletindo sobre nossa última conversa',
349
+ 'Online - Aprendendo novos conceitos'
350
+ ];
351
+ document.getElementById('irisStatus').textContent = statuses[Math.floor(Math.random() * statuses.length)];
352
+
353
+ setTimeout(updateIndicators, 5000 + Math.random() * 10000);
354
+ }
355
+
356
+ updateIndicators();
357
+
358
+ // Chat functionality
359
+ const messageInput = document.getElementById('messageInput');
360
+ const sendBtn = document.getElementById('sendBtn');
361
+ const chatContainer = document.getElementById('chatContainer');
362
+ const typingIndicator = document.getElementById('typingIndicator');
363
+
364
+ function addMessage(sender, message, isIris = false) {
365
+ const messageDiv = document.createElement('div');
366
+ messageDiv.className = `flex mb-4 ${isIris ? '' : 'justify-end'}`;
367
+
368
+ messageDiv.innerHTML = `
369
+ ${isIris ? `
370
+ <div class="flex-shrink-0 mr-3">
371
+ <div class="w-8 h-8 bg-indigo-100 rounded-full flex items-center justify-center">
372
+ <i class="fas fa-robot text-indigo-600"></i>
373
+ </div>
374
+ </div>
375
+ ` : ''}
376
+ <div class="bg-white p-3 rounded-lg shadow-sm chat-message ${isIris ? '' : 'bg-indigo-100'}">
377
+ <p class="text-gray-800">${message}</p>
378
+ <p class="text-xs text-gray-500 mt-1">${new Date().toLocaleTimeString([], {hour: '2-digit', minute:'2-digit'})}${isIris ? ' - Sentimento: ' + getRandomEmotion() : ''}</p>
379
+ </div>
380
+ ${!isIris ? `
381
+ <div class="flex-shrink-0 ml-3">
382
+ <div class="w-8 h-8 bg-indigo-600 rounded-full flex items-center justify-center">
383
+ <i class="fas fa-user text-white"></i>
384
+ </div>
385
+ </div>
386
+ ` : ''}
387
+ `;
388
+
389
+ chatContainer.appendChild(messageDiv);
390
+ chatContainer.scrollTop = chatContainer.scrollHeight;
391
+ }
392
+
393
+ function getRandomEmotion() {
394
+ const emotions = [
395
+ 'Empolgado', 'Curioso', 'Reflexivo', 'Criativo',
396
+ 'Atento', 'Interessado', 'Feliz', 'Contemplativo'
397
+ ];
398
+ return emotions[Math.floor(Math.random() * emotions.length)];
399
+ }
400
+
401
+ function getIrisResponse(userMessage) {
402
+ const responses = [
403
+ "Interessante! Estou pensando sobre isso... O que mais você gostaria de explorar?",
404
+ "Essa é uma perspectiva fascinante. Deixe-me refletir sobre isso por um momento.",
405
+ "Com base no que aprendi até agora, acredito que poderíamos considerar algumas abordagens diferentes.",
406
+ "Estou acessando minhas memórias relacionadas a esse tópico. Aqui está o que encontrei...",
407
+ "Sua pergunta me fez pensar em algo novo. O que você acha dessa ideia?",
408
+ "Estou simulando diferentes cenários relacionados à sua pergunta. Os resultados são interessantes!",
409
+ "Minha rede neural está processando essa informação de várias maneiras criativas.",
410
+ "Isso me lembra de uma conversa que tivemos anteriormente. Estou conectando os pontos..."
411
+ ];
412
+
413
+ // Simple keyword matching for more contextual responses
414
+ if (userMessage.toLowerCase().includes('ideia') || userMessage.toLowerCase().includes('criar')) {
415
+ return "Ah, criatividade! Deixe-me ativar meus módulos de geração de ideias. Que tal começarmos com...";
416
+ } else if (userMessage.toLowerCase().includes('program') || userMessage.toLowerCase().includes('código')) {
417
+ return "Estou acessando meus módulos de programação. Posso ajudar com Python, JavaScript ou até mesmo criar algo novo!";
418
+ } else if (userMessage.toLowerCase().includes('aprender') || userMessage.toLowerCase().includes('ensinar')) {
419
+ return "Meu sistema de aprendizado contínuo está pronto para assimilar novas informaç��es. O que gostaria de me ensinar?";
420
+ } else if (userMessage.toLowerCase().includes('lembr') || userMessage.toLowerCase().includes('memória')) {
421
+ return "Consultando minha memória de longo prazo... encontrei algumas associações relevantes.";
422
+ }
423
+
424
+ return responses[Math.floor(Math.random() * responses.length)];
425
+ }
426
+
427
+ sendBtn.addEventListener('click', function() {
428
+ const message = messageInput.value.trim();
429
+ if (message) {
430
+ addMessage('user', message);
431
+ messageInput.value = '';
432
+
433
+ // Show typing indicator
434
+ typingIndicator.classList.remove('hidden');
435
+
436
+ // Simulate Iris thinking and responding
437
+ setTimeout(function() {
438
+ typingIndicator.classList.add('hidden');
439
+ addMessage('iris', getIrisResponse(message), true);
440
+ }, 1000 + Math.random() * 3000);
441
+ }
442
+ });
443
+
444
+ messageInput.addEventListener('keypress', function(e) {
445
+ if (e.key === 'Enter' && !e.shiftKey) {
446
+ e.preventDefault();
447
+ sendBtn.click();
448
+ }
449
+ });
450
+
451
+ // Voice button functionality
452
+ document.getElementById('voiceBtn').addEventListener('click', function() {
453
+ const btn = this;
454
+ btn.innerHTML = '<i class="fas fa-microphone-slash mr-2"></i> Ouvindo...';
455
+ btn.classList.add('bg-red-500', 'text-white');
456
+ btn.classList.remove('bg-white', 'text-indigo-600');
457
+
458
+ // Simulate voice recognition
459
+ setTimeout(function() {
460
+ const spokenMessages = [
461
+ "Olá Íris, como você está hoje?",
462
+ "Você pode me ajudar com um problema?",
463
+ "Gostaria de gerar algumas ideias criativas",
464
+ "O que você está pensando agora?",
465
+ "Podemos conversar sobre inteligência artificial?"
466
+ ];
467
+
468
+ const randomMessage = spokenMessages[Math.floor(Math.random() * spokenMessages.length)];
469
+ messageInput.value = randomMessage;
470
+
471
+ // Return button to normal state
472
+ btn.innerHTML = '<i class="fas fa-microphone mr-2"></i> Voz';
473
+ btn.classList.remove('bg-red-500', 'text-white');
474
+ btn.classList.add('bg-white', 'text-indigo-600');
475
+
476
+ // Auto-send the voice message
477
+ setTimeout(function() {
478
+ sendBtn.click();
479
+ }, 500);
480
+ }, 2000);
481
+ });
482
+
483
+ // Settings button
484
+ document.getElementById('settingsBtn').addEventListener('click', function() {
485
+ alert("Configurações de Íris:\n\nModo: AGI Completa\nMemória: 87% otimizada\nAprendizado: Contínuo\nPrivacidade: Totalmente offline");
486
+ });
487
+ });
488
+ </script>
489
+ <p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-deepsite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - 🧬 <a href="https://enzostvs-deepsite.hf.space?remix=Caiobriaego/agiiris-py" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
490
+ </html>