dcoder-terminal · Windows · macOS · Linux

Tus agentes ya saben programar. Falta alguien al mando de la operación.

dcoder-terminal abre cada agente de código en un terminal real, uno al lado del otro, y un tablero duradero decide quién trabaja, quién espera y quién depende de quién. Tú traes las suscripciones que ya pagas — nosotros nunca revendemos un token, y tu repositorio nunca llega hasta nosotros.

dcoder-terminal 0.8.5 — cuatro agentes, un tablero, un repositorio
  • 14 CLIs de agente en un solo tablero — Claude Code, Codex, Copilot y once más
  • 0 tokens revendidos: tu clave, tu proveedor, tu factura, tu límite de uso
  • 72h de trabajo sin internet antes de que la licencia tenga que reportarse otra vez

No reemplaza a tu agente. Ejecuta el que ya usas.

  • Claude Code
  • Codex
  • Copilot CLI
  • Cursor Agent
  • opencode
  • agy
  • Qwen
  • Kimi
  • Grok
  • MiniMax
  • mimo
  • deepclaude
  • dcoder-agent
  • any shell

Nueve de estos vienen con un preset guiado — modelo, esfuerzo y modo de permisos mapeados flag por flag. El resto se ejecuta con un comando que escribes una sola vez.

La operación

No es un enjambre. Es una cola que sobrevive a un reinicio.

Los enjambres improvisan: los agentes negocian, se lanzan entre sí, y después nadie sabe decirte por qué algo se ejecutó. Aquí es lo contrario. Las dependencias se declaran, el orden es determinista y todo el tablero es Markdown en tu disco. Cierra la app a mitad de una ejecución, reinicia la máquina, vuelve — la tarjeta está exactamente donde la dejaste. Eso es lo que convierte “déjalo corriendo toda la noche” en una promesa y no en una apuesta.

01

La cuadrícula

PTYs reales en columnas redimensionables — no es una simulación de shell. Arrastra un panel por la cuadrícula y el proceso no muere: los paneles se posicionan por transform y nunca se remontan. El mouse, los colores y las TUIs completas funcionan, porque lo que está corriendo es la CLI de verdad.

spec-142 · migración
trabajando
spec-143 · endpoint
te necesita
spec-141 · tests
listo
02

El tablero

backlog → queue → doing → review → done o failed, como carpetas de Markdown con front-matter dentro de tu proyecto. Un único proceso escribe en él, así que dos agentes nunca corrompen la misma tarjeta. Versiónalo para que el equipo lo vea, o mételo en el .gitignore — la app funciona igual en los dos casos.

.ddesktop/
  prds/prd-7.md
  queue/spec-144.md
  doing/spec-142.md
03

El scheduler

Una tarjeta con las dependencias resueltas, con un preset que existe y a la que le llegó el turno se convierte en worker: un terminal dedicado a esa tarjeta y a nada más, con el briefing inyectado al arrancar. Hasta ocho a la vez. Bloqueada espera; terminada libera la siguiente.

◇ spec-142  → ejecutando
⏸ spec-144  bloqueado por 142
? spec-143  te necesita
De la conversación a la tarjeta

El documento que originó el trabajo viaja junto con él.

Spec-driven en el sentido literal: el PRD se escribe primero, las tarjetas se recortan de él, y cada worker recibe el documento de origen inyectado en su propio prompt — no un resumen que te acordaste de pegar.

  1. 01

    Discútelo con el piloto

    Debates la demanda en lenguaje natural con un agente piloto, dentro de la app. Cuando la idea se asienta, él escribe un PRD en el workspace — el documento de origen que toda tarjeta va a heredar.

    ❯ ddx prd new --title "Refunds"
    {"ok":true,"id":"prd-7"}
  2. 02

    El PRD se convierte en tarjetas enlazadas

    El piloto recorta el PRD en tarjetas con preset, tipo de agente y dependencias ya rellenados. Nada se dispara: las tarjetas nacen en el backlog, bajo tu mirada, hasta que tú las promueves.

    ❯ ddx new --title "POST /refunds" \
        --preset codex-sandbox \
        --depends-on spec-142
    {"ok":true,"id":"spec-143"}
  3. 03

    La flota se levanta sola

    El scheduler despacha. El worker se reporta a través de una CLI que ya está en su PATH — avisa que está trabajando, que terminó, o que necesita una decisión que solo tú puedes tomar. Eso no es una heurística leyendo la pantalla: es el worker hablando con el tablero.

    ❯ ddx working
    ❯ ddx waiting "apply the migration first?"
    ❯ ddx done
  4. 04

    Un segundo agente revisa antes de cerrar

    Con el revisor activado, una tarjeta terminada no va directo a done: se detiene en review, donde un agente distinto audita el resultado contra los criterios de aceptación y aprueba — o la devuelve a la cola con el rechazo escrito en la propia tarjeta, y el contador de rondas subiendo.

    ◉ reviewer · round 2
    ✗ rejected
      no test for a negative amount
    → back to the queue

