Precios

Visión general del proyecto

Archivos fuente

Esta página se genera a partir de los siguientes archivos fuente:

Sim es una plataforma de código abierto diseñada para construir agentes de IA y orquestar flujos de trabajo agentivos. El proyecto permite conectar más de 1,000 integraciones y múltiples LLMs para crear workforce agentivo completos. La plataforma ofrece un constructor visual de flujos de trabajo donde los usuarios pueden diseñar, conectar agentes y herramientas, y ejecutarlos instantáneamente (README.md:5-45).

La plataforma se distingue por tres capacidades principales: un constructor de flujos de trabajo visual tipo canvas, un sistema Copilot que permite generar nodos y corregir errores desde lenguaje natural, y la integración con bases de datos vectoriales para cargar documentos y realizar consultas basadas en contenido específico. Sim está posicionado como una solución completa para automatización inteligente que combina interfaces visuales con capacidades avanzadas de IA.

Arquitectura de la Aplicación

La aplicación está construida sobre Next.js con React, implementando una arquitectura modular basada en proveedores anidados. El punto de entrada principal layout.tsx configura la infraestructura base incluyendo viewport, metadata y polyfills para compatibilidad (apps/sim/app/layout.tsx:1-60).

Estructura de Proveedores

El sistema implementa una cadena de proveedores que encapsulan la funcionalidad core:

ProveedorResponsabilidad
PostHogProviderAnálisis y telemetría de uso
ThemeProviderGestión de temas visuales (claro/oscuro)
QueryProviderEstado del servidor y cache
SessionProviderAutenticación y sesión de usuario
TooltipProviderSistema de tooltips global

La configuración de proveedores se establece en el layout raíz, donde cada capa añade capacidades específicas a la aplicación (apps/sim/app/layout.tsx:230-257).

Módulos Core del Sistema

正在加载图表渲染器...

Puntos clave del diagrama:

  1. Cadena de proveedores: Los proveedores se anidan en orden específico donde PostHog (analytics) envuelve todo, seguido de Theme, Query, Session y Tooltip
  2. Layout raíz como orquestador: El archivo layout.tsx coordina la inicialización de todos los servicios y polyfills necesarios
  3. Separación de concerns: Los servicios core (modelos, herramientas) están desacoplados de la capa de presentación
  4. Enterprise Edition: El módulo de whitelabeling permite personalización de marca sin modificar el core

Evidencia de implementación:

Sistema de Proveedores de Modelos

El sistema de gestión de modelos de IA está centralizado en providers/models.ts, que actúa como registro único para todos los LLMs soportados. Este módulo expone funciones para consultar modelos disponibles, capacidades, precios y configuraciones por defecto (apps/sim/providers/models.ts:2282-2299).

Funciones Principales del Sistema de Modelos

FunciónPropósitoValor de Retorno
getProviderModels()Lista modelos por proveedorstring[] de IDs de modelos
getProviderDefaultModel()Obtiene modelo por defectoID del modelo default
getModelPricing()Consulta precios de modeloModelPricing | null
getModelCapabilities()Obtiene capacidadesModelCapabilities | null
getModelsWithTemperatureSupport()Filtra por soporte de temperaturastring[] de modelos

Flujo de Resolución de Capacidades

正在加载图表渲染器...

Puntos clave del diagrama:

  1. Búsqueda en dos fases: Primero busca coincidencia exacta por ID, luego por patrones regex si no encuentra
  2. Herencia de capacidades: Las capacidades del modelo se fusionan con las del proveedor base
  3. Manejo de null: Retorna null explícitamente si no hay coincidencias, permitiendo fallbacks
  4. Patrones dinámicos: Soporta modelos con IDs variables mediante expresiones regulares

Evidencia de implementación:

Estructura de Datos de Capacidades

El sistema define capacidades que incluyen soporte de visión, temperatura configurable, streaming, y otras características específicas del modelo. La función getModelCapabilities() implementa una estrategia de resolución que primero busca en la lista de modelos explícitos del proveedor, y si no encuentra coincidencia, itera sobre patrones definidos para modelos con IDs dinámicos.

Opciones de Despliegue

Sim ofrece múltiples estrategias de despliegue adaptadas a diferentes necesidades operativas. La plataforma está disponible como servicio en la nube a través de sim.ai, o puede ser autoalojada mediante Docker Compose para mayor control (README.md:41-72).

Matriz de Opciones de Despliegue

MétodoComplejidadControlCaso de Uso
Cloud (sim.ai)MínimaBajoEvaluación rápida, equipos pequeños
Docker ComposeMediaMedioProducción autoalojada estándar
Dev ContainersMediaAltoDesarrollo local consistente
Manual SetupAltaMáximoPersonalización extrema

Configuración con Modelos Locales

El soporte para modelos locales se implementa mediante integración con Ollama y vLLM. Para sistemas con GPU, el despliegue incluye descarga automática del modelo gemma3:4b:

bash
1# Con soporte GPU (descarga automática de gemma3:4b)
2docker compose -f docker-compose.ollama.yml --profile setup up -d
3
4# Para sistemas solo CPU
5docker compose -f docker-compose.ollama.yml --profile cpu --profile setup up -d

Para instancias externas de Ollama ejecutándose en el host, la configuración utiliza host.docker.internal para la comunicación entre contenedores (README.md:73-102).

Requisitos de Infraestructura

El despliegue manual requiere:

  • Runtime: Bun o Node.js v20+
  • Base de datos: PostgreSQL 12+ con extensión pgvector
  • Memoria: Mínimo 12GB RAM recomendados
  • Puertos: 3000 (app), 3002 (socket), 5432 (PostgreSQL)

Ecosistema de Herramientas e Integraciones

