You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
tribai.co trib·ai·.co = tributaria + AI + Colombia
tribai — Plataforma Tributaria IA de Colombia
La plataforma tributaria mas completa de Colombia. 40 calculadoras fiscales, 1,301 articulos del Estatuto Tributario indexados con Contextual Retrieval, asistente IA con RAG avanzado de 12 modulos sobre ~93,000 vectores en 7 namespaces (Pinecone), doctrina DIAN (15K+), jurisprudencia CC/CE (17K+ vectores), DUR 1625 (2,142 articulos), 207 leyes, calendario fiscal 2026 (17 obligaciones), indicadores economicos, guias interactivas, glosario tributario y herramientas de productividad profesional.
Pipeline RAG de 12 modulos con recuperacion multi-hop en 7 namespaces, confidence scoring, deteccion de contradicciones, formato dictamen auditado y preferencias de tono.
Flujo del Pipeline (8 etapas)
Query del usuario
|
[0] Cache Check — LRU (500 entries, 24h TTL, normalized key)
| (miss)
[1] Query Enhancement (Haiku 4.5)
|-- Early-exit: queries directas (Art. X) saltan LLM calls (<100ms)
|-- Rewrite: reformula con terminologia legal colombiana
|-- HyDE: genera respuesta hipotetica para embedding
|-- Decomposition: descompone queries complejas en sub-queries
|-- Query expansion: sinonimos y terminos legales
|
[2] Query Routing (namespace-router.ts)
|-- classifyQueryType: factual | comparative | procedural | temporal | doctrina | sanctions
|-- getQueryRoutingConfig: topK, maxReranked, namespaces dinamicos por tipo
|-- Detect article slugs para multi-hop
|
[3] Retrieval (Pinecone — 7 namespaces)
|-- Ronda 1: ET (namespace default) — topK: 20, threshold: 0.28
|-- Ronda 1b: 6 namespaces externos — topK: 15, umbrales especificos
|-- Ronda 2 (Multi-hop): busca fuentes que citen articulos recuperados
|-- Speculative retrieval: threshold 0.80 para fast-path
|-- Cross-namespace normalization (min-max scaling)
|
[4] Heuristic Reranking (2 pipelines paralelos)
|-- ET Reranking: chunk_type boost, article mention, title overlap, derogated penalty
|-- Multi-Source Reranking: PageRank, community, doctrina vigente, sentencia SU/C
|
[5] Context Assembly
|-- Sibling retrieval: todos los chunks del mismo articulo
|-- Token budget: 13,000 tokens max
|-- Namespace diversity: round-robin + greedy fill
|
[6] Evidence Check (heuristic, <5ms)
|-- Confidence: high (>= 0.75 + 3 sources) | medium (>= 0.55) | low
|-- Contradiction detection: derogated+vigente conflicts
|-- Namespace contribution tracking
|
[7] Prompt Building
|-- System prompt con constantes 2026 + tone preset inyectado
|-- 40 sugerencias de calculadoras (dinamicas por keyword)
|-- Contexto RAG en XML: <context>, <evidence>, <contradiction_warning>
|-- <obsolete_norms> block: normas derogadas
|
[8] Streaming Response (Sonnet 4.5)
|-- Metadata on finish: sources, ragMetadata, timestamp
|-- smoothStream (10ms delay, word chunking)
|-- Multi-provider fallback: Anthropic -> OpenAI
Top 5 destacadas: Retencion en la Fuente, Renta PN, Comparador Contratacion, Debo Declarar?, Nomina Completa.
Cada calculadora incluye: articulos del ET vinculados, badges ("Actualizado 2026", "Incluye reforma", "Nuevo"), calculadoras relacionadas, tags de busqueda e intents para el command palette.
Modulos de Referencia
Modulo
Ruta
Descripcion
Calendario Tributario 2026
/calendario
Vencimientos con filtros por obligacion y digito NIT, integracion calendario personal (ICS)
Tabla de Retencion
/tablas/retencion
Conceptos, bases y tarifas de retencion con calculadora inline
Indicadores Economicos
/indicadores
UVT, SMLMV, inflacion, tasa de usura con graficas historicas (Recharts)
Glosario Tributario
/glosario
Terminos clave del derecho tributario colombiano A-Z
Doctrina DIAN
/doctrina
Conceptos y oficios curados de la DIAN
Novedades Normativas
/novedades
Timeline de cambios legislativos y reformas tributarias
Guias Interactivas
/guias
Arboles de decision para procesos tributarios comunes
Declaracion de Renta
/declaracion-renta
Wizard de planificacion fiscal PN
Declaracion Renta PJ
/declaracion-renta-juridicas
Wizard de planificacion fiscal PJ
Planes y Precios
/planes
Suscripciones con Stripe
Explorador del Estatuto Tributario
1,294 articulos del ET navegables con SSG (build-time)
Busqueda por numero, titulo o contenido
Clasificacion por 7 libros y titulos
Comparador de articulos (diff entre versiones)
Knowledge graph interactivo con 540 nodos (react-force-graph-2d)
Metricas por articulo: PageRank, community detection (Louvain), degree centrality
Dashboard analitico con estadisticas del corpus
Sistema de favoritos con notas y workspaces de productividad
Cross-references bidireccionales entre articulos
Concordancias: DUR 1625, Resolucion Unica, CDIs
Sistema de Chat — Workspace Profesional
Funcionalidades Core (P0)
Sidebar workspace con historial de conversaciones
Busqueda full-text con trigrams + substring matching
Mobile drawer responsivo
Conversation header con titulo editable, metadatos y badges
Separadores temporales entre mensajes (>30 min gap)
URL deep-linking (?conv=<id>)
Panel de evidencia RAG (confidence + pipeline details)
Lead capture funnel (3 free → lead → 8 free → auth)
npm test# Unit + security
npx playwright test# E2E (requires build)
npm run smoke-test # RAG smoke tests
CI/CD
GitHub Actions (.github/workflows/ci.yml)
3 jobs con concurrency control:
Verify (30 min timeout)
npm run lint:strict — 0 warnings max
npm run typecheck — full TS validation
npm run build:ci — production build
Test (10 min timeout)
npm test — unit + security tests
E2E (20 min timeout, depends on Verify)
Install Playwright Chromium
npm run build:ci
npx playwright test
Deploy
Auto-deploy via Vercel en push a main. Cada PR genera preview deployment.
Desarrollo Local
git clone https://github.com/Cespial/tribai.git
cd tribai
npm install
cp .env.example .env.local
# Configurar variables requeridas (ver seccion abajo)
npm run dev # Dev server con Turbopack (http://localhost:3000)
Comandos Utiles
npm run dev # Dev server (Turbopack)
npm run build # Production build (1,300+ paginas SSG)
npm run lint # ESLint
npm run lint:strict # Falla con warnings
npm run typecheck # TypeScript check
npm run verify # lint + typecheck + build
npm run smoke-test # 15 smoke tests RAG
npm run eval# 350 queries, 17 metricas
npm run eval:judge # + LLM Judge
npm run data:build # Rebuild analytics datasets
npm run data:verify # Verificar integridad de datos
Variables de Entorno
Requeridas
Variable
Descripcion
ANTHROPIC_API_KEY
API key de Anthropic (Claude)
PINECONE_API_KEY
API key de Pinecone
PINECONE_INDEX_NAME
Nombre del indice (default: estatuto-tributario)
Opcionales — LLM
Variable
Descripcion
CHAT_MODEL
Modelo del chat (default: claude-sonnet-4-5-20250929)
Vision: El mejor RAG tributario de Colombia + canales conversacionales
Con 93K vectores, 1,301 articulos ET, y metricas de clase mundial (MRR 0.414, P@5adj 0.853), el RAG esta maduro. El siguiente paso es distribucion — llevar la inteligencia tributaria a donde estan los 328K contadores y 6M+ declarantes.
Palanca 1: WhatsApp Bot — Consultor Tributario por WhatsApp
Por que: 328K contadores colombianos viven en WhatsApp. Zero competidores ofrecen un asistente tributario IA con citaciones del ET por WhatsApp. Costo: $0 por respuesta (Meta Cloud API, customer-initiated = gratis).
Sprint WA-1: Core Bot (4-6h)
#
Tarea
Detalle
WA-1.1
Setup Meta Business App
Crear app en developers.facebook.com, agregar producto WhatsApp, obtener tokens
WA-1.2
Webhook route
POST /api/whatsapp/webhook — recibe mensajes, responde 200 inmediato, procesa en after()
WA-1.3
Webhook verification
GET /api/whatsapp/webhook — verificacion Meta (hub.mode, hub.verify_token, hub.challenge)
WA-1.4
Sender module
lib/whatsapp/sender.ts — envia mensajes via Meta Cloud API (texto, botones, documentos)
queries/dia, topics populares, tasa de exito, latencia
WA-3.3
Acceso produccion Meta
Verificacion de negocio + phone number permanente (+57)
WA-3.4
Webhook security
Verificar X-Hub-Signature-256 de Meta
WA-3.5
Escalation
Comando "agente" → notifica por email (Resend)
WA-3.6
QR code + link wa.me
Assets para distribucion en redes sociales
WA-3.7
Politica de datos
Pagina /politica-datos-whatsapp en tribai.co
Arquitectura:
Usuario WhatsApp (+57)
|
v
Meta Cloud API --webhook--> /api/whatsapp/webhook (Vercel)
|
+-- 200 OK (inmediato)
+-- after() background:
|-- Session store (historial)
|-- Rate limit check
|-- RAG Pipeline (~1-3s)
|-- generateText (Claude)
|-- Formatter (md → WhatsApp)
|-- Send reply (Meta API)
+-- Log to Supabase
Costos mensuales (piloto 100 usuarios):
Item
Costo
Meta WhatsApp (replies customer-initiated)
$0
Anthropic Claude
~$30-50/mes
Vercel + Pinecone
Ya pagado
Total incremental
~$30-50/mes
Palanca 2: Gemini Live API — Consultor Tributario por Voz
Por que: Gemini 3.1 Flash Live permite construir agentes de voz en tiempo real con <300ms de latencia, tool calling durante la conversacion, y soporte multilingue (90+ idiomas incluyendo espanol). Un contador podria llamar a Tribai y preguntar verbalmente sobre el Art. 240 mientras maneja.
Sprint VOZ-1: Prototipo Voice Agent (1 semana)
#
Tarea
Detalle
VOZ-1.1
Setup Google AI Studio
Obtener API key, configurar proyecto
VOZ-1.2
Crear voice agent backend
WebSocket endpoint en Next.js que conecta Gemini Live API con RAG pipeline
VOZ-1.3
Tool definitions
Definir tools para que Gemini llame al RAG pipeline durante la conversacion: consultarET, calcularRetencion, buscarDoctrina
VOZ-1.4
Session management
Manejar sesiones de voz con contexto persistente
VOZ-1.5
System instructions
Prompt de voz: "Eres un consultor tributario colombiano. Responde de forma concisa y cita articulos."
VOZ-1.6
Prototipo web
Widget de voz en tribai.co con boton "Hablar con Tribai"
Gemini Live detecta intent tributario → llama consultarET(query) → RAG pipeline → responde con audio
VOZ-2.2
Calculadoras por voz
"Calcula la retencion en la fuente para un salario de 8 millones" → ejecuta calculadora
VOZ-2.3
Confirmacion de citaciones
Despues de cada respuesta, el agente dice "Segun el Articulo 240 del Estatuto Tributario..."
VOZ-2.4
Manejo de ruido
Optimizar para ambientes ruidosos (oficina, transporte)
VOZ-2.5
Transcripcion + log
Guardar transcripcion texto de cada sesion de voz
Sprint VOZ-3: Produccion + Telefonia (1 semana)
#
Tarea
Detalle
VOZ-3.1
WebRTC frontend
Widget de voz optimizado con indicadores visuales
VOZ-3.2
Integracion telefonica
Conectar con servicio de telefonia (Twilio Voice) para llamadas tradicionales
VOZ-3.3
Numero telefonico
Numero colombiano (+57) dedicado para consultas por llamada
VOZ-3.4
Analytics de voz
Duracion, temas, satisfaction, completion rate
VOZ-3.5
A/B test voz vs texto
Comparar calidad de respuestas voz vs chat texto
Arquitectura Gemini Live:
Usuario (microfono/telefono)
|
v (audio stream)
Gemini 3.1 Flash Live API (WebSocket)
|
|-- Detecta intent tributario
|-- Function call: consultarET("tarifa IVA")
| |
| v
| Tribai RAG Pipeline (1-3s)
| |
| v
| {articulos, fuentes, confianza}
|
|-- Genera respuesta de voz con citaciones
|
v (audio response)
Usuario escucha respuesta
Costos estimados:
Item
Costo
Gemini 3.1 Flash Live
~$0.04/min audio input, ~$0.16/min audio output
Consulta promedio (~2 min)
~$0.40/consulta
100 consultas/dia
~$40/dia = ~$1,200/mes
Alternativa: solo web (WebRTC, sin telefonia)
~$200-400/mes
Palanca 3: API Publica + Widget Embeddable
Por que: Siigo (300K+ usuarios), Alegra, World Office no tienen consulta tributaria IA. Un widget embeddable les da la funcionalidad sin construirla. Revenue: per-query pricing.
Sprint API-1: API v1 (3-4h)
#
Tarea
Detalle
API-1.1
Endpoint /api/v1/consulta
POST con API key auth, JSON request/response (no streaming)
API-1.2
API key management
Tabla en Supabase: api_keys (key, org, plan, queries_used, rate_limit)
API-1.3
Rate limiting por API key
Configurable por plan (100/dia free, 1000/dia pro, unlimited enterprise)