Convierte automáticamente tus errores de Duolingo en tarjetas de Anki
Duolingo Lesson → Detect Errors → Gemini AI → Anki Cards
🎯 🔍 🤖 📚
Cuando terminas una lección de Duolingo, DuoFlash Anki detecta tus errores y genera automáticamente un mazo de Anki con tarjetas personalizadas para repasar.
# 1. Descarga e instala Anki
https://apps.ankiweb.net/
# 2. Instala AnkiConnect desde Anki
# Repositorio: https://github.com/FooSoft/anki-connect
Herramientas → Complementos → Obtener complementos → 2055492159
# 3. Mantén Anki abierto mientras usas la extensión- Ve a Google AI Studio
- Crea una API Key gratuita
- Guárdala para el paso 4
Desde el código fuente:
# Clona el repositorio
git clone https://github.com/MoriNo23/DuoFlash-Anki.git
cd DuoFlash-Anki
pnpm installFirefox:
pnpm run build:firefoxLuego en Firefox: about:debugging → "Cargar complemento temporal" → selecciona .output/firefox-mv2/
O instala desde Firefox Add-ons
Chrome:
pnpm run build:chromeLuego en Chrome: chrome://extensions/ → Modo desarrollador → "Cargar descomprimida" → .output/chrome-mv3/
- Click en el icono de la extensión en la barra de herramientas
- Pega tu API Key de Gemini
- ¡Listo! Comienza una lección en Duolingo
- 🤖 Inteligente: Usa Gemini AI para generar explicaciones contextualizadas
- ⚡ Automático: Detecta errores sin intervención manual
- 🌍 Multi-idioma: Soporta todos los idiomas de Duolingo
- 📱 Multi-navegador: Firefox y Chrome
- 🎯 Direccional: Genera mazos
UI Language → Learning Language - 🔄 Repaso espaciado: Integra Anki con tu práctica diaria
┌─────────────┐ ┌──────────────┐ ┌─────────────┐
│ Duolingo │────▶│ Extensión │────▶│ Gemini │
│ Lesson │ │ (Background) │ │ AI │
└─────────────┘ └──────────────┘ └─────────────┘
│ │ │
▼ ▼ ▼
/batch Captura errores Genera mazo
/challenge_ + metadatos educativo
response/batch │ │
▼ ▼
┌──────────────┐ ┌─────────────┐
│ Content │────▶│ Anki │
│ Script │ │ Connect │
└──────────────┘ └─────────────┘
- Intercepta: Captura peticiones a los endpoints de Duolingo
- Detecta: Identifica errores al finalizar la lección
- Procesa: Gemini genera tarjetas con contexto
- Crea: AnkiConnect crea el mazo automáticamente
# Clonar
https://github.com/MoriNo23/DuoFlash-Anki
cd DuoFlash-Anki
# Instalar dependencias
pnpm install
# Desarrollo
pnpm run dev:firefox # Firefox MV2
pnpm run dev # Chrome MV3
# Build para distribución
pnpm run build:firefox # .output/firefox-mv2/
pnpm run build:chrome # .output/chrome-mv3/
pnpm run zip:all # Genera archivos .zipentrypoints/
├── background.ts # Service worker / Background script
├── content.ts # Content script inyectado en Duolingo
└── popup/
├── index.html # UI del popup
├── index.js # Lógica del popup
└── style.css # Tailwind + estilos
util/
├── geminiService.ts # Integración Gemini AI
├── ankiService.ts # Comunicación AnkiConnect
└── observadorDeLeccion.ts # Detección de navegación
Las tarjetas no aparecen en Anki:
- Verifica que Anki esté abierto
- Confirma que AnkiConnect esté instalado (código:
2055492159) - Revisa la consola del popup (click derecho → Inspeccionar)
Errores de API Key:
- Asegúrate de tener una API Key válida de Google AI Studio
- Verifica que la key esté guardada en el popup de la extensión
La extensión no detecta errores:
- Confirma que estás en una lección de Duolingo (no en práctica de historias)
- Recarga la página de Duolingo
- Verifica la consola del service worker en
about:debugging(Firefox) ochrome://extensions/(Chrome)
¡Las contribuciones son bienvenidas!
- Fork el repositorio
- Crea una rama:
git checkout -b feature/nueva-feature - Commit:
git commit -m 'feat: agrega nueva feature' - Push:
git push origin feature/nueva-feature - Abre un Pull Request
- Tests automatizados
- Estadísticas de aprendizaje
- Soporte para Duolingo Stories
- Configuración de plantillas de tarjetas
- Exportar/importar mazos
- Modo offline
- Soporte Firefox MV2
- Soporte Chrome MV3
- Integración Gemini AI
- Popup vanilla JS con Tailwind
- Configuración avanzada de mazos
- Estadísticas y analytics
- Tests automatizados
- Internacionalización del popup
MIT © MoriNo23
Disclaimer: Proyecto de investigación y estudio de idiomas. No afiliado con Duolingo, Anki, ni Google.
- 🐛 Reportar bug
- 💡 Sugerir feature
- 📧 Contacto: tamale-gnat-evil@duck.com
Hecho con ❤️ para la comunidad de aprendices de idiomas