La plataforma implementa un sistema modular de herramientas que permite la integración con servicios externos. Cada herramienta sigue un patrón de configuración estandarizado con definición de parámetros, manejo de requests y transformación de respuestas.

Dependencias Clave del Ecosistema

El archivo package.json revela un ecosistema rico en integraciones (apps/sim/package.json:39-78):

CategoríaDependencias Principales
Cloud ServicesAWS SDK, Azure Storage/Blob, Google GenAI
IA/MLCerebras SDK, E2B Code Interpreter, MCP SDK
ColaboraciónLinear SDK, Radix UI Components
ObservabilidadOpenTelemetry (API, SDK, Exporters)
UI FrameworkRadix UI (15+ componentes)

Arquitectura del Sistema de Herramientas

正在加载图表渲染器...

Puntos clave del diagrama:

  1. Patrón de registro centralizado: Todas las herramientas se registran en un repositorio común accesible por los agentes
  2. Validación previa: Los parámetros se validan antes de realizar llamadas a APIs externas
  3. Transformación estandarizada: Las respuestas de APIs externas se normalizan al formato ToolResponse
  4. Manejo de errores explícito: Los fallos de validación se comunican inmediatamente sin llamadas externas

Evidencia de implementación:

Ejemplo de Implementación: GitHub Delete Gist

La herramienta delete_gist ilustra el patrón de configuración estándar:

typescript
1export const deleteGistTool: ToolConfig<DeleteGistParams, DeleteGistResponse> = {
2  id: 'github_delete_gist',
3  name: 'GitHub Delete Gist',
4  description: 'Delete a gist by ID',
5  version: '1.0.0',
6  params: {
7    gist_id: {
8      type: 'string',
9      required: true,
10      visibility: 'user-or-llm',
11      description: 'The gist ID to delete',
12    },
13    apiKey: {
14      type: 'string',
15      required: true,
16      visibility: 'user-only',
17      description: 'GitHub API token',
18    },
19  },
20  // ... request configuration
21}

La configuración define visibilidad de parámetros (user-or-llm vs user-only), permitiendo control granular sobre qué datos son accesibles para el agente versus exclusivos del usuario.

Stack Tecnológico

TecnologíaVersiónPropósito
Next.js-Framework de aplicación
React-Biblioteca de UI
Bun-Runtime y gestor de paquetes
PostgreSQL12+Base de datos relacional
pgvectorpg17Extensión vectorial
Docker-Contenedorización
OpenTelemetry2.xObservabilidad distribuida
Radix UI-Componentes accesibles

Estructura de Directorios

sim/
├── apps/
│   └── sim/                    # Aplicación principal
│       ├── app/                # Rutas y páginas Next.js
│       │   ├── layout.tsx      # Layout raíz con providers
│       │   └── page.tsx        # Página de inicio
│       ├── providers/          # Configuración de LLMs
│       │   └── models.ts       # Registro de modelos
│       ├── tools/              # Herramientas de integración
│       │   ├── github/         # Herramientas GitHub
│       │   ├── gmail/          # Herramientas Gmail
│       │   ├── cursor/         # Herramientas Cursor
│       │   └── vision/         # Herramientas de visión
│       ├── components/         # Componentes React
│       └── lib/                # Utilidades core
├── docker-compose.prod.yml     # Despliegue producción
└── docker-compose.ollama.yml   # Despliegue con Ollama

Características Principales

  1. Constructor Visual de Flujos: Diseño de workflows en canvas interactivo con drag-and-drop
  2. Copilot Integrado: Generación de nodos y corrección de errores desde lenguaje natural
  3. Bases de Datos Vectoriales: Carga de documentos y consultas basadas en contenido específico
  4. Multi-LLM: Soporte para OpenAI, Anthropic, Google AI, Mistral, xAI, Perplexity, Ollama y vLLM
  5. 1000+ Integraciones: Conexión con Slack, Gmail, Discord, Notion, Airtable, Supabase, GitHub
  6. Autoalojamiento: Despliegue flexible con Docker Compose o configuración manual
  7. Modelos Locales: Soporte completo para Ollama y vLLM sin dependencia de APIs externas
  8. Observabilidad: Instrumentación con OpenTelemetry para tracing distribuido

Casos de Uso

EscenarioDescripción
Automatización de EmailAgentes que procesan, clasifican y responden correos automáticamente
Bots de Slack/DiscordAsistentes conversacionales integrados en canales de comunicación
Análisis de DatosProcesamiento y visualización automatizada de conjuntos de datos
Soporte al ClienteSistemas de respuesta automática basados en knowledge bases
Generación de ContenidoCreación automatizada de documentos, reportes y contenido
Integraciones GitHubAutomatización de workflows de desarrollo y gestión de repositorios

Métricas Cuantitativas del Proyecto

MétricaValor
Integraciones soportadas1,000+
Proveedores LLM8+ (OpenAI, Anthropic, Google, Mistral, xAI, Perplexity, Ollama, vLLM)
Componentes UI15+ (Radix UI)
Herramientas documentadas50+ (GitHub, Gmail, Vision, Cursor, etc.)
Opciones de despliegue4 (Cloud, Docker, Dev Containers, Manual)
Requisito de memoria12GB+ RAM

Ruta de Lectura del Reporte

正在加载图表渲染器...

Recomendación de lectura:

  1. Visión General (documento actual): Contexto general y capacidades del proyecto
  2. Arquitectura y Módulos: Profundización en la estructura técnica y componentes
  3. Flujo de Datos: Comprensión del procesamiento de información a través del sistema
  4. Diseño de API: Detalles de integración y extensibilidad
  5. Guía de Despliegue: Instrucciones prácticas para implementación

Para desarrolladores que buscan implementación rápida, se recomienda saltar directamente a la Guía de Despliegue y luego consultar los documentos de arquitectura según necesidad.