#!/usr/bin/env bash # aresumen — busca en notas .md y pregunta a Ollama # Episodio 824 — atareao con Linux # # Uso: aresumen # Requiere: fd, rg, jq, Ollama (http://localhost:11434) # Aliases básicos alias f='fd' alias rg='rg --smart-case' alias rga='rg -uuu' # Búsqueda nuclear # Función 1: buscar en notas Markdown buscar_notas() { local patron="$1" fd -e md -X rg -C 2 --smart-case "$patron" } # Uso: buscar_notas ollama # Función 2: buscar por extensión y texto btexto() { local ext="$1" local texto="$2" fd -e "$ext" -X rg --smart-case "$texto" } # Uso: btexto py "def test_" # Función 3: aresumen — el pipeline IA completo # Busca contexto en tus notas y lo envía a Ollama aresumen() { local concepto="$1" if [ -z "$concepto" ]; then echo "Uso: aresumen " return 1 fi local contexto contexto=$(fd -e md -X rg -C 5 "$concepto" 2>/dev/null) if [ -z "$contexto" ]; then echo "No se encontró información sobre: $concepto" return 1 fi echo "$contexto" | curl -s http://localhost:11434/api/generate \ -d "{\"model\": \"llama3.2\", \"prompt\": \"Resume el siguiente contenido sobre $concepto:\n$(cat)\n\", \"stream\": false}" \ | jq -r '.response' } # Uso: aresumen fd # Función 4: rfb — buscador interactivo (rg + fzf + bat) # Como vimos en el episodio 810 rfb() { if [ -z "$1" ]; then echo "Uso: rfb " return 1 fi rg --line-number --no-heading --color=always --smart-case "$1" | \ fzf --ansi \ --color="ansi" \ --delimiter=":" \ --preview="bat --color=always --highlight-line={2} {1}" \ --preview-window="right:60%:wrap" \ --bind="enter:become(${EDITOR:-nano} +{2} {1})" } # Uso: rfb ollama — busca, previsualiza con bat, abre editor en la línea exacta