De Cha a Ch
Repositorio GitHub del proyecto
Gran Anuncio
Estoy retirando Cha y enfocándome en Ch. El 23 de agosto de 2025 marqué Cha como obsoleto y dirigí todos los esfuerzos de desarrollo futuros a Ch. La filosofía ahora es simple: mantener una herramienta que sea simple, ligera y rápida, darle mantenimiento y corregir errores. No perseguir nuevas funcionalidades.
Por qué originalmente construí Cha
Cuando los LLMs y ChatGPT eran nuevos, las herramientas de línea de comandos que quería nunca aparecieron. ChatGPT salió en noviembre de 2022 y realmente se popularizó a principios de 2023 con el lanzamiento de GPT-4. Estuve esperando a que surgieran herramientas sólidas de línea de comandos, pero ninguna funcionaba realmente como yo quería. Así que construí Cha y la usé a diario. De hecho, en mi primer artículo del blog lo dije claramente: proyectos como este eran comunes, pero ninguno satisfacía mis necesidades, así que escribí el mío.
Cha fue mi bebé. La usaba a diario y me encantó trabajar en ella. Y en menos de un año, creció un poco acumulando +60 estrellas en GitHub. Durante ese tiempo, incorporó web scraping, extracción de transcripciones de YouTube, generación de imágenes, entrada multilínea, chat interactivo/no interactivo, entrada de prompts por STT, soporte para herramientas personalizadas, soporte para varias otras plataformas además de OpenAI, su propio motor de Búsqueda de Respuestas, navegación avanzada de directorios y edición de archivos, capacidad para copiar contenido al portapapeles, TTS para respuestas, etc. Hacía muchas cosas, funcionaba, y era realmente útil y potente como herramienta de línea de comandos.
Por qué migrar a Ch (de Python a Go)
Con el tiempo Cha se volvió pesada. Gran conjunto de características, pero demasiada complejidad para lo que necesitaba día a día. Esto resultó en que Cha se hinchara mucho. Tampoco ayudó que estuviera escrita en Python, lo que introdujo dos problemas críticos. Uno fue la velocidad; solo el tiempo de carga inicial aún tomaba 0.8 segundos y eso fue después de hacer mucha optimización e ingeniería para sortear el lento tiempo de importación de paquetes de Python y el uso de multiprocesamiento. Y Python es muy complicado de instalar. Debido a que Cha dependía de varias herramientas de código abierto de terceros, era muy desafiante instalarla. Mi punto de quiebre fue cuando viajaba solo con una tableta Android ejecutando iTermux y simplemente no funcionó en absoluto; lograr que funcionara hasta cierto punto fue muy doloroso e inútil.
Así que decidí empezar un nuevo experimento llamado Ch. Ch sería como Cha PERO escrito en GoLang en lugar de Python y conteniendo SOLO las funcionalidades esenciales de Cha con la idea de ser ligero, rápido, fácil de instalar en la mayoría de sistemas y no tan cargado de características. Al hacerlo, será más fácil mantener el proyecto como mantenedor en solitario.
Después de unos meses trabajando y usando Ch, vi que el futuro de Cha estaba en Ch y no en la base de código original de Cha. Había pasado demasiado tiempo en Cha; mantener ambas bases de código consumía mucho tiempo siendo un único desarrollador en esos proyectos, y Ch hacía el trabajo principal siendo mucho más pequeño, rápido y fácil de instalar. Eso dejó la decisión clara…
La reescritura en Go me da un inicio rápido, un binario único y un modelo mental más pequeño. El README de Ch lo resume bien: Ch es el sucesor con más de 10x faster startup y un rendimiento significativamente mejor.
La decisión
Oficialmente deprecié Cha el 23 de agosto de 2025 y dirigí a la gente hacia Ch desde el README de Cha. El repositorio de Cha permanece como referencia histórica y estoy manteniendo Ch en modo de mantenimiento con un enfoque en la estabilidad y corrección de errores, con poco interés en agregar nuevas características a menos que valga la pena y/o sea crítico hacerlo (sea lo que sea que eso signifique conforme pase el tiempo).
Qué funciones incluye Ch hoy
Ch cubre el flujo de trabajo diario sin el peso:
- Inicio de alto rendimiento con una CLI ligera escrita en GoLang
- Soporte para múltiples proveedores (OpenAI, Groq, DeepSeek, Anthropic, XAI, Together, Gemini, Mistral, Ollama)
- Modos interactivo y directo, canalización desde cualquier comando, carga de archivos y directorios, conteo de tokens, exportación de bloques de código, visor de historial de chat, cambio de modelo/plataforma, retroceso, volcados de código, grabación de sesiones de shell, integración con el portapapeles
- Web scraping y búsqueda incorporados, incluyendo manejo de enlaces de YouTube, integrados de manera sencilla
Qué falta en Ch comparado con Cha (y por qué)
Ch intenta mantener solo las funcionalidades esenciales de Cha pero al hacerlo recorté las siguientes características de Cha en Ch:
- La avanzada interfaz “Editor” y “Answer Search” no se trasladarán
- Ingesta de audio, video e imágenes, voz a texto y texto a voz, y algunas de las exportaciones adicionales y comodidades de codedump no son prioridades
- Algunos ayudantes de navegación y comportamientos de “cambiar directorio raíz” de Cha no están en Ch
- Los “perfiles locales con chats guardados” intencionalmente no son la ruta predeterminada
Etiqueté muchas de estas como bloat o “agradables de tener”. Lo que consideré crítico fue navegación web y web scraping, que faltaba en Ch pero que desde entonces he integrado en Ch, así que el ciclo central está completo sin el resto. No solo eso, sino que Ch tiene una nueva función llamada !x que graba una sesión de shell mientras todavía estás en una sesión de Ch y la añade al historial de chat, permitiéndote usar otras herramientas de la CLI y guardar su salida para el modelo si lo deseas. Esta característica te permite recuperar muchas de las funciones originales que faltaban en Cha dentro de Ch sin que Ch haga todo el trabajo y se hinche. Puedes aprender más sobre Ch en esta nueva entrada del blog.
Ch/Cha frente a Claude Code
En julio de 2025, escribí una comparación de Cha con las últimas herramientas de CLI potentes con IA para explicar qué valor aportaba Cha que esas herramientas no ofrecían. Sabiendo esto, aún quería incluir esto en este blog porque Ch, en su núcleo, proporciona el mismo valor y la comparación sigue siendo válida meses después incluso tras este cambio. La misma filosofía se aplica a Ch.
Diferencias clave
- El enfoque Ch/Cha enfatiza el control total del usuario en cada paso sin trabajadores de IA en segundo plano tomando decisiones de forma autónoma. Obtienes gestión de contexto explícita y controlada por el usuario con costos que típicamente van de $1 a $20 por mes para uso activo diario. No hay ediciones sorpresa, todo está guiado por el usuario, lo que lo hace ideal para implicación profunda y control estricto de costos.
- Las CLIs agentivas como Claude Code y Gemini toman un camino diferente con decisiones automatizadas de flujo de trabajo y agentes inteligentes que hacen elecciones autónomas. Manejan contexto y manejo de archivos gestionados por IA con costos que típicamente van de $10 a $200+ por mes para niveles de uso similares. Sobresalen en modificaciones autónomas de código, lo que las hace perfectas para prototipado rápido y delegación.
Cuándo elegir el estilo Ch/Cha
- Costo mínimo con total transparencia
- Control completo sobre cada interacción
- Implicación profunda en tu proceso de desarrollo
- Gestión explícita de contexto para proyectos sensibles
Cuándo elegir herramientas basadas en agentes
- Prototipado rápido y iteración rápida
- Preferencia por la automatización y delegación de la IA
- Velocidad sobre consideraciones de costo
Recomendación
No hay una bala de plata. Ninguna herramienta cubre todos los casos. Ch es excelente para tareas diarias rentables y control preciso. Las herramientas agentivas como Claude Code o Gemini CLI brillan para codificación compleja, con múltiples archivos y múltiples entornos con un enfoque en velocidad y automatización. Usa Ch cuando quieras reducir costos y mantener el control. Usa herramientas agentivas cuando necesites iteración rápida y no te importe delegar el control. Muchas personas comienzan con Ch para aprender buenos patrones de interacción y luego añaden herramientas agentivas conforme evolucionan sus necesidades.
El futuro de Cha y Ch
El futuro de Cha y Ch es este. Cha está obsoleto y archivado, sirviendo solo como una especie de referencia histórica. Ch ahora es el nuevo Cha. Continuará mantenido, mejorado (si es necesario) y usado. Voy a resistirme fuertemente al crecimiento descontrolado de funcionalidades para Ch. Y en adelante, cuando diga/referencie Cha me estaré refiriendo a Ch y al viejo Cha basado en Python lo referiré como “Cha v0” o “old Cha”. Con eso en mente
Gracias
Si seguiste el viaje de Cha desde el principio, gracias. Ese proyecto me enseñó mucho y me empujó hacia una versión que se ajusta mejor a cómo trabajo realmente y que además es mejor para la comunidad en su conjunto. Si eres nuevo, empieza a usar Ch y mantenlo simple!