flyto-core
Motor de ejecución determinista para agentes de IA. 412 herramientas MCP en 78 categorías: navegador, archivos, Docker, datos, cripto, programación y más.
Documentación
Flyto2 Core
La IA dijo que terminó. Flyto2 muestra la prueba.
Un motor de ejecución de Python para agentes de IA. Ejecuta trabajo de navegador y API como pasos explícitos, registra lo que hizo cada paso y reproduce desde el paso que falló, en lugar de volver a ejecutar todo el trabajo.
El inventario público actual es de 481 módulos respaldados por registro en 89 categorías de catálogo, incluidos disparadores, módulos de cola, versionado de flujos de trabajo, ganchos de medición, automatización de navegador, llamadas a API, transformaciones de datos, verificación, archivos y criptografía.
flyto2.com · Automatización en la nube · Documentación · Documentación MCP · YouTube
Pruébalo en 30 segundos
pip install flyto-core[browser] && playwright install chromium
flyto recipe competitor-intel --url https://github.com/pricing
Step 1/12 browser.launch ✓ 420ms
Step 2/12 browser.goto ✓ 1,203ms
Step 3/12 browser.evaluate ✓ 89ms
Step 4/12 browser.screenshot ✓ 1,847ms → saved intel-desktop.png
Step 5/12 browser.viewport ✓ 12ms → 390×844
Step 6/12 browser.screenshot ✓ 1,621ms → saved intel-mobile.png
Step 7/12 browser.viewport ✓ 8ms → 1280×720
Step 8/12 browser.performance ✓ 5,012ms → Web Vitals captured
Step 9/12 browser.evaluate ✓ 45ms
Step 10/12 browser.evaluate ✓ 11ms
Step 11/12 file.write ✓ 3ms → saved intel-report.json
Step 12/12 browser.close ✓ 67ms
✓ Done in 10.3s — 12/12 steps passed
Capturas de pantalla tomadas. Métricas de rendimiento extraídas. Informe JSON guardado. Cada paso rastreado.
¿Qué sucede cuando falla el paso 8?
Con un script de shell, vuelves a ejecutar todo. Con flyto-core:
flyto replay --from-step 8
Los pasos 1–7 son instantáneos. Solo se vuelve a ejecutar el paso 8. Contexto completo preservado.
¿En qué se diferencia esto?
| Playwright / Selenium | Scripts de shell | flyto-core | |
|---|---|---|---|
| Falla el paso 8 | Volver a ejecutar todo | Volver a ejecutar todo | flyto replay --from-step 8 |
| ¿Qué pasó en el paso 3? | Agregar print(), volver a ejecutar | Agregar echo, volver a ejecutar | Traza completa: entrada, salida, tiempo |
| Navegador + API + E/S de archivos | Escribir código de conexión | 3 lenguajes | Todo integrado |
| Compartir con el equipo | "Clona mi repositorio" | "Clona mi repositorio" | pip install flyto-core |
| Ejecutar en CI | Envolver en pytest/bash | Frágil | flyto run workflow.yaml |
3 recetas para probar ahora
# Competitive pricing: screenshots + Web Vitals + JSON report
flyto recipe competitor-intel --url https://competitor.com/pricing
# Full site audit: SEO + accessibility + performance
flyto recipe full-audit --url https://your-site.com
# Web scraping → CSV export
flyto recipe scrape-to-csv --url https://news.ycombinator.com --selector ".titleline a"
Cada receta está rastreada. Cada ejecución es reproducible. Ver las 41 recetas ->
Instalación
pip install flyto-core # Core engine + CLI + MCP server
pip install flyto-core[browser] # + browser automation (Playwright)
playwright install chromium # one-time browser setup
Escribe tus propios flujos de trabajo
Las recetas son solo archivos YAML. Escribe los tuyos:
name: price-monitor
steps:
- id: open
module: browser.launch
params: { headless: true }
- id: page
module: browser.goto
params: { url: "https://competitor.com/pricing" }
- id: prices
module: browser.evaluate
params:
script: |
JSON.stringify([...document.querySelectorAll('.price')].map(e => e.textContent))
- id: save
module: file.write
params: { path: "prices.json", content: "${prices.result}" }
- id: close
module: browser.close
flyto run price-monitor.yaml
Cada ejecución produce una traza de ejecución y capturas de estado. Si falla el paso 3, reproduce desde el paso 3 — sin volver a ejecutar todo.
Uso
CLI — ejecuta flujos de trabajo desde la terminal
# Run a built-in recipe
flyto recipe site-audit --url https://example.com
# Run your own YAML workflow
flyto run my-workflow.yaml
# List all recipes
flyto recipes
Servidor MCP — para Claude Code, Cursor, Windsurf
pip install flyto-core
claude mcp add flyto-core -- python -m core.mcp_server
O agrégalo a tu configuración de MCP:
{
"mcpServers": {
"flyto-core": {
"command": "python",
"args": ["-m", "core.mcp_server"]
}
}
}
Tu IA obtiene los 481 módulos como herramientas.
API HTTP — para integraciones y ejecución remota
pip install flyto-core[api]
flyto serve
# ✓ flyto-core running on 127.0.0.1:8333
| Endpoint | Propósito |
|---|---|
POST /v1/workflow/run | Ejecutar flujo de trabajo con evidencia + traza |
POST /v1/workflow/{id}/replay/{step} | Reproducir desde cualquier paso |
POST /v1/execute | Ejecutar un solo módulo |
GET /v1/modules | Descubrir todos los módulos |
POST /mcp | Transporte HTTP transmisible de MCP |
API de Python — para uso programático
import asyncio
from core.modules.registry import ModuleRegistry
async def main():
result = await ModuleRegistry.execute(
"string.reverse",
params={"text": "Hello"},
context={}
)
print(result) # {"ok": True, "data": {"result": "olleH"}}
asyncio.run(main())
API
Flyto2 Core expone el mismo tiempo de ejecución determinista a través de varias interfaces compatibles en lugar de motores de ejecución separados:
- Python — importa el registro de módulos y el motor de flujos de trabajo directamente.
- Flujos de trabajo YAML — compone módulos registrados en procedimientos reproducibles.
- API de ejecución — usa las rutas HTTP autenticadas
/v1/*para integraciones locales. - MCP — expone el registro a través de stdio o HTTP transmisible a clientes de IA.
- Contrato de módulo — cada acción ejecutable está definida por metadatos de registro y un esquema de parámetros acotado; las primitivas solo de host como
capability.invokerequieren además autoridad de tiempo de ejecución opaca y no pueden activarse solo con datos de flujo de trabajo serializados.
Las referencias generadas con enlaces al código fuente están disponibles en Referencia de API de Python, Módulos registrados y el Catálogo completo de módulos.
Configuración
Flyto2 Core se ejecuta con valores predeterminados seguros. Los proveedores opcionales, navegadores, servicios de verificación y conectores se habilitan explícitamente mediante extras de paquete y variables de entorno documentadas; los secretos permanecen en el entorno de tiempo de ejecución o en los almacenes de credenciales, no en el YAML del flujo de trabajo. Comienza desde .env.example para conocer las configuraciones compatibles y consulta Operaciones para obtener orientación sobre tiempo de ejecución e implementación.
Las capacidades de tiempo de ejecución inyectadas por el host son deliberadamente diferentes de la configuración: un flujo de trabajo no puede habilitar capability.invoke estableciendo una variable de entorno o un parámetro serializado. El host de confianza debe inyectar la autoridad opaca con alcance de ejecución para esa ejecución.
481 módulos, 89 categorías de catálogo
| Categoría | Cantidad | Ejemplos |
|---|---|---|
browser.* | 54 | launch, goto, click, evaluate, screenshot, performance, challenge |
flow.* | 24 | switch, loop, branch, parallel, retry, circuit breaker, rate limit |
array.* | 15 | filter, sort, map, reduce, unique, chunk, flatten |
api.* | 13 | OpenAI, Anthropic, Gemini, Notion, Slack, Telegram |
data.* | 13 | JSON, YAML, CSV, XML parse/generate/convert |
string.* | 11 | reverse, uppercase, split, replace, trim, slugify, template |
ai.* | 10 | chat, model calls, vision, embeddings, moderation |
object.* | 10 | keys, values, merge, pick, omit, get, set, flatten |
testing.* | 10 | assertions, scenarios, E2E steps, reports |
image.* | 9 | resize, convert, crop, rotate, watermark, OCR, compress |
verify.* | 9 | evidence, visual diff, rulesets, annotations |
file.* | 8 | read, write, copy, move, delete, exists, edit, diff |
stats.* | 8 | mean, median, percentile, correlation, standard deviation |
test.* | 8 | API, browser, and visual checks |
check.* | 7 | validation and guard checks |
crypto.* | 7 | AES encrypt/decrypt, JWT create/verify, hashes |
http.* | 7 | get, request, batch, paginate, session |
validate.* | 7 | email, url, json, phone, credit card |
| 66 prefijos más | 221 | Docker, archive, math, k8s, network, PDF, AWS, cache, git |
Consulta el Catálogo completo de módulos para ver cada módulo, parámetro y descripción.
Características del motor
- Traza de ejecución — registro estructurado de cada paso: entrada, salida, tiempo, estado
- Reproducción — vuelve a ejecutar desde cualquier paso con el contexto original (o modificado)
- Puntos de interrupción — pausa la ejecución en cualquier paso, inspecciona el estado, reanuda
- Capturas de evidencia — estado completo antes y después de cada límite de paso
- Linaje de datos — rastrea el flujo de datos entre pasos, construye gráficos de dependencias
- Protección de tiempo de espera — protección configurable de tiempo de espera a nivel de flujo de trabajo y por paso
Arquitectura
CLI, MCP, HTTP, Python y recetas empaquetadas convergen en el mismo motor de flujos de trabajo, registro de módulos, política, traza, evidencia y límites de reproducción. Comienza con el Documento técnico, luego usa el Mapa de arquitectura y la exhaustiva referencia de código fuente para obtener detalles de implementación.
El contrato de producto compartido, flyto.product-contract.v1,
define la promesa de Flyto2: convertir el trabajo de IA en procedimientos verificados y reproducibles.
| Paquete | Responsabilidad |
|---|---|
flyto-ai | Comprender, enrutar y gobernar el trabajo nuevo y el uso de proveedores. |
flyto-blueprint | Almacenar, aprender y puntuar procedimientos reutilizables; nunca los ejecuta. |
flyto-core | Validar esquemas, ejecutar y reproducir de forma determinista, y emitir evidencia. |
flyto-core es un paquete de ejecución independiente; no requiere los otros
paquetes para ejecutar un flujo de trabajo o producir evidencia.
A dónde ir después
| Quieres | Ve a |
|---|---|
| Ejecutar una de las otras recetas integradas | docs/RECIPES.md |
| Explorar cada módulo y parámetro | docs/TOOL_CATALOG.md |
| Ver las categorías de módulos de un vistazo | 481 módulos, 89 categorías de catálogo |
| Configurar red, sistema de archivos, autenticación y permisos | docs/CONFIGURATION.md |
| Instalar un paquete de módulos o complemento | docs/PLUGIN_SDK.md |
| Escribir tu propio módulo | docs/MODULE_SPECIFICATION.md |
| Entender por qué el motor está diseñado de esta manera | docs/WHY.md |
| Leer el límite de producto entre los tres paquetes | ARCHITECTURE.md |
La descripción canónica en PyPI y el registro de MCP es: El motor de ejecución de código abierto para agentes de IA. 481 módulos, nativo de MCP, disparadores, cola, versionado, medición.
Contribuciones
¡Agradecemos las contribuciones! Consulta CONTRIBUTING.md para conocer las pautas.
Pruebas
python -m pytest
python -m ruff check .
flyto recipe full-audit --url https://example.com
Seguridad
Reporta vulnerabilidades de seguridad a través de security@flyto2.com. Consulta SECURITY.md para conocer la política de seguridad y las variables de entorno que definen los límites del sistema de archivos y de la red saliente.
SECURITY_STATUS.md enumera cada aviso publicado con su gravedad, rango afectado, versión corregida y la prueba de regresión que lo cubre. Dos límites se aplican en todo el registro mediante pruebas que hacen fallar la compilación: cada módulo que acepta una ruta proporcionada por el llamador debe llegar al asistente de sandbox del sistema de archivos, y cada módulo que acepta una URL o host proporcionado por el llamador debe llegar a una protección SSRF — por lo que la cobertura es una propiedad de CI, no una convención.
Licencia
Licencia Apache 2.0 — gratuita para uso personal y comercial.
Automatización en la nube · Precios · flyto2.com
Implementación alojada
Hay una implementación alojada disponible en Frontier AI.
También conocido como: framework de agente de IA de código abierto para flujos de trabajo de producción · automatización de flujos de trabajo de IA en Python con Playwright · automatización de servidor MCP con traza y reproducción · automatización de navegador que puede reanudar desde un paso fallido
