Añadir capacidades (Guía del colaborador)
Añadir capacidades
Sección titulada «Añadir capacidades»Use esto cuando OpenClaw necesite un nuevo dominio como generación de imágenes, generación de video o alguna área de características futura respaldada por un proveedor.
La regla:
- complemento = límite de propiedad
- capacidad = contrato principal compartido
Eso significa que no debe comenzar conectando un proveedor directamente a un canal o una herramienta. Comience definiendo la capacidad.
Cuándo crear una capacidad
Sección titulada «Cuándo crear una capacidad»Cree una nueva capacidad cuando todo esto sea cierto:
- más de un proveedor podría implementarla plausiblemente
- los canales, herramientas o complementos de características deberían consumirla sin importarles el proveedor
- el núcleo necesita ser propietario del comportamiento de reserva, política, configuración o entrega
Si el trabajo es exclusivo del proveedor y aún no existe un contrato compartido, deténgase y defina primero el contrato.
La secuencia estándar
Sección titulada «La secuencia estándar»- Defina el contrato principal tipado.
- Añada el registro de complementos para ese contrato.
- Añada un asistente de tiempo de ejecución compartido.
- Conecte un complemento de proveedor real como prueba.
- Mueva los consumidores de características/canales al asistente de tiempo de ejecución.
- Añada pruebas de contrato.
- Documente la configuración orientada al operador y el modelo de propiedad.
Qué va dónde
Sección titulada «Qué va dónde»Núcleo:
- tipos de solicitud/respuesta
- registro de proveedores + resolución
- comportamiento de reserva
- esquema de configuración y etiquetas/ayuda
- superficie del asistente de tiempo de ejecución
Complemento de proveedor:
- llamadas a la API del proveedor
- manejo de autenticación del proveedor
- normalización de solicitudes específicas del proveedor
- registro de la implementación de la capacidad
Complemento de características/canal:
- llama a
api.runtime.*o al asistenteplugin-sdk/*-runtimecorrespondiente - nunca llama a una implementación de proveedor directamente
Lista de verificación de archivos
Sección titulada «Lista de verificación de archivos»Para una nueva capacidad, espere tocar estas áreas:
src/<capability>/types.tssrc/<capability>/...registry/runtime.tssrc/plugins/types.tssrc/plugins/registry.tssrc/plugins/captured-registration.tssrc/plugins/contracts/registry.tssrc/plugins/runtime/types-core.tssrc/plugins/runtime/index.tssrc/plugin-sdk/<capability>.tssrc/plugin-sdk/<capability>-runtime.ts- uno o más paquetes de complementos incluidos
- config/docs/tests
Ejemplo: generación de imágenes
Sección titulada «Ejemplo: generación de imágenes»La generación de imágenes sigue la forma estándar:
- core define
ImageGenerationProvider - core expone
registerImageGenerationProvider(...) - core expone
runtime.imageGeneration.generate(...) - los complementos
openaiygoogleregistran implementaciones respaldadas por proveedores - los proveedores futuros pueden registrar el mismo contrato sin cambiar canales/herramientas
La clave de configuración es independiente del enrutamiento de análisis de visión:
agents.defaults.imageModel= analizar imágenesagents.defaults.imageGenerationModel= generar imágenes
Manténgalos separados para que la reserva y la política sigan siendo explícitas.
Lista de verificación de revisión
Sección titulada «Lista de verificación de revisión»Antes de lanzar una nueva capacidad, verifique:
- ningún canal/herramienta importa código de proveedor directamente
- el asistente de tiempo de ejecución es la ruta compartida
- al menos una prueba de contrato afirma la propiedad agrupada
- los documentos de config nombran la nueva clave de modelo/config
- los documentos del complemento explican el límite de propiedad
Si un PR omite la capa de capacidad y codifica el comportamiento del proveedor en un canal/herramienta, envíelo de vuelta y defina primero el contrato.