Inventario de herramientas integradas
Use esta página al decidir si una herramienta invocable por un agente debe permanecer en el binario principal, pasar a estar protegida por una característica, moverse a un plugin WASM, distribuirse como un paquete de habilidades o usar una integración respaldada por MCP o CLI.
For the proposed tier of each tool the runtime registry builds, the core set the runtime retains, and why the runtime keeps more than the FND-001 baseline, see Tiers and the retained core set.
Este es un mapa de clasificación, no un plan de eliminación. No elimine ni externalice una herramienta hasta que el reemplazo preserve el contrato del operador: configuración, política de seguridad, recibos de herramientas, visibilidad de auditoría, compatibilidad y reversión. Esa regla es la política de núcleo ligero aceptada en RFC #6165; véase Política de reemplazo primero.
La fuente de verdad del registro de tiempo de ejecución es crates/zeroclaw-runtime/src/tools/mod.rs, especialmente default_tools, all_tools_with_runtime y register_skill_tools_with_context_and_runtime. Las implementaciones compartidas de herramientas viven principalmente en crates/zeroclaw-tools/.
Selección predeterminada visible para el modelo
La selección mínima canónica es CORE_TOOL_NAMES en crates/zeroclaw-config/src/builtin_tools.rs: once herramientas integradas, restringidas por la política existente del agente y del llamador. El valor predeterminado, [tools].optional = ["*"], es completo; en modo mínimo, las herramientas integradas adicionales deben indicarse en [tools].optional antes de la construcción. Consulte Herramientas mínimas y completas para la disponibilidad compilada y las instrucciones de recuperación. Los plugins configurados, los servidores MCP, las skills y los periféricos conservan sus propias rutas de activación y permisos.
Los grupos siguientes describen la propiedad de la implementación y los posibles destinos futuros. No declaran un catálogo de modelos ni autorizan la eliminación de una implementación existente. git_operations permanece entre los once aprobados, mientras que su clasificación a largo plazo y los requisitos de reemplazo prioritario siguen a continuación.
Cubos de clasificación
| Cubo | Significado | Siguiente acción |
|---|---|---|
| Mantener incorporado | Parte del contrato base del agente o estrechamente vinculada a la política de ejecución, recibos, memoria, sesiones o delegación. | Mantén en core a menos que el contrato del agente cambie mediante un RFC. |
| Candidato de feature gate | El comportamiento propio de la primera parte sigue perteneciendo a ZeroClaw, pero el coste de dependencia, plataforma, tamaño del binario o riesgo para el operador no debería afectar a las compilaciones mínimas. | Agrega o refuerza una compuerta de función/configuración antes de considerar su eliminación. |
| Externalizar más tarde | Capacidad útil, pero el propietario a largo plazo debería ser un plugin, un paquete de habilidades, un servidor MCP o una CLI externa, porque el comportamiento básicamente envuelve un producto, una API de un proveedor o un flujo de trabajo opcional. | Mantén la compatibilidad hasta que la superficie externa sea real y esté documentada. |
| Sin acción todavía | La evidencia actual no es suficiente para elegir otro hogar. | Déjalo en su lugar y revísalo con la fuente, el uso y evidencia de reemplazo. |
Mantener integrado
Estas herramientas forman la superficie mínima de trabajo local del agente. default_tools las registra junto con deliver_file, una herramienta de nivel 2 que solo admiten los turnos de ACP, y el registro completo las registra de nuevo, junto con las siete.
| Tool(s) | Por qué permanecen |
|---|---|
shell | Ejecuta comandos locales bajo la política de shell, el sandbox, el adaptador de ejecución, la protección de rutas y los recibos de ZeroClaw. |
file_read, file_write, file_edit | Ser propietario del contrato del archivo del espacio de trabajo, el comportamiento de persistencia, la protección de rutas y la superficie de auditoría. |
glob_search, content_search | Proporciona descubrimiento local sin requerir sintaxis de comandos específica del shell. |
Estas herramientas de registro completo también deberían permanecer integradas, porque son primitivas de tiempo de ejecución, memoria, coordinación o control del operador, en lugar de integraciones de producto opcionales.
| Tool(s) | Por qué permanecen |
|---|---|
memory_store, memory_recall, memory_forget, memory_export, memory_purge | La memoria a largo plazo es un contrato de tiempo de ejecución de primera parte y usa reglas compartidas de propiedad de memoria. |
cron_add, cron_list, cron_remove, cron_update, cron_run, cron_runs, schedule | La programación afecta la ejecución autónoma, la propiedad y el historial de ejecución; mantenla visible como política en el núcleo. |
spawn_subagent, delegate, send_message_to_peer | La delegación forma parte del modelo de ejecución del agente y debe compartir perfiles de riesgo, herramientas, memoria y restricciones de padre/hijo. |
ask_user, escalate_to_human, reaction, poll, channel_room | Estas son primitivas de interacción del operador de puente de canales con identificadores de canal y recibos vinculados en tiempo de ejecución. |
sessions_current, sessions_list, sessions_history, sessions_send | La visibilidad de sesiones y el acceso al historial comparten el backend de sesiones del daemon/gateway y los límites de propiedad de los agentes. sessions_send es un mecanismo heredado y obsoleto que solo añade contenido al historial del chat: no notifica ni ejecuta una sesión. Usa send_message_to_peer para la mensajería entre agentes. |
model_routing_config, model_switch, proxy_config | Estos exponen el plano de control de enrutamiento actual del modelo/proxy y no deben desviarse del comportamiento de la fuente de configuración. |
TodoWrite | Mantiene la lista de tareas estructurada del agente dentro de la superficie de herramientas del entorno de ejecución; conserva su nombre de herramienta estable y el comportamiento del ciclo de vida en core. |
read_skill y herramientas definidas por skills con kind = "shell", kind = "http", o kind = "builtin" | Las habilidades son una superficie de extensión prevista, pero el puente de ejecución que convierte las habilidades instaladas en herramientas es esencial. |
model_routing_config upsert_agent es una superficie de actualización parcial: los campos omitidos de agent, risk-profile y runtime-profile permanecen sin cambios, y su guardado por rutas modificadas (dirty-path) preserva los valores TOML y los comentarios no relacionados. Los controles explícitos de riesgo o de runtime aíslan el perfil del agente nombrado antes de la mutación, en lugar de cambiar un perfil compartido. Como la delegación automática de mismo riesgo compara nombres de perfil, aislar un cambio explícito de risk-profile puede eliminar esa relación implícita con los compañeros del perfil anterior; si ese alcance debe mantenerse, configure esos compañeros como delegados explícitos. La herramienta se niega a modificar un esquema en disco más antiguo hasta que zeroclaw config migrate lo actualice. La herramienta sigue escribiendo fuera de la admisión de commits de configuración, por lo que la publicación en runtime y la coordinación de escritores concurrentes sobre la misma ruta son asuntos separados.
Candidatos de Feature-Gate
Estas herramientas son de primera parte hoy, pero merecen límites explícitos de características/configuración porque añaden superficie de plataforma, dependencias, red o UI.
| Tool(s) | Límite | Clasificación |
|---|---|---|
browser, browser_open, browser_delegate, text_browser | Dependiente de la configuración y del tiempo de ejecución. | Mantén first-party, pero sigue endureciendo los gates de feature/configuración porque la automatización del navegador es una gran superficie de confianza. |
http_request, web_fetch, web_search_tool | Acceso a la red controlado por configuración. | Mantén first-party mientras SSRF, allowlist, el enrutamiento del proveedor y el comportamiento de los recibos sigan siendo propiedad de ZeroClaw. Reevalúa solo después de que los reemplazos de MCP/plugin puedan expresar la misma política de red. |
Herramientas SOP (sop_list, sop_execute, sop_advance, sop_approve, sop_status y el condicional sop_workshop) | Restringido por identificador de runtime; sop_workshop también requiere memoria procedimental. | Mantenerlo como propio; el ciclo de vida de SOP, las aprobaciones, la memoria procedimental y los registros de auditoría forman parte del estado en tiempo de ejecución, no de una integración externa genérica. |
| Herramientas de complementos WASM | Puente de host con compilación de característica y protegido por configuración. | Mantén el puente del host como parte de la primera parte; las capacidades individuales de los complementos deberían residir fuera del núcleo. |
execute_pipeline | Encadenamiento de herramientas controlado por configuración. | Mantén restringido hasta que la política de encadenamiento de herramientas, los recibos por paso y las listas de अनुमति de llamadas estén lo suficientemente estables como para juzgar si es fundamental. |
knowledge | Superficie de conocimiento controlada por configuración. | Mantener con acceso restringido mientras la memoria de relaciones y los flujos de trabajo del grafo siguen promocionándose en la documentación y las habilidades orientadas al usuario. |
file_upload, file_upload_bundle, file_download | Movimiento de datos condicionado por configuración. | Manténlo restringido; estas son herramientas de movimiento de datos sensibles a políticas y necesitan un reemplazo explícito antes de su externalización. |
backup, data_management | Backup modifica el estado local; la gestión de datos actualmente solo muestra la vista previa de retención y las estadísticas de almacenamiento. | Mantener límites de configuración explícitos. Volver a habilitar la purga de gestión de datos confirmada solo después de definir sus categorías propias, el comportamiento de confirmación y auditoría, y el contrato de reversión. |
screenshot, image_info, canvas | Superficie de herramientas visuales/de interfaz de usuario. | Mantener por ahora; clasificar con la superficie de herramientas visuales/de IU una vez que se asienten los límites entre el complemento y el panel. |
llm_task | Ejecución de subtareas dependiente del proveedor. | Mantener hasta que la ejecución de subtareas con ámbito de proveedor tenga un contrato separado de la delegación. |
security_ops | Operaciones de seguridad condicionadas por configuración. | Mantener restringido; las operaciones de seguridad necesitan visibilidad de la política de primera mano hasta que un plugin pueda الإعلان equivalentes permisos, recibos y reversión. |
verifiable_intent | Política de confianza controlada por la configuración. La herramienta vi_verify se excluye temporalmente del registro visible para el modelo. | Mantenerlo restringido y como funcionalidad propia; la emisión y la verificación de intenciones afectan a la política de confianza y deberían seguir siendo funciones propias hasta que el límite de credenciales sea estable. Como todavía no existe un verificador de cadenas, vi_verify no está registrado ni siquiera cuando verifiable_intent.enabled = true; habilitar la sección ahora solo emite una advertencia que señala esa carencia, registrada en las trazas al iniciar el proceso, de nuevo en cada recarga del demonio y una vez más cuando zeroclaw config patch cambia la sección de deshabilitada a habilitada, y que zeroclaw doctor y la API de configuración notifican como la advertencia de validación verifiable_intent_tool_withheld, para que sobreviva a observability.log_persistence = "none". Retener la herramienta no elimina las rutas de la biblioteca de emisión y verificación, que siguen disponibles para los integradores. Restaurar el registro solo mediante una ruta de verificación y evaluación que consuma un resultado de una cadena verificada, retirando ambos canales en ese mismo cambio. |
Sondeos de hardware (hardware_board_info, hardware_memory_map, hardware_memory_read) | Acceso a hardware controlado por periféricos. | Mantén first-party mientras las herramientas de hardware se agregan a través de la ruta del registro de periféricos y acceden a dispositivos físicos bajo las reglas de permisos de ZeroClaw. |
web_fetch es el nivel 1 porque FND-001 D5 lo lista como núcleo, y su condición de configuración [web_fetch].enabled se mantiene.
Externalizar más tarde
Estos son los candidatos más sólidos para sacarlos del binario principal una vez que exista la superficie de reemplazo. Hasta entonces, mantenlos compatibles y visibles para la política.
| Tool(s) | Probable hogar a largo plazo | Por qué |
|---|---|---|
notion, jira, microsoft365, google_workspace, linkedin, composio | Plugin, servidor MCP o integración respaldada por CLI. | Estos principalmente envuelven productos de terceros y modelos de autenticación que pueden evolucionar independientemente del tiempo de ejecución principal. |
claude_code, claude_code_runner, codex_cli, gemini_cli, opencode_cli | Paquete de integración o skill respaldado por CLI. | La CLI externa ya se encarga de la autenticación, el comportamiento de los comandos y el ritmo de lanzamientos; ZeroClaw debería conservar los recibos y la política si los invoca. |
email_search, email_read | Complemento de canal compañero o servidor MCP. | La búsqueda y lectura de correo electrónico es útil, pero está vinculada a la autenticación de cuentas externas y a la configuración de canales, en lugar de al contrato base del agente. |
discord_search | Complemento de Channel Companion o habilidad de archive-query | Depende de una base de datos de archivo de Discord producida por el canal; mantenlo cerca de ese canal hasta que la API de archivo sea explícita. |
image_gen, cloud_ops, cloud_patterns, project_intel, report_template | Paquete de habilidad, plugin o servidor MCP. | Estos son flujos de trabajo opcionales o envoltorios de proveedor/servicio de datos, en lugar de primitivas centrales de ejecución. |
weather | Paquete de habilidades o habilidad respaldada por HTTP; después, plugin o servidor MCP si la paridad requiere formato o política personalizados. | El built-in actual es un wrapper sin clave de wttr.in. Una búsqueda mínima encaja con la forma de la habilidad HTTP, pero la externalización completa aún necesita paridad para la salida formateada, la política de proxy de tool.weather y el nombre de la herramienta integrada / el comportamiento de autoaprobación. |
pushover | Ruta común de notificaciones a través de system.notify, más un plugin de servicio de alcance restringido. | Su forma principal es la notificación de dispositivo, lo que se superpone con la capacidad estándar del nodo; la autenticación específica de Pushover, la entrega, los modos de fallo y la compatibilidad del adaptador aún necesitan demostrarse antes de que salga del runtime central. |
git_operations | Integración respaldada por CLI o plugin de alcance restringido. | Git tiene efectos secundarios en repositorios locales y remotos, por lo que cualquier sustituto externo debe conservar las comprobaciones de política, los recibos y la visibilidad explícita para el operador. Las operaciones de worktree validan cada destino solicitado y cada ruta de metadatos de worktree vinculado frente a la concesión de lectura/escritura aplicable; el listado solo devuelve entradas cuya ruta de worktree se resuelve y cuyos metadatos pueden validarse mediante la concesión de lectura aplicable. Los symlinks de metadatos se rechazan en lugar de seguirse, incluso cuando su destino estaría permitido de otro modo. Los comandos de solo lectura no deben ejecutar filtros de contenido, verificadores de firma ni comandos de diff de submódulos anidados configurados en el repositorio, no deben resolver mailmap ni inspeccionar el estado del worktree de los submódulos; sí conservan los IDs de commit de los gitlinks modificados del superproyecto. Prohíben el transporte de Git y desactivan la obtención implícita de objetos promisor, de modo que los objetos no disponibles de clones parciales fallan en lugar de iniciar un transporte seleccionado por el repositorio. Los comandos clasificados como de escritura conservan los hooks y filtros de Git y aplican el límite de sandbox configurado para cada agente. Con [runtime] kind = "docker", los comandos clasificados como de escritura se rechazan antes de lanzar cualquier comando Git de escritura, porque Git no entra en el contenedor de runtime; los comandos clasificados como de lectura no cambian, y la herramienta de shell sigue siendo la ruta de comandos dentro del contenedor. En el modo de runtime nativo, un sandbox no operativo, por tanto, no confina Git. Solo Landlock extiende ese sandbox a las raíces hermanas configuradas; otros backends de sandbox pueden rechazar escrituras fuera del workspace del agente, montar el workspace como solo lectura, omitir el workspace u ocultar la configuración global de Git. |
git_operations es nivel 1 porque FND-001 D5 lo lista como núcleo. La fila de arriba registra un posible destino posterior, que primero requeriría enmendar D5.
claude_code, codex_cli, gemini_cli y opencode_cli son de nivel 2 porque se ejecutan a través del sandbox compartido del runtime; la externalización sigue siendo una posible tarea futura.
Sin acción todavía
Deja estas superficies en su lugar hasta que otra sección de diseño produzca mejores pruebas:
calculator: pequeño, con pocas dependencias y lo bastante inocuo como para que moverlo fuera pueda costar más complejidad de la que ahorra.tool_searchy activación diferida de MCP: parte del flujo actual de descubrimiento de MCP, pero el límite exacto a largo plazo depende del trabajo de plugin/MCP de v0.8.2.- Herramientas de restablecimiento/eliminación de sesión: existen implementaciones, pero el registro de agentes no registra de forma predeterminada las variantes destructivas sin ámbito. Mantén ese límite salvo que una interfaz de operador/administrador las necesite explícitamente.
Niveles y el conjunto básico retenido
Un nivel indica dónde debe ubicarse una herramienta integrada del agente según el contrato de composición del runtime propuesto en PR #11090: construida por el runtime, o candidata a una fuente de herramientas propiedad de la aplicación. La prueba de nivel consiste en determinar si la herramienta puede construirse únicamente a partir de ToolRequest de ese contrato, es decir, a partir de config, agent_alias, el SecurityPolicy resuelto, el RuntimeAdapter seleccionado y el manejador de memoria del agente. Una herramienta está acoplada al host si necesita cualquier otro manejador del runtime, o si el runtime cambia la forma en que se ejecuta según el nombre de la herramienta: emisión de eventos, admisión de turnos, reasignación de memoria, inyección de argumentos, guardas de bucle o selección de guías de prompt. Las tablas de nombres para visualización y descripción, como el mapa de tipos de herramienta de ACP, la lista de divulgación de argumentos de Matrix y las descripciones de herramientas del bucle del agente, no cuentan. Las herramientas que superan la prueba pero permanecen en el runtime se registran como juicios de criterio. Si el contrato cambia antes de fusionarse, actualice aquí la prueba de nivel para que coincida.
Esta clasificación es una propuesta para #10998, que requiere que el conjunto central aprobado, y la justificación de cualquier desviación, se registren en el rastreador de entrega de runtime y gateway, #7432.
Los niveles registran quién construye una herramienta según el contrato de composición; los grupos anteriores registran su hogar a largo plazo, así que una herramienta puede ser de nivel 2 y, al mismo tiempo, candidata a externalización.
Las tablas cubren las herramientas que construye all_tools_with_runtime, además de las cuatro que crea el ensamblado del registro con alcance. Quedan fuera las herramientas periféricas del crate de hardware, que dependen de las placas configuradas; las herramientas de plugins WASM, las definidas por skills y los wrappers de MCP, cuyos nombres se determinan en tiempo de ejecución; vi_verify, que se omite deliberadamente; las herramientas de reinicio y eliminación de sesión, que el registro de agentes no registra; y skills_list, skill_view y skill_manage, que solo registra la revisión de skills en segundo plano activada explícitamente.
I don’t see the three tier tables in your message, so I can’t update them or crates/zeroclaw-tools/src/inventory.rs. I also can’t read or edit files from here. Please paste the tables and the relevant part of inventory.rs, or tell me what change you want. I’ll keep the two in sync so the test still passes.
Nivel 1: núcleo
El Nivel 1 es el conjunto central conservado: la línea base de FND-001 D5, sin cambios, que enumera las herramientas que necesita un agente útil sin plugins instalados.
| Herramienta | Por qué es fundamental |
|---|---|
shell | El modo general de actuar sobre el host, bajo la política de shell y el adaptador de runtime. El runtime lo construye sobre el sandbox por agente que comparte con git_operations y las CLI de programación. |
file_read | Leer el espacio de trabajo es lo mínimo para cualquier tarea. Se ejecuta detrás del guardián de rutas. |
file_write | Escribe los resultados en el espacio de trabajo, detrás del control de rutas y de las reglas de persistencia del entorno de ejecución. |
file_edit | Realiza ediciones exactas sin reescribir archivos completos, protegidas por el mismo control que las escrituras. |
glob_search | Encuentra archivos del espacio de trabajo sin depender de la sintaxis del shell. |
content_search | Busca el contenido del espacio de trabajo sin depender de la sintaxis del shell. |
git_operations | Trabajo en el repositorio a través del límite de comandos de Git del runtime, que envuelve el mismo sandbox compartido. |
memory_store | La ruta de escritura de la memoria a largo plazo, un contrato de runtime de primera parte. |
memory_recall | La ruta de lectura de la memoria a largo plazo. |
memory_forget | La ruta de eliminación, para que los recuerdos incorrectos o no deseados puedan borrarse. |
web_fetch | La capacidad mínima de red: una página, devuelta como texto plano. |
web_fetch sigue condicionado por [web_fetch].enabled, que por defecto es true.
Nivel 2: acoplado al host
Las herramientas de nivel 2 se conservan en el runtime además del conjunto principal, y el runtime sigue construyéndolas.
| Familia | Herramientas | Por qué el runtime sigue construyéndolo |
|---|---|---|
| Programación | cron_add, cron_list, cron_remove, cron_update, cron_run, cron_runs, schedule | El almacén y el planificador de cron en tiempo de ejecución. El runtime también basa el comportamiento en cinco de los nombres: la orientación sobre el dialecto de shell en cron_add, cron_update y schedule; la inyección de argumentos aprobada por el runtime en esos tres y en cron_run; los valores predeterminados de entrega en cron_add; y los turnos del agente cron sin su propia lista de permitidos excluyen cron_add, cron_update, cron_remove, cron_run y schedule. |
| Plano de memoria | memory_export, memory_purge | El registro sellado vuelve a vincular las cinco herramientas de memoria en conjunto cuando una sesión queda anclada al plano de memoria privado de su propietario, y la lista compartida de nombres de herramientas de memoria las trata como una sola unidad. |
| Ejecución del agente | spawn_subagent, delegate, send_message_to_peer | Estas herramientas inician turnos hijos o pares a través del bucle de agente del entorno de ejecución y trasladan al llamador a ellos: su política de seguridad y el alcance de los pasos del SOP para spawn_subagent, su política de delegación y, para destinos acotados, sus límites máximos para delegate, y su identidad como principal del turno par para send_message_to_peer. delegate es propietario de la instantánea de las herramientas del padre, y el bucle de herramientas exime a spawn_subagent y delegate del colapso de llamadas duplicadas por nombre. |
| Plano de control | model_switch, model_routing_config, proxy_config | El estado de cambio de modelo con alcance de turno que instala el bucle de herramientas del runtime. Los dos últimos modifican la configuración: ambos reescriben el archivo de configuración, y proxy_config además establece el proxy de runtime de todo el proceso que leen las herramientas de solicitudes HTTP y de obtención web. Pueden construirse a partir de las entradas de la prueba de niveles, por lo que mantenerlos bajo la propiedad del runtime es una decisión de criterio que queda registrada aquí. |
| Puente de canales | ask_user, escalate_to_human, reaction, poll, channel_room, send_via, git_forge | Mapas de canales de vinculación tardía que el ensamblaje devuelve a su llamador, que los completa después; reaction y git_forge comparten un mapa, ask_user y send_via comparten otro. |
| Sesiones | sessions_current, sessions_list, sessions_history, sessions_send | El vista de lectura de sesión de ACP, que solo pasa la ruta del agente ACP; el backend de sesión en sí se abre desde la configuración. |
| SOP | sop_list, sop_execute, sop_advance, sop_approve, sop_status, sop_workshop | El motor de SOP y el registrador de auditoría. |
| Habilidades | read_skill | El cargador de skills y la ruta del prompt del canal selecciona el modo de prompt de skills según si read_skill está disponible. |
| Lista de tareas | TodoWrite | El runtime emite eventos de plan solo para este nombre, y ese es el único flujo de datos del rastreador de tareas de ZeroCode. |
| Lienzo | canvas | El almacén de canvas compartido con la puerta de enlace. |
| Entrega de ACP | deliver_file | Solo se admite en los turnos de ACP; sus funciones auxiliares son utilizadas por el servidor de ACP. |
| Vinculado a un proveedor | llm_task | Construye un proveedor a partir de la credencial del agente, fuera del origen del proveedor. |
| CLIs de programación restringidos a un sandbox | claude_code, codex_cli, gemini_cli, opencode_cli | El ejecutor de la CLI de programación envuelve el adaptador de runtime y el sandbox compartido. Se activa mediante configuración opt-in, pero se construye en tiempo de ejecución. |
| Configuración en vivo | a2a_discover, a2a_send, a2a_get_task, a2a_cancel, file_download | Ellos mantienen el identificador de configuración activo; el cliente A2A también usa una caché de rutas de ámbito de proceso. |
| Definido en tiempo de ejecución | security_ops | Reside en el crate runtime y utiliza sus módulos de playbook de seguridad y de vulnerabilidades. |
| Creado fuera de la fábrica | execute_pipeline, tool_search, mcp_resources, mcp_prompts | Acuñado por el ensamblado del registro con alcance a partir del propio registro o del registro MCP. |
La lista compartida de nombres de la herramienta de memoria es MEMORY_TOOL_NAMES en crates/zeroclaw-tools/src/lib.rs.
No source string was included, only “Tier 3: optional.” Please send the English text you want translated to Spanish.
Las herramientas de nivel 3 pueden construirse únicamente a partir de ToolRequest, tomando el directorio de trabajo del SecurityPolicy resuelto. Son candidatas para la fuente de herramientas propiedad de la aplicación y para una funcionalidad de herramientas opcionales (propuesta como tools-extra).
| Familia | Herramientas | Registrado con una configuración predeterminada |
|---|---|---|
| Utilidades | calculator, weather, pushover, screenshot, image_info | Siempre |
| Navegador | browser_open, browser, browser_delegate, text_browser | browser_open sí, porque la sección del navegador está habilitada de forma predeterminada; las demás no |
| Red | http_request, web_search_tool | Sí, ambos están habilitados de forma predeterminada |
| Integraciones SaaS | notion, jira, linkedin, composio, google_workspace, microsoft365 | No |
| Informes | project_intel, report_template | No |
| Corredor de código | claude_code_runner | No |
| Ops | backup, data_management, cloud_ops, cloud_patterns | backup sí; los demás no |
| Medios y transferencia | image_gen, file_upload, file_upload_bundle | No |
| Compañeros de canal | discord_search, email_search, email_read | No |
| Conocimiento | knowledge | No |
El registro con una configuración predeterminada sigue los valores por defecto de la configuración: [browser].enabled, [http_request].enabled, [web_search].enabled y [backup].enabled tienen el valor true por defecto, mientras que [browser].automation_enabled y todas las demás restricciones de esta tabla están desactivadas o sin definir. Por lo tanto, nueve herramientas de nivel 3 se registran con una configuración predeterminada: calculator, weather, pushover, screenshot, image_info, browser_open, http_request, web_search_tool y backup. Las configuraciones existentes reciben estas nueve herramientas sin necesidad de optar por ellas, por lo que cualquier restricción posterior debe migrarlas primero.
Desviación de la línea base FND-001
FND-001 D5 nombra once herramientas del kernel y dice «Everything else is registered by installed plugins.». Esta clasificación se desvía de eso: 51 herramientas, además de las once, siguen construyéndose en tiempo de ejecución. La mayoría necesita un handle de runtime que ToolRequest no transporta, o tiene un comportamiento en tiempo de ejecución condicionado por sus nombres. El resto supera la prueba de tier y se mantiene por criterio: cron_list y cron_runs, que comparten el almacén de cron con el resto de la programación; security_ops, que usa los módulos de playbooks y de vulnerabilidades del runtime; y model_routing_config y proxy_config. llm_task construye su propio proveedor; según el contrato necesitaría la fuente de proveedores, que ToolRequest no transporta. ¿Qué tendría que cambiar antes de que una familia pudiera moverse:
ToolRequesttransporta el sandbox compartido por agente. Las CLI de programación podrían trasladarse después;shellygit_operationssiguen siendo parte del núcleo en cualquier caso.ToolRequestlleva el handle de configuración activo. Las herramientas A2A yfile_downloadpodrían entonces moverse.ToolRequesttransporta elChannelSourcede la generación, yChannelSourcetambién puede listar los canales en ejecución, de modo que las herramientas de puente de canales consultan los canales en lugar de leer mapas que el llamador rellena después del ensamblado. El puente de canales podría entonces moverse.ToolRequesttransporta el origen del proveedor de la generación.llm_taskpodría entonces moverse.- El motor de SOP y el registrador de auditoría, la vista de lectura de sesiones de ACP y el almacén de canvas acceden a las herramientas a través del contrato. Las familias SOP, sesiones y canvas podrían migrarse después.
- El runtime reconoce las herramientas de planificación, entrega, memoria, programación y lectura de habilidades mediante una identidad tipada que verifica junto con
ToolProvenance::Native, y no solo por la cadena del nombre, incluso cuando selecciona el modo de prompt de habilidades. La reasociación de memoria vuelve a consultar al origen de herramientas con el handle de memoria enrutado. Las familias de lista de tareas, entrega ACP, plano de memoria y habilidades podrían entonces moverse, y lo mismo podría ocurrir concron_add,cron_update,cron_remove,cron_runyschedule. security_ops,model_routing_config,proxy_config,cron_listycron_runsno necesitan cambios de contrato; moverlos es una decisión, no un requisito previo.- No cambia nada de lo anterior que mueva la ejecución del agente,
model_switchni las cuatro herramientas construidas fuera de la fábrica: dependen del bucle de turnos o del registro ensamblado.
Ninguno de estos cambios está propuesto. PR #11090 mantiene estos detalles internos fuera de ToolRequest para que no se conviertan en un contrato público, y un identificador de configuración en vivo entraría en conflicto con su regla de que una solicitud pertenece a una sola generación de configuración.
No hace esta clasificación
- No elimina, restringe ni mueve ninguna herramienta. El registro registra las mismas herramientas bajo las mismas condiciones que antes.
- No relaja la Política de sustitución primero. Cada eliminación, control o traslado posterior sigue necesitando su propio issue y PR con evidencia de sustitución, incluidas las herramientas de nivel 3.
Política de reemplazo prioritario
I can’t run RFC #6165 reviews here. This deployment only translates English technical documentation strings into Spanish. Your message also ends before the rules you wanted applied. If you send the text to translate, I’ll return the Spanish version with backticks, code, URLs, and paths preserved. For the RFC review, use a tool set up for that work.
- A una integración integrada que funcione seguirá disponible hasta que su reemplazo esté realmente disponible, documentado y revisado de forma independiente.
- La revisión de reemplazo debe cubrir la migración de configuración, la política de seguridad, los recibos de herramientas o el comportamiento de auditoría cuando corresponda, la compatibilidad y la reversión.
- Cada eliminación, restricción de funcionalidad (feature gate) o migración concreta necesita su propia incidencia (issue) y su propio PR que incluya esa evidencia de reemplazo.
- The RFC no pre-aprueba ninguna eliminación individual, activación de funcionalidad (feature gate), migración ni cambio de comportamiento en tiempo de ejecución.
- La limpieza del esquema V4 es una decisión independiente bajo #8310. No constituye una excepción general para eliminar una integración en funcionamiento sin una ruta de reemplazo.
Las Reglas de migración que aparecen a continuación son las preguntas que esa revisión debe responder antes de que una herramienta integrada salga del núcleo.
Reglas de migración
Antes de mover cualquier herramienta fuera del núcleo, la alternativa debe responder:
- ¿Qué configuración sigue siendo de primera parte y cuál pasa al complemento, skill, servidor MCP o CLI?
- ¿Cómo preserva el reemplazo las comprobaciones de autonomía, las listas de अनुमति/denegación, los recibos de herramientas, los registros de auditoría y la atribución?
- ¿Cómo fallan o se migran las configuraciones existentes cuando desaparece la herramienta integrada?
- ¿Pueden los operadores ver que la capacidad está instalada, habilitada, deshabilitada, bloqueada o ausente?
- ¿Cuál es la ruta de reversión si el paquete externo falla?
Si se necesita una prueba de código para una futura segmentación, elija un candidato de bajo radio de impacto de la tabla Externalize later y demuestre la ruta de reemplazo sin eliminar la herramienta integrada en el mismo PR.