Plugins Personalizados
Crea herramientas potentes para tus agentes con solo un simple decorador. EXODUS genera automáticamente el esquema compatible con OpenAI.
from exodus.core.decorators import tool
@tool(
name="port_scanner",
type="cli",
description="Scans ports on a target host using nmap"
)
def port_scanner(target: str, ports: str = "1-1000") -> str:
"""Escanea los puertos especificados en el objetivo."""
return f"nmap -p {ports} {target}"
# Registra tu clase de plugin
class SecurityPlugin:
@staticmethod
def get_tools():
return {
port_scanner.tool_name: port_scanner,
}
Para hacer que tu plugin sea descubrible, regístralo en tu pyproject.toml:
[project.entry-points."exodus.plugins.tools"]
security = "your_package.plugins:SecurityPlugin"
EXODUS descubrirá y cargará automáticamente todos los plugins del grupo de puntos de entrada exodus.plugins.tools al inicio.
Sistema de Plugins
- Herramientas de Python: Ejecutan código directamente en tu entorno
- Herramientas de CLI: Devuelven comandos de shell ejecutados en contenedores aislados
- Auto-validación: Modelos Pydantic generados automáticamente a partir de pistas de tipo
- Auto-descubrimiento: Plugins cargados a través de puntos de entrada de Python (
exodus.plugins.tools) - Distribuible: Comparte tus plugins como paquetes PyPI