El worker no corrige su propio examen: a quien ejecuta una tarjeta se le niegan promote, spawn y cancel a nivel de protocolo, por más amablemente que los pida.

Manos libres

Dicta en cualquier parte. Habla con el tablero.

Los dos vienen integrados en la app — no es un plugin ni una pestaña del navegador. Funcionan sobre la API de voz de OpenAI con tu propia clave, y el costo aparece en pantalla mientras hablas.

Dictado global

Habla, revísalo, luego insértalo

Un atajo global abre un HUD encima de cualquier ventana: toca para alternar, mantén pulsado para hablar. La transcripción cae en un campo editable y tú mismo la insertas — en el terminal en foco, en el cursor del editor, o en cualquier otra aplicación de Windows. Los saltos de línea se vuelven espacios, así que un pegado en el terminal nunca ejecuta un comando por su cuenta. Nunca presiona Enter por ti.

“escribe un test para un reembolso parcial superior al monto pagado”

REVISIÓN · 6,2s · US$ 0,0004 · Enter inserta

Modo conversación

Lee los paneles y actúa sobre la app

Una sesión de voz a voz en tiempo real con diecisiete herramientas conectadas a la interfaz: puede leer un panel, promover una tarjeta, reintentar una que falló, cambiar de workspace, incluso leer la interfaz y hacer clic. Todo lo destructivo pasa por una confirmación con un token de un solo uso. Se suspende sola tras el silencio, para no quemar minutos sin hacer nada.

you ¿qué está esperando spec-143?

dcoder está preguntando si puede aplicar la migración a staging. ¿Quieres que lo autorice?

you autorízalo, y después promueve el 144

dcoder ✓ respondido · ✓ spec-144 promovido a la cola

En la misma ventana

Las cosas por las que, si no, harías alt-tab.

No son reimplementaciones porque sí — cada una existe porque salir de la ventana a mitad de una ejecución es como se pierde el hilo de lo que están haciendo cuatro agentes.

Git, incluidas las partes que nadie construye

Un panel completo en su propia ventana, por repositorio — y encuentra todos los repositorios de la carpeta, así que un monorepo con servicios aparece solo.

  • Worktrees con UI de verdad: crear a partir de una rama nueva o existente, prune de los registros huérfanos, con aviso de trabajo sin commitear
  • Editor de merge de tres columnas para los conflictos, con delete-vs-modify y los demás casos incómodos nombrados en lenguaje claro
  • Stage por hunk, y rechaza un hunk obsoleto — “el archivo cambió desde que se cargó este diff”, en vez de aplicarlo a medias
  • Mensajes de commit escritos por IA con los secretos ocultos: .env y las claves privadas quedan fuera del prompt, y sk-…, AKIA… y ghp_… se convierten en [redacted]
  • Force-push con lease que cuenta cuántos commits del remoto se descartarían antes de que tú confirmes

Archivos, editor y skills

Ventanas desacoplables, cada una con su propio proyecto y su propia memoria de qué pestañas tenías abiertas ahí.

  • Monaco por dentro, con quick open fuzzy y búsqueda de texto en todo el proyecto que respeta el .gitignore y salta los binarios
  • Enviar la selección actual directo al agente en foco
  • Arrastra un archivo hasta un panel y su ruta cae en el prompt de ese agente
  • Una estantería de skills que no roba el foco del teclado — arrastras una skill mientras el cursor sigue parpadeando en el terminal, y soltarla escribe la instrucción sin enviarla si tenías un borrador

Tarjetas que se ejecutan solas

Cadencia continua o una expresión cron de cinco campos de verdad, con un comando de parada que decide cuándo terminar.

  • Un archivo de memoria que se lleva entre iteraciones, para que la ronda nueve sepa lo que encontró la ronda uno
  • Exit 0 en el comando de parada termina el loop; un techo de iteraciones y un timeout lo terminan de todos modos
  • “Cazar el test flaky hasta que deje de fallar” es una tarjeta, no un script que te toca vigilar

