2026-05-17 12:57:23 -06:00
1
2026-05-17 11:18:12 -06:00
1
2026-05-17 12:13:45 -06:00
1
2026-05-17 10:14:14 -06:00
2
2026-05-17 12:57:23 -06:00
1
2026-05-17 11:18:12 -06:00
2026-05-17 06:52:58 -06:00
1
2026-05-17 10:14:14 -06:00
1
2026-05-17 10:14:14 -06:00
1
2026-05-17 11:18:12 -06:00
1
2026-05-17 10:14:14 -06:00
2
2026-05-17 12:57:23 -06:00
1
2026-05-17 10:14:14 -06:00
1
2026-05-17 10:14:14 -06:00
2
2026-05-17 12:57:23 -06:00
1
2026-05-17 11:18:12 -06:00
1
2026-05-17 10:14:14 -06:00
1
2026-05-17 11:18:12 -06:00
1
2026-05-17 10:14:14 -06:00

Knowledge Station

Plataforma para organizar conocimiento escolar por materia y semana, procesar documentos/audio/video y generar archivos Markdown optimizados para ingesta en LLM.

El archivo estacion documentos.html queda como prototipo funcional de referencia. La plataforma principal usa backend/ (FastAPI) y frontend/ (Next.js).

Capacidades Iniciales

  • Materias y semanas persistidas en SQLite.
  • Estructura de archivos por materia/semana en data/subjects/.
  • Ingesta de .txt, .md, .docx, .pdf, audio y video.
  • PDF con texto mediante PyMuPDF.
  • OCR opcional de PDF con Mistral.
  • Audio con Deepgram en español.
  • Video con extracción temporal de audio vía ffmpeg y transcripción con Deepgram.
  • Exportación semanal consolidada a Markdown.
  • UI dedicada con materias, semanas, subida de archivos, polling de trabajos y editor Markdown con preview.

Desarrollo Local

python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txt
copy .env.example .env
uvicorn backend.app.main:app --reload

En otra terminal:

cd frontend
npm install
set NEXT_PUBLIC_API_URL=http://127.0.0.1:8000
npm run dev -- -p 3000

La plataforma queda en http://localhost:3000, la API en http://localhost:8000 y la documentación interactiva en http://localhost:8000/docs.

Para usuarios no tecnicos en Windows, usa abrir_estacion.bat; detecta puertos libres, prepara backend/frontend y abre el navegador. Usa cerrar_estacion.bat para detener todo.

Docker / Coolify

docker compose up --build

Para Coolify, configura backend y frontend como servicios separados. Monta un volumen persistente para /app/data en el backend y define NEXT_PUBLIC_API_URL en el frontend apuntando a la URL publica del backend.

Variables

  • APP_DATA_DIR: carpeta de datos persistentes.
  • DATABASE_PATH: ruta SQLite.
  • MISTRAL_API_KEY: OCR para PDFs escaneados.
  • MISTRAL_OCR_MODEL: modelo OCR de Mistral. Por defecto mistral-ocr-latest; puedes fijarlo a mistral-ocr-2512.
  • DEEPGRAM_API_KEY: transcripción de audio/video.

No subas claves reales al repositorio.

Flujo API Basico

Crear materia:

curl -X POST http://localhost:8000/subjects -H "Content-Type: application/json" -d '{"name":"Comportamiento Organizacional"}'

Crear semana:

curl -X POST http://localhost:8000/subjects/1/weeks -H "Content-Type: application/json" -d '{"number":1,"title":"Grupos y equipos"}'

Subir archivo:

curl -X POST -F "[email protected]" http://localhost:8000/subjects/1/weeks/1/files

Consultar trabajo:

curl http://localhost:8000/jobs/1

Exportar semana:

curl -L http://localhost:8000/subjects/1/weeks/1/export -o semana-01.md
S
Description
No description provided
Readme
717 KiB
Languages
Python 35.9%
HTML 33%
TypeScript 25.3%
PowerShell 4%
Dockerfile 0.5%
Other 1.3%