Claves de API
Richfolio usa hasta 5 servicios externos, todos con planes gratuitos generosos. Solo Resend y un correo destinatario son requeridos — todo lo demás es opcional.
Agrega cada clave como Secret del repositorio: Settings → Secrets and variables → Actions → pestaña Secrets. Agrega RECIPIENT_EMAIL como Variable (más fácil de ver/editar).

Resend (correo) — Requerido
Resend entrega los reportes de correo HTML.
- Ve a resend.com y regístrate
- Navega a API Keys en el dashboard
- Haz clic en Create API Key, ponle un nombre y copia la clave
- Agrégala como GitHub Secret — nombre:
RESEND_API_KEY, valor: la clave que acabas de copiar
Plan gratuito: 3,000 correos/mes. Envía desde onboarding@resend.dev por defecto. Solo puede enviar a tu correo de propietario de cuenta a menos que verifiques un dominio personalizado (Dashboard → Domains → Add Domain → agregar registros DNS).
Correo destinatario — Requerido
Agrégalo como Variable de GitHub (no Secret): nombre: RECIPIENT_EMAIL, valor: tu dirección de correo.
Debe coincidir con el correo de tu cuenta Resend a menos que hayas verificado un dominio personalizado.
NewsAPI (headlines) — Opcional
Provee los top headlines por ticker para el resumen diario.
- Ve a newsapi.org y regístrate
- Tu clave API se muestra en el dashboard inmediatamente
- Agrégala como GitHub Secret — nombre:
NEWS_API_KEY, valor: la clave del dashboard
Plan gratuito: 100 requests/día. Richfolio usa ~4 requests por corrida vía batching. Headlines solo de las últimas 24 horas. Si no está configurada, el resumen corre sin noticias.
Proveedores de IA — al menos uno requerido para recomendaciones con IA
Richfolio soporta dos proveedores de IA: Google Gemini y Anthropic Claude. Configura al menos uno para obtener recomendaciones con IA. Configura ambos para correrlos en paralelo — los scores se promedian y se muestra un desglose por IA junto a cada recomendación. Si ninguno está configurado, Richfolio cae a recomendaciones basadas en brechas (sin IA).
| Modo | Configuración | Salida |
|---|---|---|
| Sin IA | Ninguna clave configurada | Solo recomendaciones basadas en brechas |
| IA única | Una clave configurada | Idéntico a hoy — un solo conjunto de acción + confianza por ticker |
| Multi-IA | Ambas claves configuradas | Acción de consenso por ticker + confianza promediada; desglose por IA debajo de cada recomendación; STRONG BUY requiere acuerdo unánime |
Google Gemini — Opcional
Impulsa las recomendaciones de compra con IA con Gemini 2.5 Flash.
- Ve a aistudio.google.com/apikey
- Haz clic en Create API Key, selecciona un proyecto de Google Cloud (o crea uno)
- Copia la clave y agrégala como GitHub Secret — nombre:
GEMINI_API_KEY, valor: la clave que acabas de copiar
Plan gratuito: 250 requests/día, 10 requests/minuto. Richfolio usa 2 requests por corrida (Stage 1 Observe + Stage 2 Decide) más 1 por ticker STRONG BUY para análisis detallado. Las claves nuevas pueden tardar unos minutos en activar su cuota (podrías ver errores 429 inicialmente).
Una nota sobre los niveles de modelo de Gemini
La página de precios de Google indica que Gemini 2.5 Pro es “Free of charge” tanto para tokens de entrada como de salida. En la práctica, sin embargo, los requests Pro del plan gratuito frecuentemente chocan con errores 429 RESOURCE_EXHAUSTED — incluso con uso mínimo. Google no publica los límites reales de RPD (requests por día) para el plan gratuito; fuentes de terceros sugieren que Pro puede estar limitado a ~100 RPD, pero el número real parece variar por cuenta y no está garantizado.
Richfolio usa Gemini 2.5 Flash por defecto porque Flash tiene una cuota de plan gratuito más generosa y confiable. La diferencia de calidad para texto de análisis financiero es despreciable.
Anthropic Claude — Opcional
Impulsa las recomendaciones de compra con IA usando Claude (Sonnet 4.6 por defecto).
- Ve a console.anthropic.com y regístrate
- Navega a API Keys → Create Key, ponle un nombre y copia la clave
- Agrégala como GitHub Secret — nombre:
ANTHROPIC_API_KEY, valor: la clave que acabas de copiar
Precios: Anthropic no tiene un plan gratuito permanente como Gemini, pero las cuentas nuevas reciben un pequeño crédito inicial y el uso de Sonnet para la carga de Richfolio suele costar centavos por día. Para minimizar el costo, configura CLAUDE_MODEL=claude-haiku-4-5-20251001 (el nivel Haiku es significativamente más barato y maneja esta carga muy bien).
Combinando con Gemini (modo multi-IA)
Si tanto GEMINI_API_KEY como ANTHROPIC_API_KEY están configurados, Richfolio corre ambos proveedores concurrentemente en cada análisis y agrega los resultados:
- Acción de consenso por ticker mediante voto mayoritario (con desempate por suma de confianza)
- Confianza promediada mostrada de forma prominente; scores por IA mostrados debajo
- STRONG BUY requiere acuerdo unánime — si algún proveedor disiente, el consenso se limita a BUY
- Etiqueta de acuerdo (unánime / mayoría / dividido) mostrada como badge junto a la acción
Si un proveedor falla a mitad de corrida (rate limit, cuota agotada, error de red), el proveedor sobreviviente continúa solo y el correo/Telegram de esa corrida cae a la vista de IA única.
Elegir qué proveedor genera la página de análisis detallado de STRONG BUY
Cuando ambos proveedores están activos, la página de análisis por STRONG BUY (el enlace “More Details”) es generada por un solo proveedor — por defecto el primero disponible en orden de registro (Gemini, luego Claude). Sobrescribe con:
| Variable de entorno | Valor | Efecto |
|---|---|---|
AI_DETAILED_PROVIDER | gemini | Forzar Gemini para análisis detallado (debe tener GEMINI_API_KEY configurada) |
AI_DETAILED_PROVIDER | claude | Forzar Claude para análisis detallado (debe tener ANTHROPIC_API_KEY configurada) |
CLAUDE_MODEL | p. ej. claude-haiku-4-5-20251001 | Sobrescribir el modelo de Claude (por defecto: claude-sonnet-4-6) |
Bot de Telegram — Opcional
Entrega resúmenes condensados a tu cuenta de Telegram.
Crear el bot
- Abre Telegram y busca @BotFather
- Envía
/newbot - Elige un nombre (p. ej., “Richfolio Brief”) y un username (debe terminar en
bot, p. ej.,richfolio_brief_bot) - BotFather responde con tu token de bot — cópialo
Obtener tu chat ID
- Busca @userinfobot en Telegram e inícialo
- Te responde con tu ID numérico de usuario — este es tu chat ID
Importante: Envía cualquier mensaje a tu nuevo bot (p. ej., “hi”) antes de correr Richfolio — esto es necesario antes de que el bot pueda enviarte mensajes.
Agrega ambos como GitHub Secrets:
- Nombre:
TELEGRAM_BOT_TOKEN, valor: el token de BotFather - Nombre:
TELEGRAM_CHAT_ID, valor: tu ID numérico de usuario
Notas: Si no están configurados, el resumen salta Telegram. Los mensajes son resúmenes condensados (no HTML completo). Límite de 4,096 caracteres por mensaje — las noticias se truncan si es necesario.
Publicación en redes sociales — Opcional
Richfolio puede publicar señales de compra genéricas en cuentas públicas de X, Facebook, Threads y LinkedIn. Cada plataforma es opcional y permanece desactivada hasta que se configure. Secrets requeridos por plataforma:
- Facebook:
FACEBOOK_PAGE_ID,FACEBOOK_PAGE_TOKEN - Threads:
THREADS_USER_ID,THREADS_ACCESS_TOKEN(+ opcionalTHREADS_TOKEN_PATpara refrescar automáticamente el token de ~60 días) - LinkedIn:
LINKEDIN_ACCESS_TOKEN,LINKEDIN_ORG_URN - X/Twitter:
X_API_KEY,X_API_SECRET,X_ACCESS_TOKEN,X_ACCESS_TOKEN_SECRET
Notas: Las publicaciones son genéricas — no se divulgan tenencias ni asignaciones. Si no está configurada, la publicación en redes sociales se omite. Ver Publicación en redes sociales para la configuración paso a paso de cada plataforma.
Resumen
| Clave | Requerido | Servicio |
|---|---|---|
RESEND_API_KEY | Sí | Entrega de correo |
RECIPIENT_EMAIL | Sí | Tu dirección de correo |
NEWS_API_KEY | No | Headlines de noticias |
GEMINI_API_KEY | No | Proveedor de IA (Google Gemini) |
ANTHROPIC_API_KEY | No | Proveedor de IA (Anthropic Claude) |
TELEGRAM_BOT_TOKEN | No | Entrega Telegram |
TELEGRAM_CHAT_ID | No | Entrega Telegram |
FACEBOOK_PAGE_ID / FACEBOOK_PAGE_TOKEN | No | Publicación en Página de Facebook |
THREADS_USER_ID / THREADS_ACCESS_TOKEN | No | Publicación en Threads |
THREADS_TOKEN_PAT | No | Refrescar automáticamente el token de Threads (PAT con escritura de Secrets) |
LINKEDIN_ACCESS_TOKEN / LINKEDIN_ORG_URN | No | Publicación en Página de LinkedIn |
X_API_KEY / X_API_SECRET / X_ACCESS_TOKEN / X_ACCESS_TOKEN_SECRET | No | Publicación en X/Twitter |
CLAUDE_MODEL | No | Sobrescribir el modelo de Claude (por defecto: claude-sonnet-4-6) |
AI_DETAILED_PROVIDER | No | Forzar gemini o claude para la página de análisis de STRONG BUY |