Decisiones — Sesame CSM y OpenCode + Hermes Agent

Dos nuevas direcciones para el ecosistema. No implementar aún — documentar, evaluar y priorizar.


A. Sesame CSM — Transcripción y voz propia

Qué es

CSM (Conversational Speech Model) de Sesame AI Labs. Modelo open source (Apache 2.0) de 1B parámetros que genera voz conversacional con contexto. Usa arquitectura Llama + Mimi (tokenizer de audio). Permite clonación de voz alimentando audio de referencia + transcripción.

Capacidades

  • Text-to-Speech con contexto: Genera voz natural usando el historial de la conversación.
  • Clonación de voz: Alimenta un audio de referencia + su transcripción → genera nueva voz con las mismas características.
  • Multimodal: Procesa texto y audio de forma intercalada.
  • Open source: Apache 2.0, uso comercial permitido.

Limitaciones

  • Solo inglés (principalmente). Multilingüe por contaminación de datos, no funciona bien.
  • No es un LLM: No genera texto. Necesita un modelo de lenguaje separado para la parte conversacional.
  • Requiere GPU: Inferencia local necesita GPU. Para CPU es muy lento.
  • Snippets cortos: Funciona mejor con frases cortas que con párrafos largos.
  • Sin safeguards: No tiene protección contra clonación no autorizada. Uso responsable.

Cómo se integra con el ecosistema

┌─────────────────────────────────────────────────────┐
│                    Usuario                          │
│              (voz o texto)                          │
└──────────────┬──────────────────────────────────────┘
               │
               ▼
┌─────────────────────────────────────────────────────┐
│  Transcripción (Web Speech API / Whisper)           │
│  Convierte voz del usuario → texto                  │
└──────────────┬──────────────────────────────────────┘
               │
               ▼
┌─────────────────────────────────────────────────────┐
│  LLM (Claude / OpenCode / Hermes)                  │
│  Procesa el texto, genera respuesta                 │
└──────────────┬──────────────────────────────────────┘
               │
               ▼
┌─────────────────────────────────────────────────────┐
│  Sesame CSM (TTS + clonación de voz)                │
│  Genera audio con la voz del usuario                │
└──────────────┬──────────────────────────────────────┘
               │
               ▼
┌─────────────────────────────────────────────────────┐
│  Reproducción de audio                              │
│  El usuario escucha la respuesta con su propia voz  │
└─────────────────────────────────────────────────────┘

Flujo de uso

  1. Captura: El usuario habla → Web Speech API transcribe a texto.
  2. Procesamiento: El texto se envía al LLM (Claude/OpenCode) con contexto de la bóveda.
  3. Generación: El LLM genera una respuesta en texto.
  4. Síntesis: Sesame CSM genera audio de la respuesta usando la voz clonada del usuario.
  5. Reproducción: El usuario escucha la respuesta.

Dónde se implementa

  • Auth Portal: Botón de micrófono en el dashboard + reproducción de audio.
  • Segundo Cerebro: Botón “leer nota” en cada nota (TTS).
  • GitHub Console: Notificaciones por voz (opcional).
  • Coucou: Integración con el dictado y TTS existente.

Requisitos técnicos

  • GPU: Para inferencia local (NVIDIA con CUDA). Alternativa: API de Hugging Face (gratuita pero limitada).
  • Modelo: csm-1b (~1B parámetros, ~4GB VRAM).
  • Audio de referencia: 10-30 segundos de audio limpio del usuario para clonación.
  • Transcripción del audio de referencia: Texto exacto de lo que se dice en el audio.

Alternativas a CSM

OpciónProsContras
ElevenLabsClonación de alta calidad, API fácilDe pago (free tier limitado)
Coqui TTSOpen source, clonación localRequiere GPU, instalación compleja
Web Speech API (SpeechSynthesis)Gratis, sin backendNo es la voz del usuario, calidad variable
Piper TTSOpen source, offline, rápidoNo clona voz, voces pre-entrenadas
Coucou (Flow dictation)Ya integrado, offlineSolo Mac (Apple Silicon)

Decisión preliminar

  1. Prototipo: Usar Web Speech API para transcripción (gratis, sin backend) + Web Speech Synthesis para TTS (gratis, voces del sistema).
  2. Producción: Evaluar Sesame CSM para clonación de voz (requiere GPU). Alternativa: ElevenLabs API (más fácil, de pago).
  3. Integración con Coucou: Usar el dictado de Coucou (Flow) como entrada de voz y su TTS para salida.

Dependencias

  • Para CSM: GPU + modelo + audio de referencia.
  • Para Whisper (transcripción): GPU o API de OpenAI.
  • Para ElevenLabs: API key.

B. OpenCode + Hermes Agent — Integración

Qué es

Hermes Agent es un agente de IA que gestiona tareas, memoria, herramientas y automatizaciones. Se complementa con OpenCode (que se encarga de escribir/modificar código). Hermes es el coordinador, OpenCode es el ejecutor.

  • OpenCode: agente de programación (escribe, modifica, depura, prueba código).
  • Hermes: coordinador de tareas, memoria, automatizaciones, acceso remoto.

Arquitectura propuesta

┌─────────────────────────────────────────────────────────────┐
│                    Usuario                                   │
│              (Terminal o Telegram)                            │
└──────────────┬──────────────────────────────────────────────┘
               │
               ▼
