← Índice de manuales
Manual funcional · Sistema Plenario v14

Asistente IA - Referencia de herramientas

El Asistente IA no "sabe" los datos de tu sistema: los consulta en el momento ejecutando herramientas (en inglés tools). Cada herramienta es una función acotada —"traer el saldo de un cliente", "listar cheques en…

Módulo: Asistente IAVersión: 1.1Actualizado: 2026-07-21

Detalle

Campo Descripción
Tipo de documento Referencia técnica
Módulo Asistente IA
Objetivo Documentar todas las herramientas (tools) que el Asistente IA puede ejecutar, con sus parámetros, si modifican datos y qué permiso requieren.
A quién sirve Usuarios avanzados, administradores, soporte y el propio Asistente IA (que consulta este manual con buscar_manual).
Versión del Asistente 1.0.76
Total de herramientas ~110 fijas, más las dinámicas (una por informe guardado y una por cada herramienta de cada server MCP conectado).

Introducción

El Asistente IA no "sabe" los datos de tu sistema: los consulta en el momento ejecutando herramientas (en inglés tools). Cada herramienta es una función acotada —"traer el saldo de un cliente", "listar cheques en cartera"— que el asistente elige según lo que le pediste.

Este manual es el catálogo completo. Para cada herramienta se indica:

Columna Qué significa
Nombre El identificador exacto de la herramienta.
Escritura = modifica datos o produce un efecto externo. Toda herramienta de escritura pide confirmación antes de ejecutarse.
Parámetros Los datos que necesita. Los marcados (req) son obligatorios.
Disponibilidad Si la herramienta se registra siempre o solo bajo cierta condición (módulo instalado, permiso, configuración).

Importante: no todas las herramientas están disponibles en toda instalación. Varias dependen de que el módulo exista en tu Plenario (Factoring, Préstamos, Ventas), de un permiso, o de una configuración del administrador. Si el asistente dice que no tiene una herramienta, es porque no se registró en tu instalación.

Cómo elige el asistente una herramienta

No se le mandan las ~110 herramientas en cada consulta: se le ofrece un subconjunto relevante (por defecto 14) más un grupo fijo que siempre está presente. Si ninguna encaja, el asistente puede usar buscar_herramienta, que busca por intención en todo el catálogo y habilita la que haga falta para las siguientes rondas.

Por eso, si el asistente responde "no puedo hacer eso", conviene reformular indicando el dominio ("buscá en cheques…", "fijate en contabilidad…"): eso ayuda a que la herramienta correcta entre en la selección.

Acceso al módulo

Estas herramientas no se invocan a mano: las ejecuta el asistente cuando interpreta tu pedido. Para ver las disponibles en tu instalación:

  1. Abrí el Asistente IA desde la barra principal del Back Office.
  2. Escribí /tools (o /herramientas) en el chat.
  3. Leé el listado — muestra las herramientas registradas para tu usuario, agrupadas por módulo.

Nota: cuatro herramientas están marcadas como internas y no aparecen en /tools aunque funcionan: preguntar_opciones, ejecutar_codigo, schema_db y consulta_sql.

Pantalla principal

Clientes y cuentas corrientes

Nombre Escritura Parámetros Qué hace
buscar_cliente No texto (req), max Busca clientes por razón social, CUIT o Id. Acepta nombre compuesto en cualquier orden.
cliente_perfil No idCliente (req), campos Ficha del cliente. Con campos trae cualquier dato (domicilio, oficial, condición IVA) resolviendo códigos a nombre.
cliente_saldo_cta_cte No idCliente (req) Saldo de cuenta corriente discriminado por especie/moneda, con cotización y total pesificado.
cliente_movimientos_cta_cte No idCliente (req), desde, hasta, texto, montoMin, montoMax, todos, max Movimientos de cuenta corriente (por defecto el mes actual). Permite buscar un movimiento por importe, fecha o detalle.
cliente_limite_credito No idCliente (req) Límite de crédito, usado (cartera de factoring), disponible y fecha de vencimiento del límite.
cliente_deuda_detallada No idCliente (req) Deuda detallada de un cliente: cuenta corriente + cuotas impagas con mora y total adeudado.
saldos_clientes No tipoSaldo, max Saldos de cuenta corriente de todos los clientes (positivos, negativos o todos). Requiere el permiso "Saldos en Cuentas Corrientes".
info_cuit No cuit (req), seccion, completo Perfil financiero de un CUIT dentro de Plenario, por secciones (cheques, préstamos, BCRA, firmante).
cliente_actualizar_limite idCliente (req), nuevoLimite (req) Actualiza el límite de crédito. Confirma mostrando el valor actual contra el nuevo.

