saber: manuales cosechados e indice publico pre-construido

- 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.
This commit is contained in:
sito 2026-08-16 18:43:56 +02:00
parent 1dfb3513e6
commit 9fa0a40edf
12 changed files with 1206 additions and 45 deletions

View file

@ -2,9 +2,12 @@
JARVIS responde desde los apuntes del usuario, no desde lo que el modelo
recuerde. Para 668 herramientas de pentesting, recordar sería inventar. Este
documento explica el método y los resultados; el índice en sí no se publica
—contiene los apuntes, que son privados—, pero el código que lo construye sí
(`nucleo/saber/`).
documento explica el método y los resultados. El índice **personal** (los
apuntes de cada quien) no se publica; sí se publica un índice **público
pre-construido** —glosario de Linux más el pack de metodología y manuales, con
los vectores ya calculados (`nucleo/datos/saber-publico.jsonl`)— para que un clon
recién hecho consulte al instante, sin repetir el trabajo de indexar. El código
que lo construye está entero en `nucleo/saber/`.
## Cómo funciona
@ -85,17 +88,20 @@ forma de medirlo— sí está; el corpus lo pone cada quien con sus notas.
| | En el repo |
|---|---|
| El código: `indexa`, `busca`, `glosario`, `sistema`, `enriquece/` | **sí** |
| El código: `indexa`, `busca`, `glosario`, `sistema`, `manuales`, `enriquece/` | **sí** |
| El eval (`enriquece/eval_set.jsonl`) | **sí** |
| El glosario de tareas de Linux en castellano (`glosario.py`) | **sí** (genérico) |
| **El pack de metodología** (`saber/conocimiento/`, ~73 docs) | **sí** — limpio y genérico |
| El índice (`saber.jsonl`) y sus copias | **no** — los apuntes indexados |
| **El pack de metodología y manuales** (`saber/conocimiento/`) | **sí** — limpio y genérico |
| **El índice público pre-construido** (`datos/saber-publico.jsonl`) | **sí** — glosario + pack, con vectores |
| El índice personal (`saber.jsonl`) y sus copias | **no** — los apuntes indexados |
| El diario (`diario.jsonl`) | **no** — las conversaciones |
| Lo derivado (`cosecha.jsonl`, `sintesis.jsonl`) | **no** — salen de los apuntes |
Así que un equipo recién clonado, con `indexa.py`, construye un índice **útil sin
ningún dato privado**: las *man pages*, el glosario, y **el pack de metodología**
(`saber/conocimiento/`) —enumeración, explotación web, shells, privesc, Active
Directory, cheatsheets...— con los comandos de verdad. Son apuntes propios estilo
OSCP, scrubeados de hosts, credenciales y rutas. Los apuntes privados del usuario
(su `saber.jsonl`, su diario) siguen fuera; el pack los complementa.
Así que un equipo recién clonado consulta **al instante**, sin dato privado y sin
reindexar: el `saber-publico.jsonl` ya trae el glosario y el pack de metodología
—enumeración, explotación web, shells, privesc, Active Directory, cheatsheets— más
los **manuales** de las herramientas que no traen man page (`saber/conocimiento/09
- Manuales/`, cosechados con `manuales.py` de su `--help`). Cuando quiera sumar sus
propias notas y las *man pages* de su máquina, corre `indexa.py` y pasa a usar su
índice personal. Los apuntes privados del usuario (su `saber.jsonl`, su diario)
siguen fuera; el pack los complementa.