Las partes que solo notas cuando faltan

  • Varios workspaces, cada uno con su propia cuadrícula, tablero, color de acento y memoria de proyecto
  • Perfiles de instancia: ejecuta la versión estable y una build de desarrollo lado a lado, totalmente aislados
  • Un agente que te necesita levanta una notificación real del sistema operativo — la app saca la secuencia de escape del stream y la convierte en estado
  • Costo por modelo, en dólares, con una tabla de tarifas editable que vuelve a calcular el precio de tu historial cuando la cambias
  • Tres idiomas, 1.434 claves cada uno, paridad garantizada por un linter — y el idioma que elegiste se les pasa a los agentes
La cuenta

Nosotros orquestamos. Nunca revendemos tus tokens.

Esta es la parte que ningún competidor puede copiar, porque su margen depende de que la inferencia pase por ellos. La nuestra no pasa por nosotros en absoluto.

Herramientas que te venden créditos
  • Un cupo mensual que no se acumula
  • El precio del proveedor más un margen que no puedes ver
  • Se te acaba a mitad de semana, compras una recarga
  • El agent loop de un solo proveedor, lo tomas o lo dejas
  • Cuando el panorama de modelos cambia, tú esperas por ellos
dcoder-terminal
  • Tu plan Claude Max, Codex o Copilot, usado directamente
  • Precio de lista del proveedor, sin intermediarios
  • Tus límites de uso, que ya entiendes
  • Claude Code y Codex en el mismo repositorio, en el mismo tablero
  • ¿Salió una CLI nueva que valga la pena? Apúntale un preset hoy mismo

Y ves la cuenta mientras ocurre

Tokens de entrada, salida y caché acumulados por modelo y por sesión — el dato primario es el conteo de tokens, los dólares se derivan de una tabla de tarifas que puedes editar. Cambia una tarifa y vuelve a calcular el precio del historial sin reprocesar ni un solo transcript.

sonnet-4.5 1,84M US$ 3,02
gpt-5.5 0,42M US$ 1,15
opus-5 0,19M US$ 2,44
Lo que sale de tu máquina

Tu código no sale. Esto es exactamente lo que sí sale.

La licencia es lo único que habla con nosotros. Es un asiento flotante: el servidor le presta un asiento a tu máquina, la app lo renueva mientras trabajas, y cerrar la app lo devuelve al pool. Por eso tu licencia te acompaña del escritorio al portátil sin que registres nada.

Esta es la petición entera, cada diez minutos. Nada más se envía, nunca:

  • device_token un valor aleatorio de 256 bits, guardado aquí solo como hash
  • fingerprint un hash del identificador de la máquina, para que una carpeta de config copiada no pueda ejecutarse dos veces
  • device_name cómo llamaste a esta máquina
  • app_version qué build está preguntando
  • seat qué asiento del pool estás ocupando

POST /v1/session/heartbeat

  • Tu código fuente, diffs, prompts o la salida de los agentes
  • Nombres de repositorio, rutas de archivos o nombres de ramas
  • Qué agentes ejecutas, ni con qué frecuencia
  • Nada sobre lo que estás construyendo

Y cuando se cae internet

La app sigue funcionando hasta 72 horas con el último ticket. La regla de fondo es que el silencio se tolera y el rechazo se obedece: si no se nos puede alcanzar, tú sigues adelante; pero si respondemos “no” — el pool está lleno, la suscripción venció —, la app te avisa y se detiene, y no va a fingir que no lo oyó.

Precios

Un plan. Todo dentro. Cobrado por asiento, no por tu uso.

La app es la suscripción; los tokens nunca pasan por nosotros. Es la línea más pequeña de tu factura de IA, y la única que no crece cuando abres otro terminal.

Precio de fundador
US$ 290US$ 149/ por año

dos meses por nuestra cuenta, y el mismo bloqueo

Bloqueado mientras mantengas la suscripción — no sube a US$ 29 por debajo de ti.

Cobrado en tu moneda local, con impuestos incluidos. Cancela cuando quieras — la licencia vale hasta el final del período que pagaste.