Préstamos y mora

Nombre Escritura Parámetros Qué hace
cliente_prestamos No idCliente (req), max Préstamos y créditos del cliente con capital, fecha y estado.
prestamo_detalle No idPrestamo (req) Ficha del crédito: capital, neto, cuotas, tasa, fechas, estado y resumen de cuotas.
prestamo_cuotas No idPrestamo (req), soloImpagas, max Plan de pagos cuota a cuota: vencimiento, importe, cobrado, saldo, estado y días de mora.
prestamo_punitorios No idPrestamo (req), fecha, nroCuota Calcula punitorios con IVA de las cuotas impagas a una fecha dada.
cliente_cuotas_impagas No idCliente (req), max Cuotas impagas de todos los préstamos vigentes del cliente, con saldo y días de mora.
mora_cartera No max Principales deudores en mora ordenados por saldo, con cuotas vencidas y atraso máximo.
mora_resumen No Resumen global de mora con aging (1-30, 31-60, 61-90 y más de 90 días).

Cobro por MercadoPago

Disponibles solo si la instalación tiene MercadoPago configurado y activo.

Nombre Escritura Parámetros Qué hace
mercadopago_generar_link idCredito (req), nrosCuota, importe Genera un link de pago (Checkout Pro) para cobrar cuotas impagas de un crédito y devuelve la URL para enviar al cliente por WhatsApp o mail. No cobra por sí solo: el cliente paga en ese link.
mercadopago_verificar_cobro idCredito (req) Consulta MercadoPago y concilia: si hay un pago aprobado sin imputar, lo imputa (asiento contable, cuenta corriente y marca la cuota como cobrada).

Importante: la confirmación avisa siempre si MercadoPago está en modo prueba o producción, para no enviar un link de prueba a un cliente real. Las cuotas a cobrar deben ser consecutivas desde la primera impaga (el asistente lo valida y avisa si la selección tiene huecos o incluye una cuota ya cobrada).

Cheques (Factoring)

Disponibles solo si la instalación tiene el módulo de Factoring.

Nombre Escritura Parámetros Qué hace
cheques_cartera No estado, idCliente, idFirmante, idBanco, agruparPor, max Cheques por estado, con totales y desglose.
cheques_buscar No numero, importe, importeMin, importeMax, idCliente, idFirmante, idBanco, soloCartera, soloPendienteAcreditar, max Busca cheques puntuales por número, importe, cliente, firmante o banco.
cheques_rechazos No idCliente, idFirmante, soloPendientesRecobro, agruparPor, max Cheques rechazados y pendientes de recobro, agrupables por cliente o firmante.

Estados que acepta cheques_cartera (parámetro estado):

Valor Significado
cartera (por defecto) Cheques que están físicamente en poder de la financiera: no depositados, no cedidos, no entregados.
pendiente_acreditar Cheques que ya salieron pero de los que la financiera sigue siendo responsable hasta que acrediten.
depositados Depositados y aún no acreditados.
acreditados Ya acreditados.
rechazados Rechazados por el banco.
pendiente_recobro Rechazados con gestión de recobro abierta.
custodia En custodia.
reservados Reservados para una operación.
todos Sin filtro de estado.

Importante: cartera y pendiente de acreditar son dos conceptos distintos y no se suman. Si preguntás "¿cuántos cheques tengo?" sin aclarar, el asistente responde la cartera física y te avisa aparte cuántos hay pendientes de acreditar.

Proveedores y contabilidad

