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.
94 lines
5.3 KiB
Python
94 lines
5.3 KiB
Python
"""Tareas comunes de Linux en castellano, mapeadas al comando.
|
|
|
|
El puente que las man pages no dan: estan en ingles, y "cambiar permisos" no se
|
|
parece a "change file mode bits". Aqui viven las tareas del dia a dia dichas
|
|
como las diria el usuario, con el comando y una linea de como se usa. Es
|
|
curado a mano a proposito: son las 50 cosas que de verdad se piden, y una
|
|
traduccion buena vale mas que mil man pages mal recuperadas.
|
|
|
|
Se anaden al indice como entradas normales, asi que se buscan igual que todo lo
|
|
demas y ademas se llevan el impulso por palabras exactas.
|
|
"""
|
|
|
|
# (lo que se pide en castellano, el comando, como se usa)
|
|
TAREAS = [
|
|
("cambiar los permisos de un fichero o carpeta", "chmod",
|
|
"chmod 755 fichero (rwx dueño, rx resto). chmod +x da permiso de ejecucion."),
|
|
("cambiar el dueño de un fichero", "chown",
|
|
"chown usuario:grupo fichero. Con -R para una carpeta entera."),
|
|
("comprimir una carpeta en un archivo", "tar",
|
|
"tar czf archivo.tar.gz carpeta/ comprime. tar xzf archivo.tar.gz extrae."),
|
|
("descomprimir un zip", "unzip", "unzip archivo.zip. Con -d carpeta para donde."),
|
|
("buscar texto dentro de ficheros", "grep",
|
|
"grep -r 'texto' carpeta/ busca en todo. grep -i ignora mayusculas."),
|
|
("buscar ficheros por nombre", "find",
|
|
"find /ruta -name '*.txt' busca por nombre. -type f solo ficheros."),
|
|
("ver los puertos abiertos en escucha", "ss",
|
|
"ss -tlnp lista los puertos TCP en escucha con su proceso."),
|
|
("ver que procesos consumen mas", "top",
|
|
"top o htop en tiempo real. ps aux --sort=-%cpu para una foto."),
|
|
("matar un proceso", "kill",
|
|
"kill PID lo termina. kill -9 PID a la fuerza. pkill nombre por nombre."),
|
|
("ver el espacio libre en disco", "df", "df -h muestra el espacio por particion."),
|
|
("ver cuanto ocupa una carpeta", "du", "du -sh carpeta/ el tamaño total."),
|
|
("ver la memoria libre", "free", "free -h muestra RAM y swap."),
|
|
("descargar un fichero de internet", "wget",
|
|
"wget URL descarga. curl -O URL tambien. curl -L sigue redirecciones."),
|
|
("copiar ficheros a un servidor", "scp",
|
|
"scp fichero usuario@servidor:/ruta lo sube. scp -r para carpetas."),
|
|
("sincronizar carpetas", "rsync",
|
|
"rsync -av origen/ destino/ copia solo lo cambiado. -z comprime en red."),
|
|
("editar un fichero de texto", "nano",
|
|
"nano fichero (facil) o vim fichero. Ctrl+O guarda y Ctrl+X sale en nano."),
|
|
("ver el contenido de un fichero", "cat",
|
|
"cat fichero. less fichero para leer largo. head/tail para principio/final."),
|
|
("ver los ultimos cambios de un fichero de log", "tail",
|
|
"tail -f log sigue en vivo. tail -n 50 las ultimas 50 lineas."),
|
|
("ver los servicios del sistema", "systemctl",
|
|
"systemctl status servicio. start/stop/restart para manejarlo."),
|
|
("ver los mensajes del sistema", "journalctl",
|
|
"journalctl -xe lo reciente. journalctl -u servicio de un servicio."),
|
|
("montar un disco o usb", "mount",
|
|
"mount /dev/sdX1 /mnt monta. lsblk lista los discos. umount desmonta."),
|
|
("ver la configuracion de red", "ip",
|
|
"ip a las interfaces y sus IP. ip r la tabla de rutas."),
|
|
("escanear una red o unos puertos", "nmap",
|
|
"nmap -sV objetivo detecta servicios. nmap -p- todos los puertos."),
|
|
("ver el uso de red en vivo", "iftop", "iftop o nload muestran el trafico en vivo."),
|
|
("cambiar de directorio y listar", "ls",
|
|
"ls -la lista con detalles y ocultos. cd carpeta entra. pwd dice donde estas."),
|
|
("crear una carpeta", "mkdir", "mkdir carpeta. mkdir -p a/b/c crea la ruta entera."),
|
|
("mover o renombrar", "mv", "mv origen destino mueve o renombra."),
|
|
("copiar ficheros", "cp", "cp origen destino. cp -r para carpetas."),
|
|
("borrar ficheros", "rm",
|
|
"rm fichero. rm -r carpeta. CUIDADO: no hay papelera, es definitivo."),
|
|
("dar permisos de administrador a un comando", "sudo",
|
|
"sudo comando lo ejecuta como root. Pide tu contraseña."),
|
|
("ver el historial de comandos", "history", "history lista lo tecleado. Ctrl+R busca."),
|
|
("programar una tarea periodica", "cron",
|
|
"crontab -e edita tus tareas. Formato: min hora dia mes diasemana comando."),
|
|
("ver la temperatura y el hardware", "sensors",
|
|
"sensors muestra temperaturas. lscpu la CPU, lspci los dispositivos."),
|
|
("gestionar paquetes en Debian", "apt",
|
|
"apt install paquete, apt update actualiza la lista, apt upgrade el sistema."),
|
|
("ver o cambiar variables de entorno", "export",
|
|
"export VAR=valor la pone. env las lista. echo $VAR la muestra."),
|
|
("comprobar si un comando esta instalado", "which",
|
|
"which comando dice donde esta, o nada si no esta. type comando tambien."),
|
|
("ver diferencias entre dos ficheros", "diff",
|
|
"diff a b muestra las diferencias. diff -u formato de parche."),
|
|
("contar lineas palabras o bytes", "wc",
|
|
"wc -l lineas, wc -w palabras. cat fichero | wc -l cuenta lineas."),
|
|
("conectarse a una base de datos", "psql",
|
|
"psql -U usuario base para Postgres. mysql -u usuario -p para MySQL."),
|
|
("ver quien esta conectado", "who", "who los usuarios. w con lo que hacen."),
|
|
]
|
|
|
|
|
|
def entradas():
|
|
for pide, cmd, como in TAREAS:
|
|
yield {
|
|
"tipo": "tarea", "herramienta": cmd, "perfil": "LINUX",
|
|
"fichero": f"tarea comun: {cmd}",
|
|
"texto": f"Para {pide}: usa {cmd}. {como}",
|
|
}
|