Todo, desde el primer día:
  • Terminales reales en cuadrícula, cualquier CLI interactiva
  • 14 CLIs de agente, nueve con preset guiado
  • Tablero duradero con dependencias declaradas
  • El scheduler despachando hasta ocho workers
  • PRDs, specs y el agente piloto
  • Gate de revisión por IA en las tarjetas terminadas
  • Tarjetas en loop, continuo o cron
  • Dictado global y modo conversación
  • Panel de Git, gestor de archivos, editor y estantería de skills
  • Costo por modelo, en vivo, en dólares
  • Todos los repositorios abiertos a la vez, cada uno con su propio tablero
  • Windows, macOS y Linux

¿Más de una persona? Una licencia admite tantos asientos simultáneos como compres — escríbeme y te lo configuro.

Preguntas

Lo que preguntan antes de suscribirse

¿La suscripción incluye los tokens de los modelos?

No, y esa es justamente la idea. Usas tus propias claves — Anthropic, OpenAI, OpenRouter, la que prefieras — y pagas el precio de lista del proveedor, sin nadie en medio. Nosotros orquestamos y te mostramos, en dólares, cuánto consumió cada modelo.

¿Mi código sale de mi máquina?

Hacia nosotros, no. El tablero es una carpeta dentro de tu proyecto, los paneles son procesos de tu máquina, y la única petición que recibimos es la verificación de la licencia — cinco campos, cada diez minutos, listados por completo más arriba en esta página. Lo que sí sale es exactamente lo que el agente que ya elegiste enviaría hoy, al proveedor que configuraste.

¿Necesito estar en línea?

Para empezar, sí: la app toma prestado un asiento al abrirse. Después de eso sigue funcionando hasta 72 horas sin comunicarse con nosotros. La distinción que importa: el silencio se tolera, el rechazo no. Si no se nos puede alcanzar, tú sigues adelante; si respondemos que la suscripción venció o que el pool está lleno, la app te avisa y se detiene.

¿Dos agentes en el mismo repositorio no se atropellan?

Pueden, si tú se lo pides. La app secuencia lo que declaraste: una tarjeta con --depends-on solo sale de la cola cuando la anterior cierra, y así es como dos tareas que tocan el mismo archivo no caen en el mismo minuto. Lo que no hace es tocar git por ti — ni ramas, ni merges, ni resolución de conflictos a tus espaldas. Si quieres aislamiento de verdad, apunta cada preset a un git worktree distinto; el tablero sigue siendo uno solo.

¿Cómo sabe la app que un agente terminó o se quedó atascado?

Porque él lo dice. Cada terminal recibe una CLI pequeña en su PATH, y el briefing inyectado al arrancar le enseña al agente a marcar su propia tarjeta: trabajando, esperando con una pregunta, terminado. No es una heurística adivinando por el texto de la pantalla — es el worker hablando con el tablero.

¿Esto ensucia mi repositorio?

El estado vive en una carpeta .ddesktop/ dentro del proyecto: Markdown y JSON legibles, sin base de datos y sin formato propietario. Tú decides si lo versionas, para que el equipo vea el tablero, o si lo pones en el .gitignore. Funciona igual de las dos formas.

¿Instala o reemplaza a mis agentes?

Ninguna de las dos cosas. Ejecuta las CLIs que ya están en tu máquina, ya autenticadas. Si escribes claude en un terminal y funciona, aquí funciona. Lo que sí instala es su propia herramienta de tablero en la config de cada agente, en el alcance más estrecho, sin sobrescribir lo que ya tenías.

¿Qué pasa si cancelo?

La licencia vale hasta el final del período que pagaste; después de eso la app deja de abrir. Lo que está en disco sigue siendo tuyo — el tablero, los PRDs y las notas son Markdown, legibles con o sin la app.

¿Puedo usarlo en más de una máquina?

Sí. Un asiento se presta mientras la app está abierta y se devuelve cuando la cierras, así que el equipo de escritorio de casa y el portátil del trabajo comparten una licencia — solo que no puedes usar los dos en el mismo momento con un único asiento. Registrar máquinas es gratis e ilimitado; lo que un asiento cuenta es el uso simultáneo.

¿Qué servicio usan el dictado y el modo conversación?

El de OpenAI, con tu propia clave, guardada en el almacén de credenciales del sistema operativo en vez de en un archivo de texto. La app muestra el costo estimado mientras hablas.

Tus agentes están listos. Dales un piso donde trabajar.

Apúntalo a un repositorio, describe la demanda y mira cómo se ejecuta la primera tarjeta sin que tú despaches un terminal.