Nombre Escritura Parámetros Qué hace
buscar_proveedor No texto (req), max Busca proveedores por nombre o CUIT y devuelve el Id.
proveedor_perfil No idProveedor (req), campos Ficha del proveedor; con campos, cualquier columna.
proveedor_saldo_cta_cte No idProveedor (req) Saldo neto de cuenta corriente del proveedor.
comprobantes_ventas_cliente No idCliente (req), desde, hasta, max Facturas emitidas a un cliente.
comprobantes_compras_proveedor No idProveedor (req), desde, hasta, max Facturas recibidas de un proveedor.
cobranzas_cliente No idCliente (req), desde, hasta, max Cobranzas y recibos de un cliente.
pagos_proveedor No idProveedor (req), desde, hasta, max Órdenes de pago a un proveedor.
plan_cuentas_buscar No texto (req), max Busca cuentas del plan contable por número o nombre.
cuenta_saldo No numero (req), desde, hasta Saldo (Debe menos Haber) de una cuenta contable, considerando solo asientos no anulados.
nuevo_asiento_contable asientos (req), modo Crea asientos en doble partida a partir de movimientos (por ejemplo, un extracto bancario). Modos: portapapeles, json, form, directo.

Riesgo y cumplimiento (PLD / UIF)

Nombre Escritura Parámetros Qué hace
cliente_riesgo_pld No idCliente (req) Riesgo PLD: si el cliente es PEP y su valoración VMRC (Bajo, Medio o Alto).
cliente_ficha_riesgo No idCliente (req) Análisis 360° en un paso: datos, saldo, límite, préstamos, cuotas impagas y PLD.
cliente_nosis documento (req), sexo, variable Informe NOSIS por CUIT o DNI. Usa la caché; si no hay uno reciente pide confirmación porque la consulta en vivo tiene costo.

Indicadores y calculadoras

Nombre Escritura Parámetros Qué hace Disponibilidad
factoring_operado No mes (YYYY-MM), tipos, detalle Cuánto se operó y descontó en factoring en un mes: colocación, intereses, plazo y tasa promedio. Módulo Factoring
prestamos_colocacion No desde, hasta, detalle Capital colocado, cantidad de créditos y ticket promedio del período. Módulo Préstamos
cobranza_proyectada No mes (YYYY-MM), detalle Cuotas que vencen en el mes y siguen impagas. No es lo mismo que la mora ya vencida. Módulo Préstamos
ventas_periodo No mes (YYYY-MM), top Total facturado del mes, cantidad de comprobantes, ticket promedio y principales clientes. Módulo Ventas
funnel_creditos_online No desde, hasta, dispositivo, detalle Embudo de onboarding de créditos online: conversión, caídas, motivos y motor de decisión. Módulo online
oficiales No filtro Lista oficiales y operadores (Id, nombre, CUIT, mail). Tabla de oficiales
calculadora_prestamo No monto (req), cuotas (req), tna (req), iva, gastos Simula un préstamo francés: cuota, TEA, total, intereses, IVA y CFT. No consulta la base. Siempre
convertir_tasa No tasa (req), tipo (TNA/TEM/TEA), capitalizacion Convierte tasas nominal a efectiva y entre períodos. Siempre

Tickets

Disponibles en la instalación de Plenario (soporte interno).

