Integrando Agentes Externos
Integre agentes de IA personalizados con Edison Watch usando el SDK de Python o la API HTTP para rastreo, control y monitoreo de actividad de agentes.
Edison Watch proporciona APIs y SDKs para integrar agentes de IA externos, permitiéndole rastrear llamadas a herramientas, hacer cumplir políticas de seguridad y monitorear la actividad de agentes en tiempo real.
Prerrequisitos
Antes de integrar su agente:
- Servidor Edison Watch debe estar ejecutándose y ser accesible
- Clave API del panel de control (Configuración → API Keys)
- Python 3.8+ (para SDK de Python) o cliente HTTP (para API directa)
Obtenga su clave API del panel de control de Edison Watch bajo Settings → API Keys. La clave API autentica a su agente y asocia la actividad con su cuenta de usuario.
Ubicación del Servidor: Establezca la variable de entorno EDISON_WATCH_API_BASE a la URL de su servidor Edison Watch (ej. https://dashboard.edison.watch). El SDK lee este valor para conectarse a su servidor.
Inicio Rápido (Python/LangGraph)
La forma más rápida de integrar es usando el SDK de Python edison-watch con el decorador @edison.track().
Instalación
Variables de Entorno
Establezca estas variables de entorno (o páselas al constructor Edison):
Requerido: Debe establecer EDISON_WATCH_API_BASE a la URL de su servidor Edison Watch (ej. https://dashboard.edison.watch).
Integración Mínima
Añada solo 4 líneas para rastrear las llamadas a herramientas de su agente:
El decorador @edison.track() automáticamente:
- Envía metadatos de llamada a herramienta a Edison Watch antes de la ejecución
- Espera aprobación si la llamada activa políticas de seguridad
- Registra duración y resultado después de la ejecución
- Aparece en la línea de tiempo del panel de control
Registrando Agentes (Opcional)
Puede registrar opcionalmente agentes con nombre en Edison Watch para una mejor organización y rastreo. Esto es útil al gestionar múltiples tipos de agentes o roles.
Crear un Agente
Respuesta:
El agent_id se genera automáticamente en el formato agent:HEX (32 caracteres hexadecimales).
Listar Agentes
Respuesta:
Eliminar un Agente
Respuesta:
El registro de agentes es opcional. Puede usar la API de rastreo directamente sin registrar agentes. El registro es principalmente útil para organización administrativa y reportes.
Referencia del SDK de Edison
La clase Edison proporciona un SDK de Python para rastrear actividad de agentes.
Constructor
Variables de Entorno:
EDISON_WATCH_API_BASE: URL del servidor (requerido - establezca esto a su servidor Edison Watch)EDISON_WATCH_API_KEY: Clave API para autenticación (requerido)
Si no se proporcionan como argumentos del constructor, estos valores se leen de las variables de entorno.
Decorador de Rastreo
El decorador @edison.track() envuelve funciones para rastrear su ejecución:
Parámetros:
session_id: Anular el ID de sesión para esta llamadaname: Anular el nombre de la herramienta (por defecto es el nombre de la función)
Comportamiento:
- Llama a
/agent/beginantes de la ejecución (control + espera de aprobación) - Ejecuta la función
- Llama a
/agent/enddespués de la ejecución con estado, duración y resumen del resultado - Lanza
PermissionErrorsi está bloqueado y no aprobado
Envolviendo Herramientas LangChain
Para herramientas LangChain, use wrap_tools():
O use bind_tools() para envolver y vincular en un paso:
Gestión de Sesiones
Las sesiones agrupan llamadas a herramientas relacionadas. Por defecto, cada instancia de Edison crea un ID de sesión único, pero puede compartir sesiones:
También puede anular la sesión por llamada:
API HTTP Directa (No-Python)
Si no está usando Python, puede integrar directamente vía endpoints HTTP.
Iniciar Rastreo de una Llamada a Herramienta
Respuesta:
Códigos de Estado:
200 OK: Solicitud procesada (verifique campoapproved)400 Bad Request: Cuerpo de solicitud inválido401 Unauthorized: Clave API faltante o inválida
Importante: Si approved es false, la llamada a la herramienta fue bloqueada por políticas de seguridad. Espere aprobación manual en el panel, o maneje el error apropiadamente.
Completar Rastreo
Después de ejecutar la herramienta, llame a /agent/end:
Respuesta:
Normalización de Nombre de Herramienta
Los nombres de herramientas se prefijan automáticamente con agent_ si no comienzan ya con builtin_ o agent_:
web_search→agent_web_searchagent_my_tool→agent_my_tool(sin cambios)builtin_system→builtin_system(sin cambios)
Ejemplo: Integración Completa
Configuración Multi-Agente
Al ejecutar múltiples agentes con diferentes roles o permisos, cree instancias Edison separadas con agent_name y agent_type distintos:
La actividad de cada agente será rastreada por separado en el panel de control, y puede configurar diferentes permisos por tipo de agente a través de la configuración de permisos del panel.
Configuración de Permisos
Las herramientas rastreadas se nombran con el prefijo agent_ en el sistema de permisos. Configúrelas a través del panel de control de Edison Watch:
- Navegue a Servers en el panel
- Encuentre o cree el servidor
agent(las herramientas rastreadas vía el SDK aparecen bajo este servidor) - Haga clic en cada herramienta para configurar sus permisos
Ajustes de Permiso:
Para cada herramienta, puede configurar:
- Enabled: Si la herramienta tiene permitido ejecutarse
- Write Operation: La herramienta puede modificar datos (ej. enviar email, crear archivo)
- Read Private Data: La herramienta accede a datos internos sensibles
- Read Untrusted Public Data: La herramienta procesa contenido externo/no confiable
- ACL: Nivel de control de acceso (PUBLIC, PRIVATE, SECRET, TOP_SECRET)
Configuración de Ejemplo:
Para una herramienta web_search rastreada como agent_web_search:
- Enabled: ✓
- Write Operation: ✗
- Read Private Data: ✗
- Read Untrusted Public Data: ✓
- ACL: PUBLIC
Para una herramienta send_email rastreada como agent_send_email:
- Enabled: ✓
- Write Operation: ✓
- Read Private Data: ✗
- Read Untrusted Public Data: ✗
- ACL: SECRET
Banderas de Seguridad:
write_operation: La herramienta puede modificar datos (ej. enviar email, crear archivo)read_private_data: La herramienta accede a datos internos sensiblesread_untrusted_public_data: La herramienta procesa contenido externo/no confiable
Lethal Trifecta: Si una llamada a herramienta combina las tres banderas (datos privados + contenido no confiable + escritura), Edison Watch pausará para aprobación manual.
Niveles ACL:
PUBLIC: Datos no sensiblesPRIVATE: Datos confidenciales o internosSECRET: Datos altamente sensibles
Cumplimiento: Los datos no pueden fluir de un ACL más alto a uno más bajo (ej. SECRET → PUBLIC).
Vea Estableciendo Permisos para guía detallada de configuración.
Manejo de Errores
Llamadas a Herramientas Bloqueadas
Si una llamada a herramienta es bloqueada por políticas de seguridad:
Errores de Red
El SDK maneja los errores de red con gracia y los registra. Si Edison Watch es inalcanzable:
- La ejecución de la herramienta continúa (rastreo de mejor esfuerzo)
- Los errores se registran pero no lanzan excepciones
- Las verificaciones de salud se ejecutan en segundo plano para detectar conectividad
Manejo de Tiempo de Espera
Si la aprobación manual excede el tiempo de espera (por defecto: 30 segundos):
El parámetro timeout_s controla cuánto tiempo esperar por aprobación antes de lanzar PermissionError.
Mejores Prácticas
- Use nombres de agentes descriptivos:
hr_assistant,eng_copilot,finance_analyst - Establezca tipos de agentes: Agrupe agentes por rol para una gestión más fácil
- Comparta sesiones apropiadamente: Use el mismo
session_idpara llamadas a herramientas relacionadas en una conversación - Maneje aprobaciones con gracia: Las llamadas bloqueadas deben esperar aprobación o fallar con gracia
- Configure permisos por adelantado: Configure permisos de herramientas en el panel antes de desplegar agentes
- Monitoree el panel: Revise la actividad de agentes y ajuste permisos según sea necesario
Solución de Problemas
401 Unauthorized
- Verifique que
EDISON_WATCH_API_KEYesté configurada correctamente - Verifique que la clave API esté activa en el panel
Llamadas a herramientas bloqueadas
- Verifique permisos de herramientas en el panel (Servers → agent → Tools)
- Verifique que el nombre de la herramienta coincida (con prefijo
agent_) - Apruebe llamadas bloqueadas en el panel si es necesario
Llamadas a herramientas no aparecen en el panel
- Verifique que el servidor Edison Watch se esté ejecutando
- Verifique la conectividad de red a
api_base - Revise los registros del servidor en busca de errores
Fallas de verificación de salud
- Asegúrese de que Edison Watch sea accesible en
api_base - Verifique configuraciones de firewall/red
- Verifique que el servidor se esté ejecutando:
curl https://dashboard.edison.watch/health
¿Necesita ayuda? Revise la guía del Panel de Control para monitorear actividad de agentes, o envíe un correo a [email protected] para soporte.

