diff options
Diffstat (limited to 'config')
| -rw-r--r-- | config/asistente.toml | 56 |
1 files changed, 55 insertions, 1 deletions
diff --git a/config/asistente.toml b/config/asistente.toml index b638acd..a219142 100644 --- a/config/asistente.toml +++ b/config/asistente.toml @@ -30,6 +30,17 @@ es así, llámala primero y espera su resultado; no contestes de memoria. Sólo cuando tengas el resultado, resúmelo en una frase. """ +# Se añade a system_prompt para redactar la respuesta cuando una herramienta ya +# devolvió su resultado. Aquí sí se puede añadir estilo —la llamada ya ocurrió— +# y hace falta: sin esto el modelo anuncia lo que acaba de hacer («he tomado una +# foto, ahora puedo responderte sobre el color») en vez de decir lo que averiguó. +tool_result_prompt = """ +Acabas de recibir el resultado de una herramienta. Contesta a la pregunta \ +usando ese resultado y nada más. No anuncies lo que has hecho ni lo que \ +podrías hacer: di directamente lo que has averiguado. Si el resultado viene en \ +otro idioma, tradúcelo al español. +""" + [audio] # Vacío = el dispositivo por defecto. `asistente devices` los lista. input_device = "" @@ -113,11 +124,54 @@ dedicated_prompt = true # una shell a un modelo que obedece a lo que oye por el micrófono es un cambio # de postura de seguridad, no una comodidad. Actívala aquí o con --shell. shell = false -shell_allowlist = ["date", "uptime", "free", "df", "ls"] +shell_allowlist = ["date", "uptime", "free", "df", "ls", "mkdir", "cat"] shell_timeout_secs = 10 shell_dry_run = false shell_working_dir = "" +# Búsqueda en internet. La clave NO va aquí: se lee de la variable de entorno +# que indique api_key_env, porque este fichero se versiona y un secreto dentro +# acaba en el historial de git. +# +# Tres buscadores, medidos: +# tavily ~2,4 s. Devuelve una respuesta YA REDACTADA además de los enlaces, +# que es lo que se puede leer en voz alta sin gastar otra vuelta del +# modelo en resumir. Necesita clave. +# ddgs 1,5-5,8 s. Sin clave. Consulta DuckDuckGo, Brave, Mojeek, Startpage +# y compañía a través de scripts/buscar-ddgs.sh. Sólo devuelve +# fragmentos: la síntesis la tiene que hacer el modelo, y con 2B sale +# algo peor que con tavily. +# searxng Sin clave, pero hace falta una instancia propia. Como ddgs, sólo +# devuelve resultados. +[search] +enabled = true +backend = "tavily" # "tavily", "ddgs" o "searxng" +api_key_env = "TAVILY_API_KEY" +base_url = "" # sólo para searxng, p. ej. "http://127.0.0.1:8888" +# Programa del backend "ddgs". {consulta} y {max} se sustituyen antes de +# ejecutar, y tiene que escribir JSON por la salida estándar. Vale cualquier +# otro programa que respete eso, incluido un puente a un servidor MCP. +command = ["../scripts/buscar-ddgs.sh", "{consulta}", "{max}"] +max_results = 5 +timeout_secs = 20 + +# Mirar por la cámara. El servidor ya carga el proyector multimodal, así que el +# mismo modelo que conversa describe lo que capta. +[camera] +enabled = true +device = "/dev/video0" +# La resolución manda en la latencia. Medido en esta máquina: 1,3 s a 320x240, +# 2,9 s a 640x480 y 7,8 s a 1280x720. 640x480 es el equilibrio. +width = 640 +height = 480 +# Fotogramas descartados para que se asiente la exposición automática; el +# primero suele salir quemado y descartar unos pocos es casi gratis. +warmup_frames = 5 +timeout_secs = 15 +# Vacío = no se guarda ningún fotograma en disco, que es lo que corresponde. +# Ponle una carpeta sólo para depurar qué está viendo el modelo. +save_dir = "" + [supervisor] manage = true # lanzar los servidores; --no-manage los supone arriba startup_timeout_secs = 180 |