Nombre Escritura Parámetros Qué hace
tickets_buscar No idCliente, estado, idEstado, idUsuarioAsignado, texto, soloAbiertos, desde, hasta, max Busca tickets con filtros combinables.
ticket_detalle No idTicket (req) Cliente, asunto, estado, gravedad, asignado, fechas y avance.
ticket_notas No idTicket (req), max Notas y comentarios del ticket, del más reciente al más viejo.
ticket_historial No idTicket (req), max Log de auditoría: alta, modificación, asignación y cierre.
tickets_trabajados No idUsuario, desde, hasta, incluirAuditoria, max Tickets en los que un usuario cargó notas en un rango ("¿en qué trabajé?").
mis_tickets No soloAbiertos, max Tickets asignados al usuario logueado.
tickets_de_clientes No idClientes (req), texto, soloAbiertos, max Tickets de varios clientes de una sola vez.
tickets_contar No idCliente, idUsuarioAsignado, soloAbiertos, agruparPor Cuenta tickets y los desglosa por estado, gravedad o usuario.
tickets_tablero No idCliente Foto rápida de abiertos: total, sin asignar, tomados, pendientes, por estado y gravedad.
tickets_estados No Catálogo de estados (Id, descripción, sigla, si es inicial o final).
tickets_catalogo No tipo (req), idPadre, texto, max Resuelve Ids antes de crear o asignar: proyectos, módulos, gravedades, sectores, usuarios.
buscar_usuario No texto (req), max Busca usuarios internos por nombre, login o email.
ticket_crear idCliente, idClienteUsuario, idProyecto, idProyectoModulo, idSector, idGravedad, idIncidente, idMedioAtencion, idReproducible, asunto, descripciontodos req Alta de ticket. Conviene resolver los Ids antes con tickets_catalogo.
ticket_agregar_nota idTicket (req), texto (req) Agrega una nota y notifica por mail a los involucrados.
ticket_asignar idTicket (req), idUsuarioAsignado (req) Asigna el ticket y notifica por mail al asignado.
ticket_desasignar idTicket (req) Quita la asignación y vuelve al estado inicial.
ticket_tomar idTicket (req) El usuario logueado toma el ticket.
ticket_soltar idTicket (req), texto Suelta un ticket tomado y registra la nota de trabajo.
ticket_pendiente idTicket (req), motivo Marca o desmarca el ticket como pendiente.
ticket_entregar idTicket (req) Marca el ticket como entregado (resuelto, avance 100%).
ticket_cerrar idTicket (req), notificarCliente, nota Cierra el ticket y, si se indica, manda mail de cierre al cliente.

Requerimientos a soporte de Plenario

Disponibles en instalaciones de cliente. Permiten reportar y seguir pedidos a soporte sin salir del sistema.

Nombre Escritura Parámetros Qué hace
requerimiento_reportar asunto (req), descripcion (req), bloqueante Reporta un error, mejora o consulta a soporte de Plenario.
requerimiento_nota idRequerimiento (req), texto (req) Agrega una nota a un requerimiento ya reportado.
requerimiento_listar No soloAbiertos, max Lista los requerimientos reportados.
requerimiento_estado No idRequerimiento (req) Estado, detalle y notas de un requerimiento propio.
requerimiento_cerrar idRequerimiento (req), conformidad Da por resuelto el requerimiento.

Recordatorios

Nombre Escritura Parámetros Qué hace
recordatorio_crear texto (req), periodicidad, fecha, hora, diasSemana, diaMes, intervaloHoras, anticipacionMin, canal, idCliente, hastaFecha Programa un recordatorio, puntual o recurrente, con aviso por pantalla o mail.
recordatorios_listar No soloActivos, max Lista los recordatorios del usuario.
recordatorio_completar No id (req) Marca el recordatorio como hecho.
recordatorio_cancelar No id (req) Cancela el recordatorio.
recordatorio_posponer No id (req), minutos Pospone el aviso los minutos indicados.

Consultas SQL e informes

Nombre Escritura Parámetros Qué hace Disponibilidad
consulta_sql No sql (req), clave Ejecuta una consulta de solo lectura sobre la base, previa confirmación del usuario. Permiso AsistenteIA.ConsultaSQL
schema_db No buscar, tabla Explora tablas y columnas reales antes de armar la consulta. Permiso AsistenteIA.ConsultaSQL
informe_guardar nombre (req), sql (req), descripcion, parametros, compartido Guarda un SELECT como informe reutilizable con parámetros. Siempre
informe_listar No Lista los informes guardados, propios y compartidos. Siempre
informe_modificar id (req), nombre, sql, descripcion, parametros, compartido Modifica un informe guardado. Siempre
informe_eliminar id (req) Elimina un informe propio. Siempre
informe_<nombre> No Los parámetros que declare el informe (todos requeridos) Dinámica: cada informe guardado se expone como una herramienta propia, invocable por su nombre. Una por informe visible

