最終更新 19 hours ago

Funciones para el episodio 824: aresumen (fd+rg+Ollama) y rfb (rg+fzf+bat). atareao.es

修正履歴 45d74b389a49979c6e2a425733a229c19982317f

aresumen.sh Raw
1#!/usr/bin/env bash
2# aresumen — busca en notas .md y pregunta a Ollama
3# Episodio 824 — atareao con Linux
4#
5# Uso: aresumen <concepto>
6# Requiere: fd, rg, jq, Ollama (http://localhost:11434)
7
8# Aliases básicos
9alias f='fd'
10alias rg='rg --smart-case'
11alias rga='rg -uuu' # Búsqueda nuclear
12
13# Función 1: buscar en notas Markdown
14buscar_notas() {
15 local patron="$1"
16 fd -e md -X rg -C 2 --smart-case "$patron"
17}
18# Uso: buscar_notas ollama
19
20# Función 2: buscar por extensión y texto
21btexto() {
22 local ext="$1"
23 local texto="$2"
24 fd -e "$ext" -X rg --smart-case "$texto"
25}
26# Uso: btexto py "def test_"
27
28# Función 3: aresumen — el pipeline IA completo
29# Busca contexto en tus notas y lo envía a Ollama
30aresumen() {
31 local concepto="$1"
32 if [ -z "$concepto" ]; then
33 echo "Uso: aresumen <concepto>"
34 return 1
35 fi
36 local contexto
37 contexto=$(fd -e md -X rg -C 5 "$concepto" 2>/dev/null)
38 if [ -z "$contexto" ]; then
39 echo "No se encontró información sobre: $concepto"
40 return 1
41 fi
42 echo "$contexto" | curl -s http://localhost:11434/api/generate \
43 -d "{\"model\": \"llama3.2\",
44 \"prompt\": \"Resume el siguiente contenido sobre $concepto:\n$(cat)\n\",
45 \"stream\": false}" \
46 | jq -r '.response'
47}
48# Uso: aresumen fd
49
50# Función 4: rfb — buscador interactivo (rg + fzf + bat)
51# Como vimos en el episodio 810
52rfb() {
53 if [ -z "$1" ]; then
54 echo "Uso: rfb <texto_a_buscar>"
55 return 1
56 fi
57 rg --line-number --no-heading --color=always --smart-case "$1" | \
58 fzf --ansi \
59 --color="ansi" \
60 --delimiter=":" \
61 --preview="bat --color=always --highlight-line={2} {1}" \
62 --preview-window="right:60%:wrap" \
63 --bind="enter:become(${EDITOR:-nano} +{2} {1})"
64}
65# Uso: rfb ollama — busca, previsualiza con bat, abre editor en la línea exacta
66
pregunta.fish Raw
1# pregunta — versión Fish del pipeline IA
2# Episodio 824 — atareao con Linux
3#
4# Uso: pregunta <texto>
5# Requiere: fd, rg, jq, Ollama
6
7# Aliases básicos para Fish
8alias f "fd"
9alias rg "rg --smart-case"
10alias rga "rg -uuu"
11
12# Función principal: pregunta a tus notas
13function pregunta
14 if test (count $argv) -eq 0
15 echo "Uso: pregunta <texto>"
16 return 1
17 end
18 set contexto (fd -e md -X rg -C 5 $argv[1] 2>/dev/null)
19 if test -z "$contexto"
20 echo "No encontré información sobre: $argv[1]"
21 return 1
22 end
23 echo $contexto | curl -s http://localhost:11434/api/generate \
24 -d "{\"model\": \"llama3.2\", \"prompt\": \"Contexto:\n$(cat)\n\nBasándote en el contexto, responde: $argv[1]\", \"stream\": false}" \
25 | jq -r '.response'
26end
27# Uso: pregunta "¿qué es fd?"
28