Rama JARVIS-GREEN, independiente de master (el nucleo naranja queda intacto).
- README propio del carril verde con diagrama de arquitectura y capturas del panel.
- verde/: arranque, panel web, puente de voz (escucha local con faster-whisper +
habla con la voz del naranja), pruebas (07 voz, 08 escucha), config y notas.
- Integracion RAG: nucleo/saber/busca_cli.py + skill buscar-en-apuntes, para que
el agente consulte el mismo indice que el nucleo.
- Todo local (127.0.0.1); sin datos personales (rutas y modelo de GPU scrubeados).
- nucleo/saber/diagnostico.py revisa dependencias, indice (personal o publico),
carga, embedder, consultas de humo y ollama; marca verde/rojo con una linea de
como arreglar cada fallo. --eval mide hit@k. Sale != 0 si hay fallo duro (CI).
- probar_rag.sh es el envoltorio: encuentra el venv y lo corre sin nada arrancado.
- README: seccion Comprobar el RAG.
- sintetiza_catalogo.py genera preguntas en castellano (indexacion multi-
representacion) para el pack de conocimiento y el catalogo de awesome lists.
- indexa.py hornea los ganchos: al indice publico solo los de fragmentos
publicos (~1856); el personal ademas rehornea la sintesis nocturna de COFRE
(privada), para que reconstruir no pise ese trabajo.
- saber-publico.jsonl pasa a 2555 entradas con los vectores de las preguntas:
un clon recien hecho consulta con recall alto sin correr sintesis.
- eval del indice personal: hit@1 82%, hit@5 97%, sim 0.927.
- awesome.py parsea awesome lists (markdown y RST): limpia enlaces y badges,
agrupa cada categoria en un fragmento, y etiqueta fuente + licencia.
- indexa.py las incluye; en el indice PUBLICO solo entran las redistribuibles:
awesome (sindresorhus, CC0) y awesome-selfhosted (CC BY-SA 3.0). awesome-hacking
(sin licencia) se indexa solo en el indice personal si se clona en CODERS.
- saber-publico.jsonl pasa a 699 entradas (glosario + conocimiento + catalogo).
- ATRIBUCION.md acredita fuentes y licencias; docs/rag.md lo documenta.
- manuales.py cosecha el --help de las herramientas que no traen man page
(ffuf, sqlmap, suite impacket, netexec, hydra...) y lo escribe como markdown
en conocimiento/09 - Manuales/. Es la referencia de opciones que la man page
no da; complementa el cheatsheet de invocaciones comunes.
- indexa.py --publico construye saber-publico.jsonl: glosario + pack de
conocimiento con los vectores ya calculados, 100% publico y portable.
- busca.py usa ese indice publico como fallback cuando no hay indice personal,
asi un clon recien hecho consulta al instante sin reindexar nada.
- .gitignore deja pasar saber-publico.jsonl; el personal (saber.jsonl) sigue
fuera.
- docs/rag.md y el README del pack documentan ambas cosas.
Referencia densa de invocaciones de ffuf, sqlmap, impacket, crackmapexec,
hydra, nuclei, evil-winrm, bloodhound-python y demas: las herramientas de
pentesting que no traen man page y que por tanto el indexado de sistema no
alcanza. Se indexa con el resto del pack (conocimiento/).
El repo trae ahora ~73 docs de metodologia de pentesting (estilo OSCP,
scrubeados de datos personales) que indexa.py indexa: un clon recien hecho ya
sabe de enumeracion, explotacion web, shells, privesc, Active Directory,
cracking... con los comandos, sin ningun dato privado. docs/rag.md lo refleja.
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.