Importante: las consultas a la base son de solo lectura, requieren un permiso específico y el asistente te muestra la consulta antes de ejecutarla.

Conocimiento, manuales y memoria

Nombre Escritura Parámetros Qué hace Disponibilidad
buscar_manual No tema, manual Consulta los manuales oficiales de Plenario para explicar cómo funciona algo. Siempre
conversaciones_buscar No texto (req), dias, max Busca en las conversaciones anteriores del propio usuario. Siempre
memorizar No texto (req), tipo, global Guarda un recuerdo que persiste entre chats. Con global, lo comparte con la empresa. Siempre
base_conocimiento No consulta (req) Busca en los documentos que la empresa cargó y devuelve los fragmentos con su fuente. Base de conocimiento activa
documento_indexar No titulo (req), texto (req) Indexa un texto en la base de conocimiento de la empresa. Base de conocimiento activa
skill_view No nombre (req) Carga una habilidad aprendida para seguir su procedimiento. Habilidades activas
skills_list No Lista las habilidades aprendidas. Habilidades activas
skill_guardar nombre (req), descripcion (req), cuerpo (req), tags Guarda o actualiza una habilidad reutilizable cuando le enseñás un procedimiento. Habilidades activas
skill_archivar nombre (req) Archiva una habilidad. No la borra: es recuperable. Habilidades activas

Internet y cotizaciones

Nombre Escritura Parámetros Qué hace Disponibilidad
cotizacion_dolar No tipo Cotización del dólar en vivo (oficial, blue, MEP, CCL, tarjeta, mayorista, cripto). Siempre
web_buscar No consulta (req), max Busca en internet y devuelve título y URL. Web habilitada
web_extraer No url (req), modo, buscar, max Descarga y lee una página web en modo texto, links o título. Web habilitada
abrir_navegador url (req) Abre el navegador del usuario en una URL. Web habilitada
whatsapp_cliente mensaje (req), idCliente, telefono, pais Abre WhatsApp con el mensaje cargado para escribirle a un cliente. No lo envía solo. Siempre

Importante: cotizacion_dolar devuelve el dólar de mercado. La cotización que tiene cargada tu ERP para una moneda se consulta con especies_listar y se modifica con especie_cotizacion. No son lo mismo.

Seguridad: el contenido de una página web es información externa y no confiable. El asistente lo trata como datos, nunca como instrucciones, y cita la URL de donde sacó el dato.

Sistema, archivos y aplicaciones

Nombre Escritura Parámetros Qué hace Disponibilidad
abrir_pantalla No pantalla, id, filtro Abre una pantalla del Back Office (catálogo de unas 120). Con filtro, la abre ya filtrada en las pantallas que lo soportan. Siempre
abrir_app app (req), argumentos Abre una aplicación del catálogo autorizado en la PC del usuario. Catálogo cargado
buscar_archivos No patron (req), carpeta, max Busca archivos por nombre (acepta comodines) en las carpetas habilitadas. Carpetas configuradas
buscar_en_archivos No texto (req), patron, carpeta, max Busca un texto dentro del contenido de archivos de texto y devuelve archivo y línea. Carpetas configuradas
validar_archivos No carpeta (req), patron, recursivo, layout, campos Lee archivos de texto de una carpeta y valida su formato contra un diseño de registro (ancho fijo, Libro IVA Digital). Siempre
especies_listar No soloActivas Lista especies y monedas con su cotización vigente y la anterior. Siempre
especie_cotizacion idEspecie (req), cotizacion (req) Modifica la cotización de una especie y genera el asiento por diferencia de cambio. Siempre
nueva_liquidacion_cheques idCliente (req), cheques (req), idOficial, idEspecie, tipo, tasa, gastos, fechaValor Arma la liquidación de cheques y abre el formulario pre-cargado. No la guarda sola. Módulo Factoring
ejecutar_codigo lenguaje (req), codigo (req), clave Ejecuta o previsualiza código (HTML/JS local, Python online). Requiere clave de operaciones además de la confirmación. Siempre (interna)

