Ctrl K
ComunidadGuías…
GITHUB · ANALIZADO

iris

Iris es un sistema de mensajería normalizado impulsado por LLM que unifica Telegram, SMS, WhatsApp y email bajo una única API. Escrito en Rust, es autoalojable, extensible mediante traits y genera código para CLI, HTTP y MCP desde una definición de API única.

Ficha actualizada 24 sept 2026, 0:19 · upstream 23 sept 2026, 23:47 · release sin release detectada

Ver códigoProblemas y ayudaRepositorio ↗
00

Qué es iris

Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.

Iris es un sistema de mensajería normalizado impulsado por LLM que unifica múltiples fuentes como Telegram, SMS, WhatsApp y email bajo una única API coherente. Diseñado para ser agnóstico a la fuente, permite consultar hilos no leídos sin importar su origen y está optimizado para el consumo de agentes mediante superficies MCP y JSON estructurado.

La arquitectura se basa en un modelo único (Message, Thread, Contact) y utiliza Rust con Axum para el servidor HTTP. Soporta despliegue autoalojado bajo licencia MIT, sin dependencias de la nube. La configuración es flexible: admite archivos TOML o variables de entorno nativas, con validación de credenciales al inicio.

Es altamente extensible mediante el trait MessageProvider, permitiendo añadir nuevos proveedores implementando una interfaz simple. Incluye generación de código para mantener sincronizadas las superficies CLI, HTTP y MCP, evitando la deriva entre componentes.

CASOS DE USO
  • Normalizar mensajes de múltiples plataformas (Telegram, SMS, email) en un único modelo para consumo por agentes LLM o aplicaciones.
  • Consultar hilos no leídos de todas las fuentes conectadas mediante una única llamada a la API HTTP o CLI.
  • Desplegar un servidor de mensajería autoalojado sin dependencias de la nube, usando Rust y Docker.
  • Añadir nuevos proveedores de mensajería implementando el trait MessageProvider sin tocar la lógica central.
  • Descubrir instancias de proveedores configuradas mediante GET /providers para enrutamiento preciso en mensajes.
PUNTOS DESTACADOS
  • Modelo unificado: todos los mensajes se normalizan a Message, Thread y Contact independientemente del origen.
  • Generación de código: CLI, HTTP y MCP se generan desde una definición de API única, evitando la deriva.
  • Extensibilidad simple: añadir proveedores requiere implementar el trait MessageProvider.
  • Seguridad por defecto: endpoints requieren token Bearer; sin token, solo acepta direcciones loopback o privadas.
  • Configuración flexible: admite TOML o variables de entorno, con soporte para múltiples instancias del mismo proveedor.
  • Agnóstico a la fuente: consultas como 'all unread threads' funcionan sin importar si el mensaje viene de Telegram o email.
PRECAUCIONES
  • Requiere Rust instalado para compilación local; no soporta despliegue one-click en entornos sin compilador.
  • Los proveedores desconocidos fallan al inicio hasta que se incluyen en la compilación del proyecto.
  • No incluye Dockerfile ni docker-compose por defecto; requiere usar imágenes oficiales de ghcr.io tras una versión etiquetada.
  • La configuración híbrida (TOML + entorno) puede generar conflictos si no se siguen las reglas de precedencia definidas.
01

Perfil de infraestructura

Estimación inicial derivada del repositorio y de los servicios detectados.

CPU1 vCPUrecomendación inicial
MEMORIA1 GBRAM estimada
DISCO10 GBalmacenamiento base
COMPLEJIDADlownivel de operación
02

Despliegue detectado

Qué señales reales de instalación hemos encontrado.

Docker detectado

Usa imágenes oficiales de ghcr.io/techgodhq/iris:<version>. Configura IRIS_API_TOKEN en cada despliegue expuesto a internet. Para Docker, monta /data y define IRIS_ENABLED_PROVIDERS con lista comma-separated. Usa deploy/docker-compose.yml para referencias completas. Asegura credenciales mediante variables de entorno, no archivos.

✓Dockerfile
—Compose
—One-click
03

Stack y dependencias

Componentes inferidos a partir de manifests, configuración y documentación.

FRAMEWORKS
Rust
SERVICIOS
No detectados
BASES DE DATOS
No detectadas
PUERTOS
9876
05

Puede sustituir a

Relaciones detectadas por el análisis del repositorio y su categoría.

06

Experiencia real de la comunidad

Ayuda a contrastar la estimación automática con instalaciones reales.

Todavía no hay datos comunitarios para este proyecto.