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 .
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 |
|---|---|---|
|
Sí |
Ayudantes de preguntas y respuestas: búsqueda de esquema, entorno, habilidades, memoria, listado de acciones, presentación de opciones |
|
Sí |
|
|
Sí |
Abrir la interfaz a la que el usuario tiene acceso |
|
No |
|
|
No |
|
|
No |
|
|
No |
Herramientas dinámicas de servidores MCP |
|
No |
|
|
No; grupo Administrador de IA de forma predeterminada |
Herramientas de personalización de vistas/campos/modelos |
|
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)¶
Mantenga la capacidad Write global deshabilitada.
Cree un grupo de Odoo, por ejemplo, AI Writers.
Habilite la capacidad Write con Restringido a grupos = AI Writers.
Añada reglas allow de
perm_create/perm_writea nivel de modelo únicamente para los modelos incluidos en el piloto (Política de acceso).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.
Mantenga el modo de escritura en confirm o hybrid.
Supervise los registros y las infracciones durante dos semanas antes de ampliar el alcance.