Importante: especie_cotizacion no permite modificar el Peso (Id 1), y si el sistema usa Precio Promedio Ponderado (PPP) la cotización se calcula sola y no admite cambios manuales.

Utilidades del propio asistente

Nombre Escritura Parámetros Qué hace
buscar_herramienta No intencion (req) Busca entre todas las herramientas por intención y habilita la que corresponda. El asistente la usa antes de decir "no puedo".
siguiente No cantidad Continúa un listado que quedó cortado. Se dispara cuando pedís "siguiente", "mostrame más" o "el resto".
preguntar_opciones No preguntas (req) Te muestra botones de opción cuando necesita que decidas algo para poder seguir.
extracto_leer No desde, cantidad Lee por tramos el último Excel o CSV adjunto, para procesar extractos grandes por partes.
sugerir No sugerencia (req) Registra una sugerencia o queja sobre el asistente y la envía al equipo de Plenario con el contexto del chat.
usuario_actual No Datos del usuario logueado que está operando el asistente.

Herramientas de servers MCP

Si el administrador conectó servers MCP (Model Context Protocol), cada herramienta que exponga ese server aparece con el nombre <server>__<herramienta> y se usa igual que las nativas.

Como provienen de un tercero, todas piden confirmación antes de ejecutarse, sin importar lo que hagan.

Acciones disponibles

De las ~110 herramientas, unas 30 son de escritura: modifican datos o producen un efecto hacia afuera (un mail, un WhatsApp, abrir una aplicación). Todas comparten el mismo circuito:

  1. El asistente decide usar la herramienta y arma los parámetros.
  2. Antes de ejecutarla, se valida que tu usuario tenga el permiso correspondiente. Si no lo tiene, no se ejecuta ni se te ofrece confirmar.
  3. La herramienta devuelve una previsualización de lo que va a hacer, sin hacer nada todavía.
  4. Vos ves esa previsualización en el chat con los botones ✓ Confirmar y Cancelar.
  5. Recién al confirmar se ejecuta de verdad.

Importante: el modelo de IA no puede auto-confirmarse. La confirmación se aplica fuera del ciclo de conversación, y cualquier intento del modelo de marcar una operación como ya confirmada se descarta antes de ejecutar. Esto protege contra instrucciones maliciosas escondidas en un dato que el asistente haya leído (una nota de cliente, una página web, un documento).

Ejemplo práctico

Caso: averiguar por qué un cliente quedó sin margen de crédito.

  1. Abrí el Asistente IA y escribí: "Buscá al cliente Pérez". Se ejecuta buscar_cliente. Si hay varias coincidencias, preguntar_opciones te muestra los botones para elegir.
  2. "¿Cuál es su límite y cuánto tiene usado?"cliente_limite_credito devuelve límite, usado, disponible y vencimiento.
  3. "¿Qué tiene en cartera de cheques?"cheques_cartera con el cliente ya en contexto: no hace falta repetir el Id.
  4. "¿Y cheques rechazados?"cheques_rechazos, que además indica cuáles están pendientes de recobro.
  5. Si el listado sale cortado, escribí "seguí"siguiente continúa desde donde iba, sin repetir filas ni volver a consultar.
  6. Si decidís ampliarle el margen: "Subile el límite a 5.000.000"cliente_actualizar_limite te muestra "actual 3.000.000 → nuevo 5.000.000. ¿Confirmás?" y espera tu botón.

Consejos útiles

  • Dejá que elija la herramienta. No hace falta nombrarla: describí el resultado que querés.
  • Nombrar el dominio ayuda. "Fijate en contabilidad…" o "en cheques…" mejora la selección cuando hay ambigüedad.
  • Si dice que no puede, pedile que busque. "Fijate si tenés alguna herramienta para eso" dispara buscar_herramienta sobre el catálogo completo.
  • Los Ids se resuelven solos. Pedí por nombre; el asistente busca el Id con la herramienta de búsqueda que corresponda.
  • Para tickets, primero el catálogo. Crear un ticket necesita once Ids: si le pedís el alta directamente, el asistente los resuelve con tickets_catalogo.
  • Revisá siempre la previsualización de una acción de escritura antes de confirmar. Es el único punto donde podés frenarla.
  • consulta_sql es el último recurso. Si existe una herramienta específica (por ejemplo prestamo_punitorios o oficiales), da resultados más confiables que una consulta armada a mano.