┌─────────────────────────────────────────────────────────────┐
│                 Hermes Agent                                │
│         Memoria · Planificación · Automatización             │
│         (gestiona tareas, recuerda contexto, automatiza)    │
└──────────────┬──────────────────────────────────────────────┘
               │
               ├──▶ OpenCode (ejecución de código)
               │       └── opencode run / opencode serve (API HTTP)
               │
               ├──▶ GitHub (repos, issues, PRs, CI/CD)
               │
               ├──▶ Obsidian (documentación, notas, bitácora)
               │
               └──▶ Telegram (acceso remoto, opcional)

Responsabilidades

ComponenteResponsabilidad
OpenCodeEscribir, modificar, depurar y probar código.
Hermes AgentGestionar tareas, memoria, herramientas y automatizaciones.
GitHubRepositorios, incidencias, cambios, seguimiento del desarrollo.
ObsidianDocumentación y conocimiento técnico persistente.
TelegramInteractuar con Hermes de forma remota (opcional).

Cómo conectarlos

  1. Instalar Hermes con un proveedor de modelos (OpenAI, Anthropic, etc.).
  2. Mantener OpenCode instalado y funcionando como hasta ahora.
  3. Permitir que Hermes invoque OpenCode mediante:
    • opencode run — ejecutar tareas desde scripts.
    • opencode serve — exponer API HTTP local (localhost).
  4. Conectar GitHub — repos, issues, PRs.
  5. Conectar Obsidian — documentación, notas, bitácora.
  6. Añadir automatizaciones y acceso remoto después de validar el flujo básico.

Orden recomendado (fases)

FaseObjetivoValidación
Fase 1Hermes funcionando de forma independienteHermes responde, gestiona memoria
Fase 2Hermes delega tareas en OpenCodeopencode run ejecuta código desde Hermes
Fase 3Integración con GitHub y ObsidianIssues creados, notas generadas
Fase 4Automatizaciones programadas y acceso móvilCron jobs, Telegram, notificaciones

Puntos de integración (OpenCode)

  • opencode run — ejecutar tareas de programación desde scripts/Hermes.
  • opencode serve — API HTTP local para comunicación programática.
  • Importante: mantener el servidor restringido a localhost mientras no se necesite acceso remoto.

Seguridad

  • Mantener confirmaciones para operaciones destructivas.
  • Permisos limitados (no dar acceso total a Hermes).
  • Servidor de OpenCode restringido a localhost.
  • No duplicar agentes ni reemplazar el entorno actual.

Estado actual

  • OpenCode: Instalado (v2.1.3) y funcionando.
  • Hermes: No instalado. Pendiente de evaluar.
  • GitHub: Conectado por SSH. Repo second-brain creado.
  • Obsidian: Bóveda en Documentos/general/, versionada en Git.
  • Telegram: No configurado.

Decisión preliminar

  1. Evaluar Hermes antes de instalar (revisar documentación, requisitos, compatibilidad).
  2. Fase 1 primero: Hermes independiente, sin tocar OpenCode.
  3. No reemplazar OpenCode: Hermes coordina, OpenCode ejecuta. Sin duplicación.
  4. Mantener seguridad: permisos limitados, localhost, confirmaciones.

Dependencias

  • Proveedor de modelos para Hermes (OpenAI, Anthropic, etc.).
  • OpenCode instalado y funcionando (ya está).
  • GitHub repo (ya creado).
  • Bóveda de Obsidian (ya existe).

Resumen de decisiones combinadas

#DecisiónPrioridadComplejidadDependencias
A1Transcripción de voz (Web Speech / Whisper)AltaMediaGratis o API key
A2Contexto IA (RAG + CONTEXTO.md)AltaAltaVector DB o archivos
A3Voz propia TTS (Sesame CSM / ElevenLabs)MediaAltaGPU o API key
A4GitHub (issues, PRs, actividad)MediaMediaGitHub PAT
A5LinkedInBajaAltaLinkedIn app
A6Bolsas de empleoBajaMediaAPIs
A7Coucou (monitor, voz, notificaciones)MediaMediaCoucou instalado
B1Evaluar e instalar Hermes AgentAltaMediaProveedor de modelos
B2Hermes delega tareas en OpenCodeAltaMediaHermes + OpenCode
B3Integración GitHub + Obsidian con HermesMediaMediaHermes + GitHub + Obsidian
B4Automatizaciones y acceso móvilBajaAltaHermes + Telegram

Conexión entre A y B

Sesame CSM (voz) + Hermes (coordinador) + OpenCode (código) forman un sistema completo:

Voz del usuario → Transcripción → Hermes (memoria + planificación)
                                       │
                    ┌──────────────────┼──────────────────┐
                    │                  │                  │
                    ▼                  ▼                  ▼
              OpenCode            GitHub            Obsidian
              (código)            (issues/PRs)      (notas/docs)
                    │                  │                  │
                    └──────────────────┼──────────────────┘
                                       │
                                       ▼
                              Sesame CSM (TTS)
                              (respuesta por voz)

El usuario habla → Hermes entiende el contexto → delega en OpenCode/GitHub/Obsidian → responde por voz con Sesame CSM.


Estas son decisiones y un plan de arquitectura. No se ha implementado nada todavía. Cada componente se evaluará y priorizará antes de construir.