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.
- Repo: https://github.com/SesameAILabs/csm
- Modelo: https://huggingface.co/sesame/csm-1b
- Demo: https://www.sesame.com/journal/crossing-the-uncanny-valley-of-voice
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
- Captura: El usuario habla → Web Speech API transcribe a texto.
- Procesamiento: El texto se envía al LLM (Claude/OpenCode) con contexto de la bóveda.
- Generación: El LLM genera una respuesta en texto.
- Síntesis: Sesame CSM genera audio de la respuesta usando la voz clonada del usuario.
- 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ón | Pros | Contras |
|---|---|---|
| ElevenLabs | Clonación de alta calidad, API fácil | De pago (free tier limitado) |
| Coqui TTS | Open source, clonación local | Requiere GPU, instalación compleja |
| Web Speech API (SpeechSynthesis) | Gratis, sin backend | No es la voz del usuario, calidad variable |
| Piper TTS | Open source, offline, rápido | No clona voz, voces pre-entrenadas |
| Coucou (Flow dictation) | Ya integrado, offline | Solo Mac (Apple Silicon) |
Decisión preliminar
- Prototipo: Usar Web Speech API para transcripción (gratis, sin backend) + Web Speech Synthesis para TTS (gratis, voces del sistema).
- Producción: Evaluar Sesame CSM para clonación de voz (requiere GPU). Alternativa: ElevenLabs API (más fácil, de pago).
- 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
| Componente | Responsabilidad |
|---|---|
| OpenCode | Escribir, modificar, depurar y probar código. |
| Hermes Agent | Gestionar tareas, memoria, herramientas y automatizaciones. |
| GitHub | Repositorios, incidencias, cambios, seguimiento del desarrollo. |
| Obsidian | Documentación y conocimiento técnico persistente. |
| Telegram | Interactuar con Hermes de forma remota (opcional). |
Cómo conectarlos
- Instalar Hermes con un proveedor de modelos (OpenAI, Anthropic, etc.).
- Mantener OpenCode instalado y funcionando como hasta ahora.
- Permitir que Hermes invoque OpenCode mediante:
opencode run— ejecutar tareas desde scripts.opencode serve— exponer API HTTP local (localhost).
- Conectar GitHub — repos, issues, PRs.
- Conectar Obsidian — documentación, notas, bitácora.
- Añadir automatizaciones y acceso remoto después de validar el flujo básico.
Orden recomendado (fases)
| Fase | Objetivo | Validación |
|---|---|---|
| Fase 1 | Hermes funcionando de forma independiente | Hermes responde, gestiona memoria |
| Fase 2 | Hermes delega tareas en OpenCode | opencode run ejecuta código desde Hermes |
| Fase 3 | Integración con GitHub y Obsidian | Issues creados, notas generadas |
| Fase 4 | Automatizaciones programadas y acceso móvil | Cron 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
localhostmientras 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-braincreado. - Obsidian: Bóveda en
Documentos/general/, versionada en Git. - Telegram: No configurado.
Decisión preliminar
- Evaluar Hermes antes de instalar (revisar documentación, requisitos, compatibilidad).
- Fase 1 primero: Hermes independiente, sin tocar OpenCode.
- No reemplazar OpenCode: Hermes coordina, OpenCode ejecuta. Sin duplicación.
- 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ón | Prioridad | Complejidad | Dependencias |
|---|---|---|---|---|
| A1 | Transcripción de voz (Web Speech / Whisper) | Alta | Media | Gratis o API key |
| A2 | Contexto IA (RAG + CONTEXTO.md) | Alta | Alta | Vector DB o archivos |
| A3 | Voz propia TTS (Sesame CSM / ElevenLabs) | Media | Alta | GPU o API key |
| A4 | GitHub (issues, PRs, actividad) | Media | Media | GitHub PAT |
| A5 | Baja | Alta | LinkedIn app | |
| A6 | Bolsas de empleo | Baja | Media | APIs |
| A7 | Coucou (monitor, voz, notificaciones) | Media | Media | Coucou instalado |
| B1 | Evaluar e instalar Hermes Agent | Alta | Media | Proveedor de modelos |
| B2 | Hermes delega tareas en OpenCode | Alta | Media | Hermes + OpenCode |
| B3 | Integración GitHub + Obsidian con Hermes | Media | Media | Hermes + GitHub + Obsidian |
| B4 | Automatizaciones y acceso móvil | Baja | Alta | Hermes + 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.