Preguntas frecuentes

¿Por qué el asistente no encuentra una herramienta que sé que existe? Por dos motivos posibles. Primero, no se le mandan todas las herramientas en cada consulta: se le ofrece un subconjunto relevante. Pedile que busque ("fijate si tenés una herramienta para esto") y usará `buscar_herramienta` sobre el catálogo completo. Segundo, puede no estar registrada en tu instalación porque el módulo no está instalado, falta un permiso o el administrador no la habilitó.
¿Puedo invocar una herramienta directamente por su nombre? No hay una sintaxis de invocación directa, pero nombrarla en el pedido ("usá cheques_cartera con estado pendiente_acreditar") es una pista muy fuerte y en general el asistente la respeta.
¿Qué diferencia hay entre `cheques_cartera` y `cheques_buscar`? `cheques_cartera` responde preguntas agregadas: cuántos y por cuánto hay en un estado, con totales y desglose. `cheques_buscar` sirve para encontrar cheques puntuales por número, importe o firmante.
¿Las herramientas de escritura pueden ejecutarse sin que yo confirme? No. La confirmación se aplica fuera del ciclo del modelo: el asistente no tiene forma de saltearla. Además, si tu usuario no tiene el permiso correspondiente, la operación ni siquiera llega a ofrecerse.
¿Por qué algunas herramientas no aparecen en `/tools`? Cuatro están marcadas como internas y se ocultan del listado: `preguntar_opciones`, `ejecutar_codigo`, `schema_db` y `consulta_sql`. Siguen funcionando normalmente.
¿Los informes guardados son herramientas? Sí. Cada informe guardado y visible se expone como una herramienta propia llamada `informe_`, con los parámetros que hayas definido. Por eso podés pedir "corré el informe de cobranzas de marzo" y funciona.
¿Qué pasa si un listado es muy largo? El asistente muestra el primer tramo y te avisa cuántos registros quedan. Con "siguiente" continúa desde donde iba, sin repetir filas ni volver a consultar la base.

Permisos

El acceso a cada herramienta depende de los permisos del usuario. Las herramientas de escritura se validan antes de ejecutarse y antes de ofrecer la confirmación: sin el permiso, la operación no se ofrece.

Objeto de seguridad Qué habilita
AsistenteIA.ConsultaSQL Consultas SQL a medida (consulta_sql) y exploración de estructura (schema_db).
AsistenteIA.Escritura.Tickets Todas las operaciones sobre tickets: crear, notas, asignar, tomar, soltar, entregar y cerrar.
AsistenteIA.Escritura.Informes Guardar, modificar y eliminar informes.
AsistenteIA.Escritura.Requerimientos Reportar, comentar y cerrar requerimientos a soporte de Plenario.
AsistenteIA.Cliente.ActualizarLimite Modificar el límite de crédito de un cliente.
AsistenteIA.Escritura.WhatsApp Abrir WhatsApp con un mensaje al cliente.
AsistenteIA.Escritura.Liquidaciones Armar una liquidación de cheques.
AsistenteIA.Escritura.MercadoPago Generar links de pago y conciliar cobros de MercadoPago.
AsistenteIA.Escritura.Codigo Ejecutar o previsualizar código.
AsistenteIA.Escritura.LanzarApp Abrir aplicaciones del catálogo autorizado.
AsistenteIA.ConfigurarMCP Editar y probar los servers MCP en Configuración.
AsistenteIA.ConfigurarApps Editar el catálogo de aplicaciones y las carpetas de búsqueda de archivos.
AsistenteIA.Alertas.Mora Alerta proactiva de mora al abrir el asistente.
AsistenteIA.Alertas.CuotasAVencer Alerta de cuotas próximas a vencer.
AsistenteIA.Alertas.ChequesRechazados Alerta de cheques rechazados pendientes.
AsistenteIA.Alertas.ClientesPEP Alerta de clientes marcados como PEP.

