Capacidades y herramientas

Las capacidades son interruptores maestros que determinan qué clases de herramientas se le pueden ofrecer al modelo y cuáles ejecutará la puerta de acceso. Se configuran en IA ‣ Configuración ‣ Comportamiento ‣ Capacidades.

Campos del registro de capacidad

  • Código — código técnico estable (ask, read, write, …).

  • Nombre — etiqueta de la interfaz.

  • Habilitado — interruptor de activación/desactivación global.

  • Restringido a grupos — vacío = todos los usuarios de IA (que superen las demás comprobaciones); de lo contrario, solo esos grupos de Odoo.

  • Delimitación opcional por compañía.

Importante

Deshabilitar una capacidad oculta sus herramientas y hace que la puerta de acceso las rechace si el modelo inventa una llamada. No es posible ofrecer una herramienta sin la capacidad correspondiente a través del menú normal; la puerta de acceso sigue siendo la autoridad final.

Capacidades incluidas

Código

Habilitado de forma predeterminada

Rol

ask

Ayudantes de preguntas y respuestas: búsqueda de esquema, entorno, habilidades, memoria, listado de acciones, presentación de opciones

read

search, read, read_group, get_fields

navigate

Abrir la interfaz a la que el usuario tiene acceso

write

No

create_record, update_record, adjuntar archivos (con web)

delete

No

delete_record

web

No

web_search, web_fetch

mcp

No

Herramientas dinámicas de servidores MCP

action

No

call_action en métodos incluidos en la lista de permitidos

customize

No; grupo Administrador de IA de forma predeterminada

Herramientas de personalización de vistas/campos/modelos

setup

Sí, solo el grupo Ajustes

Herramientas de instalación guiada de módulos

Catálogo de herramientas (integradas)

Consulta

  • search_docs — búsqueda por palabras clave en los modelos/campos que el usuario puede utilizar.

  • get_environment — versión, edición, compañía, usuario y módulos opcionales en tiempo real.

  • list_skills / use_skill — catálogo de habilidades y carga de su contenido.

  • list_allowed_actions — qué acciones de negocio están en la lista de permitidos.

  • memory_search / memory_save / memory_forget / memory_link.

  • present_choices — opciones estructuradas para la interfaz.

Lectura

  • search — búsqueda por dominio y lectura de campos (con límite máximo).

  • read — por ids explícitos (falla si hay demasiados ids; no recorta la lista de forma silenciosa).

  • read_group — agregados (las medidas se validan; los dominios se verifican contra la política).

  • get_fields — esquema (indicadores obligatorios; no dominios invocables sin procesar).

Escritura y eliminación

  • create_record / update_record / delete_record — siempre pasan por la puerta de acceso; pueden convertirse en escrituras pendientes.

  • queue_work_items — pone en cola ids de registros para ejecuciones secundarias aisladas de la tarea permanente actual (máximo 200 ids por llamada). No está disponible desde el chat sin una ejecución de tarea, desde ejecuciones de bandeja de entrada, ni desde una ejecución secundaria. Consulte Elementos de trabajo por registro.

  • fetch_file_to_field — requiere web y write.

Web

  • web_search / web_fetch — sujetos a la lista de dominios permitidos y a los límites diarios.

Acción

  • call_action — solo los métodos presentes en Acciones permitidas.

Límite máximo de capacidades del agente

En ai.agent, Capacidades restringe aún más, mediante intersección, lo que ese agente puede utilizar. Un agente que solo tenga ask + read no puede ejecutar herramientas de escritura aunque la capacidad Write esté habilitada globalmente para los humanos.

En las ejecuciones puntuales de canal con ámbito intersect, las clases de capacidad efectivas son:

effective = agent.capability_ids ∩ requester.allowed_capabilities
            (and global enabled flags / group restrictions)

El ámbito agent_full utiliza las capacidades del agente sin intersecarlas con las clases de capacidad del solicitante. El acceso a los datos sigue utilizando la ACL de Odoo y la política de IA del usuario del agente, no las reglas de registro del solicitante. Consulte Agentes.

Habilitar la escritura de forma segura (patrón piloto)

  1. Mantenga la capacidad Write global deshabilitada.

  2. Cree un grupo de Odoo, por ejemplo, AI Writers.

  3. Habilite la capacidad Write con Restringido a grupos = AI Writers.

  4. Añada reglas allow de perm_create / perm_write a nivel de modelo únicamente para los modelos incluidos en el piloto (Política de acceso).

  5. Pruebe las escrituras que realmente necesita el piloto. Las reglas a nivel de modelo no son suficientes por sí solas: muchos campos habituales también escriben en un segundo modelo, y la puerta de acceso las rechaza aunque exista un Allow a nivel de modelo. Cada uno de ellos necesita una regla que indique el campo, con perm_write = Allow — consulte Protección de escritura entre modelos. Descubrirlos por prueba y error es seguro, ya que este rechazo no registra ninguna infracción ni cuenta como falta.

  6. Mantenga el modo de escritura en confirm o hybrid.

  7. Supervise los registros y las infracciones durante dos semanas antes de ampliar el alcance.