Skip to content

Commit 394e631

Browse files
authored
V1.5
1 parent 5e2d038 commit 394e631

2 files changed

Lines changed: 446 additions & 148 deletions

File tree

README.md

Lines changed: 130 additions & 140 deletions
Original file line numberDiff line numberDiff line change
@@ -1,201 +1,191 @@
1-
# Dev Teams
1+
# Dev Teams · AI Operations Hub
22

3-
![Status](https://img.shields.io/badge/status-alpha-0fa855?style=for-the-badge)
4-
![HTML5](https://img.shields.io/badge/HTML5-static_app-e34f26?style=for-the-badge&logo=html5&logoColor=white)
5-
![Three.js](https://img.shields.io/badge/Three.js-3D_workspace-111111?style=for-the-badge&logo=threedotjs&logoColor=white)
6-
![Chart.js](https://img.shields.io/badge/Chart.js-live_panels-ff6384?style=for-the-badge&logo=chartdotjs&logoColor=white)
7-
![Groq](https://img.shields.io/badge/Groq-live_or_demo-f55036?style=for-the-badge)
3+
![Status](https://img.shields.io/badge/estado-alpha-0fa855?style=for-the-badge)
4+
![Build](https://img.shields.io/badge/build-static_app-111111?style=for-the-badge)
5+
![Three.js](https://img.shields.io/badge/Three.js-r128-black?style=for-the-badge&logo=threedotjs&logoColor=white)
6+
![Groq](https://img.shields.io/badge/Groq-llama_4_%2F_kimi_k2-f55036?style=for-the-badge)
7+
![License](https://img.shields.io/badge/licencia-MIT-blue?style=for-the-badge)
88

9-
Dev Teams es una oficina 3D interactiva construida como una app estatica en una sola interfaz. Mezcla simulacion visual, chat multiagente, herramientas locales del navegador y respuestas reales con Groq cuando hay una API key valida.
9+
Una oficina 3D interactiva con ocho agentes de IA. Todo vive en un solo archivo HTML estático. Funciona en modo demo sin credenciales y escala a respuestas reales en cuanto conectas una API key de Groq.
1010

11-
![Portada](docs/screenshots/portada-repo.png)
11+
---
12+
13+
## Vista general
1214

13-
## Que es esta app
15+
![Portada](docs/screenshots/portada-repo.png)
1416

15-
La app funciona como una oficina virtual de Dev Teams:
17+
---
1618

17-
- una escena 3D con agentes y eventos
18-
- un panel lateral con arbol, flujo, consola, estado y dashboard
19-
- un chat con agentes individuales o modo broadcast
20-
- tools del navegador para leer y buscar archivos locales
21-
- integracion opcional con Groq para respuestas reales
19+
## Qué incluye
2220

23-
La mayor parte de la logica vive en [`index.html`](/C:/Users/POWER/Desktop/vscode/Devops/index.html).
21+
### Escena 3D
22+
- Ocho agentes con personalidad, rol y área de trabajo propia: Ana (CEO), Sofía (PM), Yared (Founder & Architect), Diego (FE), Marta (QA), Luis (DevOps), Valentina (UX) y Andrés (Data)
23+
- Pathfinding A* con Web Worker
24+
- Sombras dinámicas, ciclo día/noche, modo FPS, clima real de Cartagena vía Open-Meteo
25+
- Eventos ambientales: delivery, pausas, ping pong, visitante Paula
2426

25-
## Funciones principales
27+
### Panel lateral
28+
- **Árbol** — jerarquía del equipo con estado en tiempo real
29+
- **Flujo** — pasos MCP por agente con métricas de tokens y costo
30+
- **Consola** — chat individual o broadcast inteligente
31+
- **Estado** — actividad global con gráfica de 60 segundos
32+
- **Dashboard** — KPIs ejecutivos, decisiones compartidas y salud operativa
2633

27-
- Oficina 3D con agentes, estados y movimientos en tiempo real
28-
- Chat con un agente o con el equipo en modo broadcast inteligente
29-
- Routing automatico del chat segun el tema
34+
### Chat y multiagente
35+
- Routing automático al agente más relevante por tema
3036
- Planner interno para consultas complejas
31-
- Delegacion entre agentes por rol
32-
- Reuniones de equipo y reuniones 1:1
33-
- Asignacion de tareas con historial y resumen operativo
34-
- Tools locales del navegador para explorar archivos
35-
- Modo `demo` y modo `groq conectado`
36-
- Eventos ambientados como delivery, pausas y visitante psicologa
37-
38-
## Captura
37+
- Delegación entre roles con flechas de flujo
38+
- Compresión automática de memoria cuando el historial crece
39+
- Modo broadcast: selecciona los roles adecuados en lugar de disparar a todos
3940

40-
![Vista general](docs/screenshots/vision-general.png)
41+
### Workspace (File System Access API)
42+
- Conexión a carpeta local sin subir nada a ningún servidor
43+
- Lectura de `.txt`, `.md`, `.json`, `.js`, `.ts`, PDF, Excel y Word
44+
- Búsqueda en texto plano a través del proyecto
45+
- Análisis de archivos por rol activo usando Groq
4146

42-
## Como ejecutar
47+
---
4348

44-
Usa cualquier servidor estatico local.
49+
## Cómo ejecutar
4550

46-
Ejemplo:
51+
Cualquier servidor estático local funciona. La forma más rápida:
4752

4853
```bash
4954
python -m http.server 5500
5055
```
5156

52-
Luego abre:
57+
Luego abre `http://localhost:5500` en el navegador.
5358

54-
```text
55-
http://localhost:5500
56-
```
59+
También puedes usar Live Server, Vite, npx serve o cualquier equivalente.
60+
61+
> **Nota:** para los comandos de workspace (`/carpeta`, `/leer`, etc.) necesitas un navegador basado en Chromium. Firefox no soporta `showDirectoryPicker` todavía.
5762
58-
Tambien puedes usar Live Server o cualquier servidor estatico equivalente.
63+
---
5964

60-
## Como conectar Groq
65+
## Conectar Groq
6166

62-
1. Abre la app en el navegador.
63-
2. Pulsa el boton `API`.
64-
3. Selecciona el modelo.
65-
4. Pega tu API key de Groq.
66-
5. Pulsa `Guardar`.
67+
1. Abre la app y pulsa el botón **API** en la cabecera.
68+
2. Elige el modelo desde el selector.
69+
3. Pega tu API key (la consigues gratis en [console.groq.com](https://console.groq.com)).
70+
4. Pulsa **Guardar**.
6771

68-
Si la key es valida:
72+
La app valida la key con una llamada real antes de confirmar la conexión. Si falla, vuelve a modo demo automáticamente. La key se guarda en `sessionStorage` y nunca toca ningún backend propio.
6973

70-
- el badge deja de decir `demo mode`
71-
- pasa a `groq conectado`
72-
- el chat usa Groq
73-
- se activan comportamientos live del equipo
74-
- Paula puede intervenir ante prompts inadecuados
74+
### Modelos disponibles
7575

76-
Si la key no es valida:
76+
| Identificador | Descripción |
77+
|---|---|
78+
| `llama-3.3-70b-versatile` | Default equilibrado |
79+
| `llama-3.1-8b-instant` | Respuestas más rápidas |
80+
| `meta-llama/llama-4-maverick-17b-128e-instruct` | Mayor razonamiento |
81+
| `moonshotai/kimi-k2-instruct-0905` | Contexto de 256K |
82+
| `groq/compound` | Búsqueda en tiempo real |
7783

78-
- la app vuelve a `demo mode`
79-
- no mantiene un estado de conexion falso
84+
---
8085

8186
## Comandos del chat
8287

83-
Estos comandos funcionan desde la consola:
88+
Escribe cualquiera de estos directamente en el input de la consola:
8489

85-
```text
86-
/carpeta
87-
/indexar
88-
/archivos
89-
/leer ruta/del/archivo
90-
/buscar texto
91-
/analizar ruta/del/archivo
92-
/exportar
90+
```
91+
/carpeta Conecta una carpeta local
92+
/indexar Reconstruye el índice de archivos
93+
/archivos Lista los archivos detectados
94+
/leer ruta Lee un archivo y lo abre en el visor
95+
/buscar texto Busca coincidencias en el workspace
96+
/analizar ruta Analiza un archivo con Groq desde el rol activo
97+
/exportar Descarga el chat actual como .txt
9398
```
9499

95-
### Que hace cada comando
96-
97-
- `/carpeta`: abre el selector de carpeta local
98-
- `/indexar`: reconstruye el indice del workspace
99-
- `/archivos`: lista los archivos detectados
100-
- `/leer ruta`: lee un archivo local
101-
- `/buscar texto`: busca coincidencias dentro del workspace
102-
- `/analizar ruta`: analiza un archivo con Groq segun el rol activo
103-
- `/exportar`: descarga el chat actual en `.txt`
104-
105-
## Como funciona el chat
106-
107-
### Chat individual
108-
109-
La app puede redirigir automaticamente la conversacion al agente mas adecuado segun el tema.
110-
111-
### Broadcast
112-
113-
El modo `Todos` no dispara a los ocho agentes siempre. El sistema intenta escoger a los roles mas relevantes para cada pregunta.
114-
115-
### Planner y delegacion
116-
117-
En preguntas complejas la app puede:
118-
119-
- generar un microplan interno
120-
- pedir aportes a otros roles
121-
- responder con una salida mas estructurada
122-
123-
## Eventos especiales
124-
125-
### Delivery
126-
127-
Un repartidor puede entrar a la oficina, cruzar la puerta, entregar un paquete y salir.
128-
129-
### Psicologa Paula
100+
El mini menú de herramientas en la consola expone las mismas acciones sin tener que escribir comandos.
130101

131-
Con Groq activo, Paula puede aparecer cuando detecta mensajes ofensivos, agresivos o inadecuados.
102+
---
132103

133-
Comportamiento esperado:
104+
## Atajos de teclado
134105

135-
- entra a la oficina
136-
- el equipo se gira para escucharla
137-
- da una intervencion breve
138-
- un miembro del equipo puede reaccionar
106+
| Tecla | Acción |
107+
|---|---|
108+
| `Space` | Siguiente paso del flujo |
109+
| `R` | Reset de la simulación |
110+
| `M` | Iniciar reunión de equipo |
111+
| `F` | Activar / salir de modo FPS |
112+
| `N` | Alternar día / noche |
113+
| `A` | Auto play del flujo activo |
114+
| `C` | Resetear cámara |
115+
| `?` | Mostrar atajos |
116+
| `Esc` | Cerrar modales / salir de FPS |
139117

140-
Nota: el flujo de visitantes y puerta sigue en iteracion y puede requerir ajustes finos.
118+
---
141119

142120
## Estructura del proyecto
143121

144-
```text
122+
```
145123
.
146-
├─ index.html
124+
├─ index.html Toda la lógica de la app
147125
├─ README.md
148126
└─ docs/
149127
└─ screenshots/
150128
```
151129

130+
La app es intencionalmente un monolito de una página. No hay build step, no hay dependencias npm, no hay backend. Todo lo que necesitas está en `index.html` y en las CDN declaradas en el `<head>`.
131+
132+
---
133+
152134
## Stack
153135

154-
- HTML
155-
- CSS
156-
- JavaScript
157-
- Three.js
158-
- Chart.js
159-
- Groq API
160-
- File System Access API
136+
- **Three.js r128** — escena 3D, materiales, luces y sombras
137+
- **Chart.js 4** — métricas en el panel de estado
138+
- **PDF.js** — lectura de archivos PDF locales
139+
- **SheetJS (xlsx)** — lectura de hojas de cálculo
140+
- **Mammoth.js** — extracción de texto de archivos Word
141+
- **Groq API** — inferencia LLM (llama 4, kimi k2 y otros)
142+
- **File System Access API** — acceso a carpetas locales sin subir archivos
143+
- **Web Workers** — pathfinding A* fuera del hilo principal
144+
- **Web Speech API** — entrada de voz en la consola
145+
146+
---
147+
148+
## Persistencia
149+
150+
| Dato | Dónde se guarda |
151+
|---|---|
152+
| API key | `sessionStorage` (no persiste entre sesiones) |
153+
| Modelo seleccionado | `localStorage` |
154+
| Historial de chat por agente | `localStorage` |
155+
| Historial de reuniones | `localStorage` |
156+
| Historial de tareas | `localStorage` |
157+
| XP y niveles | `localStorage` |
158+
| Logros | `localStorage` |
159+
| Notas del pizarrón | `localStorage` |
160+
| Decisiones compartidas | `localStorage` |
161161

162-
## Persistencia actual
162+
---
163163

164-
- La API key se guarda en la sesion del navegador
165-
- El modelo seleccionado se guarda localmente
166-
- Parte del historial y estado se guarda en `localStorage`
167-
- El acceso a carpetas depende del permiso del navegador
164+
## Seguridad y privacidad
168165

169-
## Requisitos practicos
166+
Esta versión está pensada para uso local y demos. Algunas consideraciones para uso en producción o en red:
170167

171-
- Navegador moderno
172-
- Para `/carpeta` y tools locales, conviene usar Chromium o compatible con `showDirectoryPicker`
173-
- Servidor local o `localhost`
174-
- Conexion a internet si quieres usar Groq
168+
- Las llamadas a Groq se hacen directamente desde el navegador. En un entorno público, mueve esas llamadas a un backend para no exponer la key.
169+
- Los archivos del workspace nunca salen del navegador. La lectura es enteramente local.
170+
- No se envía telemetría ni datos a ningún servicio propio.
175171

176-
## Limitaciones actuales
172+
---
177173

178-
- Es una app cliente puro, sin backend
179-
- La API key vive en el navegador
180-
- La logica principal esta concentrada en un solo archivo
181-
- Algunos flujos visuales y eventos siguen en fase experimental
174+
## Limitaciones conocidas
182175

183-
## Seguridad
176+
- La lógica está concentrada en un solo archivo HTML. Facilita el despliegue pero dificulta la organización a largo plazo.
177+
- El modo FPS con pointer lock puede comportarse diferente según el navegador.
178+
- Algunos flujos de visitantes (delivery, Paula) están en iteración y pueden requerir ajustes finos.
179+
- La compresión de memoria del chat es automática pero no es perfecta para conversaciones muy largas.
184180

185-
Esta version esta pensada para demo y pruebas locales.
181+
---
186182

187-
Para una version mas seria o publica:
183+
## Créditos
188184

189-
- mueve las llamadas a Groq a un backend
190-
- protege credenciales fuera del cliente
191-
- no publiques llaves reales en el front
185+
Construido desde cero en Cartagena de Indias 🇨🇴 por **Yared Henriquez**, Founder & Architect de Dev Teams.
192186

193-
## Estado del proyecto
187+
---
194188

195-
Proyecto en fase `alpha`, orientado a:
189+
## Licencia
196190

197-
- demo visual
198-
- simulacion multiagente
199-
- tools locales del navegador
200-
- integracion con Groq
201-
- exploracion de flujos operativos en una sola pagina
191+
MIT

0 commit comments

Comments
 (0)