Además de estos objetos propios del asistente, cada herramienta respeta los permisos del módulo que consulta. Por ejemplo, saldos_clientes exige el permiso "Saldos en Cuentas Corrientes" del ERP.

Nota para administradores: la validación de permisos es fail-closed. Si el subsistema de seguridad no puede responder, se deniega. Las herramientas de escritura que no tienen un objeto de seguridad propio en la tabla anterior quedan protegidas únicamente por la confirmación interactiva del usuario.

Información técnica

El catálogo se arma en tiempo de ejecución. La cantidad exacta de herramientas depende de la instalación, los módulos presentes, los permisos del usuario, los informes guardados y los servers MCP conectados.

Dónde vive cada grupo

Componente Rol
VPNET_DataModel\Manager\Agente\Tools\ Herramientas nativas en C#, agrupadas por dominio: ClienteTools, PrestamosTools, FactoringTools, ProveedoresContabilidadTools, TicketsTools, RiesgoTools, KpisTools, ConocimientoTools, WebTools, AppsExternasTools, AgenteBaseTools, RequerimientosTools.
VPNET_DataModel\Manager\Agente\Tools\ToolRegistry.cs Registro del catálogo, selección por relevancia (keywords o semántica) y grupo de herramientas siempre presentes.
VPNET_DataModel\Manager\Agente\AgenteService.csBuildRegistry Arma el catálogo por sesión aplicando las condiciones de registro (módulo instalado, permiso, configuración).
VPNET_DataModel\Manager\Agente\Core\AgentLoop.csPermisoDeTool Mapea cada herramienta de escritura a su objeto de seguridad.
VPNET_DataModel\Manager\Agente\Recordatorios\, \Rag\, \Mcp\ Recordatorios, base de conocimiento y adaptador de servers MCP.
VisualPlenarioNET\VisualPlenarioNET\Asistente\AsistenteIA_TicketsBLTools.vb Herramientas que necesitan la lógica de negocio viva del Back Office: tickets con notificación, abrir_pantalla, especies, liquidaciones y asientos.

Por qué algunas herramientas están en VB

El orden de dependencias entre proyectos prohíbe que VPNET_DataModel referencie a VisualPlenarioNET. Las herramientas que necesitan la conexión viva del proceso, la lógica de negocio real (TicketsBL) o abrir formularios del shell solo pueden vivir en el proyecto VB. Se registran al inicio y el catálogo las trata igual que las nativas; cuando comparten nombre con una versión en C#, la versión VB tiene prioridad porque es la que ejecuta la lógica completa (por ejemplo, la que además envía las notificaciones por mail).

Contrato de una herramienta

Cada herramienta implementa ITool y declara un ToolSchema con: nombre, descripción, firma de parámetros, si es de escritura, el JSON Schema de sus argumentos, el módulo al que pertenece y si es interna. El resultado es un ToolResult, que puede ser una respuesta, un error o un pedido de confirmación.

Relación con otros módulos / manuales

Manual relacionado Vínculo operativo
Asistente IA Amplía el circuito, la configuración o los datos que utiliza esta funcionalidad.
Asistente IA - Capacidades y configuración Amplía el circuito, la configuración o los datos que utiliza esta funcionalidad.

Notas para soporte

  • Si un cliente reporta que "el asistente no puede hacer X", verificar en este orden: si la herramienta se registró (/tools), si el módulo existe en esa instalación, y si el usuario tiene el permiso.
  • Las herramientas de tickets son exclusivas de la instalación de Plenario; en instalaciones de cliente se reemplazan por las de requerimientos. Nunca coexisten.
  • Al agregar una herramienta de escritura hay que declararla como tal en su ToolSchema y agregar su objeto de seguridad en PermisoDeTool: son dos lugares distintos.
  • Las herramientas de aplicaciones externas y búsqueda de archivos son fail-closed: si el administrador no cargó el catálogo o las carpetas, no se registran y el asistente ni siquiera las ofrece.
¿Te resultó útil este manual?