Skip to content

liberathio/cmux-improvements

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 

Repository files navigation

cmux-improvements

Tracking de mejoras propuestas para manaflow-ai/cmux, el terminal agéntico basado en Ghostty con tabs verticales y notificaciones para coding agents.

Este repo es un hub de roadmap, no un fork ejecutable. Los issues se abren en el upstream; aquí se centraliza la priorización, las dependencias entre propuestas, y notas de diseño que serían demasiado largas para un comentario de issue.

Motivación

Auditoría interna (29-abr-2026) detectó ~$100 USD/mes de consumo de API tokens en el setup de un usuario power, una parte significativa atribuible a sesiones cmux sin controles de coste, sin failover, y sin observabilidad por proyecto. Las propuestas de este roadmap atacan ese eje (coste/control), más mejoras de coordinación entre sesiones paralelas y de UX para el operador.

Roadmap

# Mejora Categoría Prioridad Issue upstream
1 LiteLLM forcing — env passthrough opcional para que los agentes hijos hereden ANTHROPIC_BASE_URL / OPENAI_BASE_URL del proxy LiteLLM (failover, caching, budget central). Coste P0 #3317
2 Cap por sesión — max_tokens_per_session, max_usd_per_session con kill automático y warning previo. Coste P0 #3318
3 Tags Langfuse — etiquetado automático cmux:<project>:<task-id> por sesión para observabilidad multi-proyecto en Langfuse. Observabilidad P1 #3319
4 GC de worktrees — recoger worktrees huérfanos cuando la sesión muere o no toca disco en N horas. Lifecycle P1 #3320
5 Snapshot de sesiones abandonadas — rama temporal cmux/abandoned/<ts> antes de matar para recuperación. Lifecycle P1 #3321
6 Reattach — sesiones sobreviven al crash del daemon, vuelven a aparecer al reiniciar. Lifecycle P1 #3322
7 File-lock broker — detectar solapamiento de paths entre worktrees paralelos y avisar/serializar. Coordinación P2 #3323
8 Shared scratchpad — KV/sqlite común entre sesiones del mismo proyecto para deduplicar investigación. Coordinación P2 #3324
9 Hooks bidireccionales — webhooks/SSE en SessionStart/SessionStop/MessageSent para que orquestadores externos reaccionen sin polling. Integración P1 #3325
10 Router de modelos por tarea — model_policy declarativo (.cmux.yaml) por proyecto con tiers (trivial→Haiku, arch→Sonnet/Opus). Coste P1 #3326

Issues upstream relacionados (audit 29-abr-2026)

  • #739 (CLOSED, NOT_PLANNED) — token cost tracker para Claude Code. Cerrado, pero #2/#3 lo retoman desde el ángulo LiteLLM.
  • #2802 — claude-teams usa claude-opus-4-6 cuando el modelo principal es otro. Relacionado con #10.
  • #2713 — asignación de modelos a sub-agentes en claude-teams. Relacionado con #10.
  • #2841 — preservar NODE_OPTIONS de wrappers externos. Mismo dominio que #1: cmux tiene "restore logic" que pisa env de wrappers. La fix de #1 reabre el debate de qué env preservar.
  • #2745 — workspaces perdidos al cerrar la app. Relacionado con #5/#6.
  • #2849 — session autosave provoca 8.6 GB de escritura en disco. Adyacente a #4.
  • #2865 — indicador de actividad en sidebar para sesiones running.
  • #2957 — split dinámico para output de sub-agentes vía codex. UX adyacente a #9.

Estrategia de contribución

cmux es GPL-3.0-or-later con CLA que cede a Manaflow Inc. derecho a relicenciar comercialmente. Implicaciones:

  1. Cualquier código contribuido upstream cae bajo esa CLA.
  2. Mejoras que conviven mejor fuera de cmux (p.ej. wrappers, sidecars de orquestación, integraciones con Mission Control) se desarrollan en repos propios y se conectan vía socket API y CLI de cmux.
  3. Mejoras core que solo el binario puede hacer (env passthrough, lifecycle, model router) se proponen como issues + draft PRs upstream.

Build local (referencia)

cmux requiere macOS 14+, Xcode 15+, Zig (vía brew install zig). El build canónico:

git clone --recursive https://github.com/manaflow-ai/cmux.git
cd cmux && ./scripts/setup.sh
./scripts/reload.sh --tag <branch>

Los tests de integración corren en una VM dedicada (cmux-vm). Tests unitarios en Python (tests/) se ejecutan localmente con bun y python3.

Cómo se mantiene este repo

  • Una entrada por mejora arriba, sincronizada con el issue upstream.
  • Notas de diseño en proposals/<n>-<slug>.md cuando un issue queda corto.
  • Cierre de iteración: cuando upstream merge'a (o rechaza) una propuesta, el row en la tabla se mueve a "Histórico" abajo.

Histórico

(vacío al arrancar — abr 2026)

About

Tracking de mejoras propuestas para manaflow-ai/cmux: routing LiteLLM, observabilidad, GC, hooks bidireccionales, router de modelos

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors