JARVIS/nucleo/jarvis-naranja.svg
sito 8e4bc8ad94 JARVIS: asistente de voz local para Linux
Nucleo propio: oye con whisper.cpp, piensa con un modelo de Ollama, habla
con Piper, y hace RAG sobre los apuntes del usuario. 100% local, sin
cuentas ni claves.

Escrito bajo una restriccion dura, 4 GB de VRAM: el cerebro y whisper
comparten tarjeta y solo caben porque estan dimensionados para ello. El
RAG usa embeddings estaticos con busqueda hibrida; la voz clonada se sirve
de una cache de frases.

Incluye instalador (install.sh), requisitos, y documentacion del stack,
del manejo de root y de las acciones. Los apuntes indexados y el diario NO
se incluyen: son privados y el .gitignore los bloquea.
2026-08-16 15:34:37 +02:00

55 lines
2.4 KiB
XML

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="256" height="256">
<!-- El mismo reactor que jarvis-icon.svg, en naranja.
La paleta no se inventa: es la del tema "ambar" del HUD (style.css),
para que el icono y la pantalla sean el mismo color.
Cian = JARVIS sobre Newelle, congelado.
Naranja = el nucleo independiente. Asi se sabe cual esta abierto. -->
<defs>
<radialGradient id="core" cx="50%" cy="50%" r="50%">
<stop offset="0%" stop-color="#fff0d8"/>
<stop offset="45%" stop-color="#ffb347"/>
<stop offset="100%" stop-color="#c8862a"/>
</radialGradient>
<radialGradient id="halo" cx="50%" cy="50%" r="50%">
<stop offset="0%" stop-color="#ffa040" stop-opacity=".55"/>
<stop offset="70%" stop-color="#c8862a" stop-opacity=".12"/>
<stop offset="100%" stop-color="#3a2810" stop-opacity="0"/>
</radialGradient>
<linearGradient id="ring" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="#f5e3c7"/>
<stop offset="100%" stop-color="#92765a"/>
</linearGradient>
</defs>
<circle cx="128" cy="128" r="124" fill="#120c04"/>
<circle cx="128" cy="128" r="120" fill="url(#halo)"/>
<!-- carcasa exterior -->
<circle cx="128" cy="128" r="106" fill="none" stroke="url(#ring)" stroke-width="9"/>
<circle cx="128" cy="128" r="94" fill="none" stroke="#3f2a10" stroke-width="7"/>
<!-- bobinas -->
<g stroke="#efc78f" stroke-width="7" stroke-linecap="round" opacity=".9">
<line x1="128" y1="42" x2="128" y2="70"/>
<line x1="128" y1="186" x2="128" y2="214"/>
<line x1="42" y1="128" x2="70" y2="128"/>
<line x1="186" y1="128" x2="214" y2="128"/>
<line x1="67" y1="67" x2="87" y2="87"/>
<line x1="169" y1="169" x2="189" y2="189"/>
<line x1="189" y1="67" x2="169" y2="87"/>
<line x1="87" y1="169" x2="67" y2="189"/>
</g>
<!-- anillo interior -->
<circle cx="128" cy="128" r="70" fill="none" stroke="#7d541f" stroke-width="10"/>
<circle cx="128" cy="128" r="58" fill="none" stroke="#ffa040" stroke-width="4" opacity=".85"/>
<!-- triangulo del nucleo -->
<path d="M128 84 L166 150 L90 150 Z" fill="none" stroke="#ffe0b0" stroke-width="6"
stroke-linejoin="round" opacity=".95"/>
<!-- nucleo -->
<circle cx="128" cy="128" r="34" fill="url(#core)"/>
<circle cx="128" cy="128" r="16" fill="#ffffff" opacity=".92"/>
</svg>