Ir al contenido

Novedades de la versión 3.6

La 3.6 es la versión de la voz: por primera vez puedes hablar con el agente como por teléfono, interrumpirle, y darle órdenes sobre la propia aplicación sin tocar el ratón. Además trae dos proveedores de IA renovados y una sección de Base de datos mucho más sólida.

Lista en dos minutos: la guía de bienvenida

Sección titulada «Lista en dos minutos: la guía de bienvenida»

La primera vez que abres la app, una guía de cinco pasos la deja funcionando: idioma, conectar la IA (con tu cuenta, con una clave de API o con un modelo local que se descarga solo), elegir carpeta y probar la voz. Todos los pasos se pueden saltar, y puedes volver a verla desde el menú de tu cuenta.

Además hay un icono de estado permanente en la barra superior: dice si falta algo para que el agente pueda responder —IA conectada, modelo válido, internet, programas auxiliares— y cada aviso trae un botón Arreglar que te lleva al paso que falta. Y los errores del chat salen ahora en lenguaje llano, con la acción que los resuelve.

Conversación en tiempo real — actívala en Configuración → Voz y lectura y pulsa el botón de conversación del chat. El agente te saluda con un «Te escucho.» y a partir de ahí:

  • Te escucha mientras hablas: no hay que pulsar nada para empezar ni para terminar la frase.
  • Puedes cortarle a media palabra y seguir hablando; se calla al instante.
  • Subtítulos en vivo de lo que dices y de lo que responde.
  • Si te quedas callado, pregunta «¿Sigues ahí?» en vez de colgar.
  • Te contesta con la voz que tú elijas —Edge, Groq, Kokoro, Pocket o Chatterbox— y puedes cambiarla sin colgar.
  • Cuando la respuesta lleva código no te lo dicta: dice «te dejo el código en pantalla» y lo escribe.

Funciona en los 17 idiomas de la aplicación y también desde el teléfono, por la red WiFi de casa.

Y no hay nada que descargar: el instalador de Windows, Linux y macOS trae dentro el agente de voz, el servidor y los modelos, así que el modo Conversación funciona nada más instalar —incluso sin conexión a internet—, sin la espera de la primera vez que había en las versiones de prueba.

Un orbe flotante, siempre por encima de las demás ventanas, para seguir la conversación mientras trabajas en otra cosa. Muestra el estado (escuchando, pensando, hablando), una línea de subtítulo y sus propios botones de pausar, volver a la ventana y colgar. Se arrastra donde quieras y recuerda dónde lo dejaste. Eliges si aparece nunca, al minimizar la ventana principal —lo que incluye cerrarla a la bandeja— o siempre que la voz esté activa.

Puedes darle tres caras: Orbe, Anillo (tres anillos finos girando) o Píxel (una rejilla de 7×7 que se llena con tu voz), con vista previa en vivo en el selector. Y si no estás seguro de que vaya a salir, el botón Probar widget lo muestra cinco segundos y te escribe debajo el diagnóstico: si la ventana se creó, si el sistema la da por visible, dónde quedó y cuántos monitores ve. Si la posición guardada cae fuera de las pantallas conectadas, vuelve solo al centro-derecha.

«Hey Context»: que te escuche sin tocar nada

Sección titulada ««Hey Context»: que te escuche sin tocar nada»

Con la escucha permanente no hace falta ni pulsar el botón: dices «Hey Context» —o «Oye Context», o «Context»— y la conversación se abre sola, con el widget delante.

Viene apagada, y a propósito: es la única función que abre el micrófono sin que se lo pidas. Mientras escucha hay un testigo junto al botón de voz que late con el nivel del micrófono, para que nunca haya duda. Todo ocurre en tu equipo: un detector de energía descarta el silencio sin transcribir nada, y solo las ráfagas cortas en las que alguien habla pasan por un Whisper pequeño — unas cuatro décimas de CPU cada una, y nada en reposo. Con ruido exige oírlo dos veces en tres segundos (tres si dices solo «Context»), espera ocho segundos antes de volver a dispararse, y nunca escucha mientras hay una conversación abierta o el agente está hablando.

Ahora el agente maneja la app por ti mientras hablas: «crea un nuevo chat», «abre el proyecto Facturas», «cambia al modelo Gemini», «léeme la última respuesta», «pausa», «cuelga», «muestra la ventana». La lista completa está en la página del widget.

Nuevo proveedor xKiro: un gateway con más de 110 modelos de GPT, Claude, Gemini, DeepSeek, Qwen, GLM, Kimi, MiniMax o Grok detrás de una sola clave — y más de 40 modelos gratis en su tier libre.

Gemini API Key ya no pasa por la capa de compatibilidad con OpenAI: usa la API nativa de Google. En la práctica:

  • Los 503 de «modelo saturado» se reintentan solos (2, 5 y 10 segundos) en vez de cortarte el turno.
  • El interruptor de Razonamiento controla de verdad el nivel de pensamiento de Gemini 3.
  • Los errores llegan en español y con una pista de qué hacer.

Cambiar de sección ya no te cuesta el trabajo hecho: la consola SQL y el modo Developer conservan la conexión, el árbol del explorador, las pestañas abiertas y el cursor de cada script. Además:

  • Reconexión transparente y latido para SQL Server y Oracle: si el servidor cierra la sesión, la app la reabre sin molestarte y reintenta una vez la consulta que falló por la red.
  • Lotes por motor: GO en SQL Server (con GO 5 para repetir) y / en Oracle, respetando cadenas y comentarios; los errores dicen qué lote y qué línea del script.
  • Scripts que tocan varias bases del mismo motor: SQL Server antepone el USE correcto y avisa si el script nombra otra base, con un botón para reescribirlo.

Y tú decides qué puede hacer el agente en cada base

Sección titulada «Y tú decides qué puede hacer el agente en cada base»

Cada conexión tiene ahora su botón Permisos, con tres presets —Solo lectura (el de fábrica), Desarrollo y Administrador— y once interruptores sueltos: leer, ver esquema, escribir, borrar, crear y alterar objetos, DROP, ejecutar procedimientos, transacciones, exportar a archivo y pedir confirmación en cada escritura. Más un tope de filas afectadas sin preguntar.

No es un aviso: lo que apagas no llega a la base de datos. El asistente lo consulta antes de cada consulta y te lo explica en cristiano («no tengo permiso para borrar en esta conexión; actívalo en Permisos»); lo que sí necesita confirmación te dice por qué y cuántas filas va a tocar, y lo irreversible se confirma siempre. Un script mixto con una sola sentencia prohibida se deniega entero.

El teléfono deja de ser un visor y pasa a ser un puesto de mando:

  • Modo Conversación con la misma experiencia que el escritorio: saludo en voz alta, subtítulos en vivo, ondas que siguen tu voz, pausar y reanudar, y Reintentar.
  • Órdenes por voz que se ejecutan en el teléfono: «crea un chat llamado X» te lleva al chat nuevo en el móvil; «abre el chat de X», «cambia al modelo Sonnet», «léeme la última respuesta», «pausa» y «cuelga» se resuelven ahí mismo. Las que solo tienen sentido delante del PC se reenvían al escritorio y te lo confirman.
  • Adjuntar fotos y archivos desde el clip, incluida la opción de hacer una foto.
  • Ver los archivos que toca el agente: en cada operación de leer, escribir o editar aparece la ruta; tócala y se abre en un visor de solo lectura.
  • El cuadrado rojo («Detener el turno») corta el turno y sus subagentes, y vacía lo que tuvieras encolado.

El APK se descarga desde la página de descargas, con un QR para instalarlo desde el propio teléfono. El modo Conversación sigue necesitando estar en la misma red WiFi que el PC (no por el túnel) y el escritorio encendido.

Context Code siempre ha sido un solo programa con dos caras, pero desde la terminal costaba saber dónde estabas parado. La 3.6 arregla eso con tres comandos nuevos —y una sección propia de documentación:

  • contextcode conexion (también info o whoami) responde a «¿dónde está todo?»: versión y ejecutable, si eres escritorio+CLI o solo CLI, las carpetas de configuración y datos, la base de datos, el registro, el estado del enlace remoto y los móviles emparejados. No enseña ningún secreto: la URL con token solo aparece si la pides con --enlace o --qr. Con --json, lo mismo para un script.
  • contextcode instalar-cli deja el comando corto en el PATH sin pedir administrador, ahí donde el instalador no puede hacerlo: AppImage, macOS y el .msi de Windows. (El .deb y el instalador .exe ya lo dejaban.)
  • contextcode remoto y contextcode chat --remoto: chatea desde tu terminal con el Context Code de otra máquina, el de casa desde la oficina o el del servidor desde el portátil. Se empareja como un dispositivo más —canjeando el token del QR por uno propio, que no caduca— y, lo importante, las aprobaciones se responden en tu terminal: el agente de allí no se queda esperando a alguien sentado delante de aquel equipo.

Si usabas un workspace SSH y se te cortaba cada poco, la culpa era del NAT de casa o de la VPN, que reciclan las sesiones ociosas porque no ven el tráfico cifrado de SSH. Ahora hay keep-alive en las dos capas, la app detecta el túnel muerto y vuelve sola a trabajar en local (en vez de encadenar esperas de tres segundos por comando) y los chats remotos aguantan cortes de más de dos minutos antes de rendirse.

Lo que llegó después: 3.6.1, 3.6.2 y 3.6.3

Sección titulada «Lo que llegó después: 3.6.1, 3.6.2 y 3.6.3»

La versión nueva se descarga dentro de la app, con barra de progreso y megas, y se verifica con SHA-256 antes de ejecutar nada («Comprobando el instalador…»). También puedes Ver novedades sin salir de la app, o dejarlo para Más tarde. Si algo falla, Reintentar; el enlace de descarga manual queda como último recurso, no como primera opción. En Linux .deb te da el comando ya escrito y copiable; en AppImage y macOS el relevo es automático. Todo el detalle, en Actualizaciones. (El paso intermedio de elegir entre «Instalar ahora» e «Instalar al salir» duró poco: la 3.6.6 lo quitó — ver más abajo.)

Abrir un chat con mucha historia tardaba entre 1,5 y 2,6 segundos; ahora ronda los 0,4. Y volver al chat desde Developer o desde Base de datos ya no congela la interfaz.

La rejilla de resultados se comporta como una hoja de cálculo

Sección titulada «La rejilla de resultados se comporta como una hoja de cálculo»

Seleccionar filas con clic, Ctrl+clic y Mayús+clic, todas con Ctrl+A, y Ctrl+C copia en TSV listo para pegar en Excel. El menú contextual añade copiar con encabezados, como CSV o como INSERT. Las sentencias de contexto (USE, SET, DECLARE) ya no abren pestaña de resultado, y cada «Resultado N» tiene su X y hay «Cerrar todos los resultados». Si el resultado venía recortado, avisa antes de que copies medio informe sin enterarte. Ver Base de datos.

Un chat que ha delegado mucho acumula subagentes en la barra lateral. Ahora se borran: uno con la X, o desde el chat padre «Borrar subagentes terminados» y «Borrar todos». Los que siguen en ejecución no se borran a la ligera — se te ofrece Detener y borrar o Solo detener. Ver Agentes y orquestación.

El widget usa ahora el tema de la aplicación, el subtítulo cabe en dos líneas, y con «Mostrar widget: al minimizar» aparece al minimizar u ocultar la ventana aunque no haya conversación, con un botón «Hablar con Context Code» para empezar una. Además, el detector de voz es más estricto: menos turnos abiertos por ruido. Y se acabó el eco: ya no suena dos veces.

La tarjeta «Servidor de Context Code» desaparece de Configuración (era cosa de soporte). Y la app móvil 1.0.31 se quita el botón de dictado —el teclado del teléfono ya lo hace mejor— y arregla el error «falta el parámetro chat» al abrir la conversación por voz.

La 3.6.4: los chats en pestañas y un panel de Git de verdad

Sección titulada «La 3.6.4: los chats en pestañas y un panel de Git de verdad»

Los chats se abren ahora como pestañas en la misma barra que los archivos y la consola SQL —«Proyecto Facturas - Revisa el login»—, con punto verde si el chat está trabajando y «!» si espera tu respuesta. Saltas de una conversación a otra con un clic o con Ctrl+Tab, y activar una pestaña te lleva también al proyecto de ese chat (explorador, editor y Git). Cerrarla no detiene nada: el chat sigue trabajando en segundo plano, y así te lo dice la primera vez. Las pestañas se recuerdan al reabrir la app, y el interruptor «Chats en pestañas» de Configuración → General devuelve el comportamiento de antes. Ver Tu primer chat.

Fijar y archivar también los chats sin proyecto

Sección titulada «Fijar y archivar también los chats sin proyecto»

El clic derecho sobre cualquier chat de la barra lateral —incluidos los de la pestaña «Chat», que antes no tenían ni lo uno ni lo otro— ofrece «Fijar chat» y «Archivar chat». Los fijados se quedan arriba y sobreviven al reinicio; los archivados esperan en su sección «Archivados», y la búsqueda los encuentra con un botón «Restaurar y abrir».

Dos pestañas con rótulo y contador, Cambios e Historial. El historial trae avatar del autor, tiempo relativo en tu idioma, etiquetas de ramas y tags, buscador por mensaje/autor/hash, «Comparar con rama…» y «Cargar 100 commits más»; el detalle del commit, hash corto copiable, +N −M y los archivos con su estado. Y las diferencias se ven dentro del panel con el editor de Monaco: minimapa, marcas de cambio en la barra de desplazamiento, números a ambos lados, lado a lado o unificado, zonas sin cambios plegadas y «Abrir en el editor» —con un visor sencillo de respaldo para los archivos de más de 2 MB—. En Cambios, un clic muestra el diff y el doble clic abre el archivo en el editor. De paso se corrigió que los commits de una sola línea desaparecieran del historial. Ver Panel Git.

La 3.6.5: navegar sin llenar la barra, y Git sin sorpresas

Sección titulada «La 3.6.5: navegar sin llenar la barra, y Git sin sorpresas»

Una pestaña de vista previa, como en un editor de código

Sección titulada «Una pestaña de vista previa, como en un editor de código»

Un clic simple en un chat de la barra lateral ya no abre una pestaña nueva: lo enseña en una pestaña provisional, con el título en cursiva, que el siguiente clic simple reutiliza en el mismo sitio. Así se pueden mirar diez conversaciones sin acabar con diez pestañas. La pestaña se queda en cuanto haces algo que no es una ojeada: doble clic (en el chat o en la pestaña), escribir un mensaje o arrastrarla. Se puede apagar en Configuración → General con «Abrir chats en vista previa con un clic». Ver Tu primer chat.

En el Historial del panel de Git, los commits que aún no están en el remoto llevan una pastilla ↑ («Pendiente de subir»), y sobre la lista hay una franja con «N commits pendientes de subir · Subir» y «M por bajar · Bajar». Si la rama no tiene remoto, lo dice —«Esta rama no tiene remoto · Publicar rama»— y no marca nada, porque no hay con qué comparar.

El diff, en su pestaña; los archivos, en árbol

Sección titulada «El diff, en su pestaña; los archivos, en árbol»

Las diferencias ya no se aprietan en la columna del panel: un clic en un archivo —de Cambios o de un commit— abre (o actualiza) la pestaña de diferencias del editor, ahora con minimapa, marcas de cambio en la barra de desplazamiento, zonas sin cambios plegadas y lado a lado ⇄ unificado. La pestaña se reutiliza; con Ctrl+clic abres otra aparte. En el panel queda una previsualización plegada y apagada por defecto. Y las listas de archivos —las de un commit y las de Cambios— pasan a ser un árbol de carpetas en acordeón, con contador y +/− por carpeta, cadenas de una sola carpeta compactadas, conmutador Árbol/Lista que se recuerda, plegar/desplegar todo y manejo con ↑ ↓ ← → y Enter. Ver Panel Git.

La 3.6.6: actualizar vuelve a ser un solo botón

Sección titulada «La 3.6.6: actualizar vuelve a ser un solo botón»

El aviso de la actualización opcional se había partido en dos pasos —«Descargar» y, un rato después, «Versión X lista para instalar» con «Instalar ahora» e «Instalar al salir»—, lo que obligaba a volver a la tarjeta a dar un clic que nadie había pedido.

Vuelve a ser lo de siempre: «Nueva versión X disponible» con Actualizar y reiniciar, Más tarde y la ✕, y Ver novedades como enlace de texto pequeño. Ese único botón hace el camino entero en la misma tarjeta: descarga con progreso («120 / 389 MB»), comprobación del SHA-256 («Comprobando el instalador…») e instalación («Instalando y reiniciando…»), igual que en las obligatorias.

Debajo no cambia nada: se reconsulta la última versión antes de bajar, si falla hay Reintentar y Abrir en el navegador, y quien instaló por .deb sigue parando en «Versión X lista para instalar» con su comando copiable —ese paquete lo instala el sistema, no nosotros—. Ver Actualizaciones.

La 3.6.9: el grafo entiende tu código, no solo tus archivos

Sección titulada «La 3.6.9: el grafo entiende tu código, no solo tus archivos»

El grafo de código deja de ser un mapa de archivos y pasa a ser un mapa de símbolos: qué función llama a cuál, qué hereda de qué y qué cruza la frontera entre el front y el back.

  • Preguntas que antes costaban media docena de búsquedas. Ahora basta con decir «explícame handle_livekit_join y qué rompe si lo cambio»: el agente responde con una sola consulta que le trae la función entera, quién la llama, a qué llama y los archivos que dependen de ella. Detrás hay cuatro consultas nuevas —explore, symbol, callers/callees e impact— con radio de impacto hasta profundidad 4.
  • Imports de TypeScript de verdad. Se leen del árbol de sintaxis y se resuelven los alias de tsconfig.json, los barrels (index.ts) y los re-exports: un import { X } from "@/core" deja de contarse como dependencia externa y apunta al archivo real. Además se dibuja la herencia (extends, implements, impl Trait for, clases base de Python) y C, C++ y C# pasan a parsearse igual que los demás.
  • Puentes front↔back. Cada invoke("…") del front se une con su #[tauri::command] en Rust — y los que apuntan a un comando que ya no existe (botones que no hacen nada) salen listados en el informe GRAPH_REPORT.md. Las rutas HTTP de Express, NestJS, FastAPI, Flask, ASP.NET y axum se convierten en nodos con su handler.
  • En la vista Grafo hay tipos nuevos en la leyenda y los filtros: Herencia, Implementa, Invoke Tauri, Ruta → handler y los nodos de Ruta HTTP (atajo 7).
  • Y no se lo comen las dependencias: al repartir los topes del grafo va primero tu código y después las carpetas vendorizadas, con un orden estable entre regeneraciones.

Typesafe AI: las decisiones pequeñas dejan de adivinarse

Sección titulada «Typesafe AI: las decisiones pequeñas dejan de adivinarse»

Muchas decisiones internas de la app —qué modelo usar en el turno, qué skills cargar, si una acción es delicada, qué especialistas montar en un plan— se tomaban con listas de palabras clave escritas a mano. Con una clave de Typesafe AI pasan a decidirse de verdad, y con un número de confianza: por debajo del umbral vuelve la regla de siempre, así que nunca hay una decisión peor que la que ya había.

  • El modelo del turno cuando el selector está en Automático, y el modelo de cada subagente del orquestador: una tarea mecánica baja al más rápido y barato de tus perfiles, un rediseño sube al más capaz. Si el .md del agente ya declara profile: o model:, manda tu archivo.
  • Las skills relevantes y el riesgo en «Aprobar por mí».
  • La intención de lo que escribes (¿quieres una explicación o quieres el trabajo hecho?) y los dominios que toca, que es de donde sale el equipo propuesto en un plan.
  • Cuando la decisión es suya se ve: «Modelo elegido por Typesafe: … (confianza 0,87)».

Es opcional y barato (0,042 $ por millón de tokens de entrada; un mes de trabajo son céntimos). Sin clave, o si el servicio falla, todo se comporta exactamente como antes.

Ir a la definición funciona de verdad: Ctrl+clic o F12 sobre una función, clase o variable te lleva a donde se define, Alt+F12 la enseña en una ventana emergente sin salir del archivo, y Shift+F12 lista las referencias. Está probado contra servidores reales de C#, TypeScript y Go; para C# hacía falta arreglar dos cosas que dejaban al servidor mudo (no contestaba a la petición de configuración y la ruta de la solución llegaba con un prefijo extendido de Windows). Si el lenguaje no tiene servidor instalado, la app lo dice y ofrece instalarlo. Ver Editor.

F5 ya no saca una lista de cosas que no son tu proyecto: detecta lo que hay en la carpeta (.NET, Node, Python, Rust, Go, Java…), lo agrupa por proyecto y lo enseña con el icono del lenguaje en vez del nombre del runtime. Una línea por configuración, Ctrl+Shift+B para los objetivos de compilación, y todo se puede fijar en .context/run.json. Ver Ejecutar.

Typesafe elige con números, y avisa de lo que gasta

Sección titulada «Typesafe elige con números, y avisa de lo que gasta»

El automático de Typesafe ya no decide con adjetivos: cada modelo candidato lleva su precio real por millón de tokens y la velocidad medida de tus turnos anteriores, y los perfiles que acaban de recibir un 429 o un 503 quedan fuera de la lista mientras dure la cuota. La línea bajo el mensaje dice ahora «Modelo elegido por Typesafe: … · entre 12 modelos, 2 en cuota». En la tarjeta de Configuración hay un límite mensual en USD (al superarlo, todas las funciones se apagan y se avisa una vez) y una línea «Este mes: N decisiones · tokens · USD»; el gasto sale también en el panel de Uso. El asistente de bienvenida tiene un paso opcional para pegar y probar la clave, y sin clave la fila «Automático (Typesafe)» aparece deshabilitada con la pista de dónde configurarla. Desde el teléfono y la web del túnel también se puede poner un chat en automático y ver la decisión, y en la terminal vale contextcode chat --model auto.

SVG con vista previa, y la consola de datos que se deja parar

Sección titulada «SVG con vista previa, y la consola de datos que se deja parar»

Los archivos .svg abren en una pestaña propia: el código a la izquierda (con Formatear para el XML que viene en una sola línea) y la vista previa en vivo a la derecha, con fondo a cuadros, zoom, arrastre, tamaño real, guardar con Ctrl+S, aviso de SVG inválido y Exportar PNG a 1x, 2x o 4x. En Base de datos, las duraciones ya se leen («1 m 35 s 525 ms» en vez de «95525 ms»), mientras corre una consulta la barra dice «Ejecutando… 0:05» con la rejilla anterior atenuada y el progreso por sentencia, y hay un botón Detener al lado del de ejecutar (Alt+Pausa o Escape) que cancela de verdad en SQL Server, PostgreSQL, MySQL y SQLite y deja la ejecución marcada como «Cancelada por el usuario».

Caja Fuerte de Claves: tus secretos nunca llegan a la IA

Sección titulada «Caja Fuerte de Claves: tus secretos nunca llegan a la IA»

Nuevo panel Caja Fuerte (candado junto a Skills y MCP). Guardas ahí contraseñas, tokens, claves SSH y datos de servidor (host, puerto, usuario y su contraseña o clave) cifrados con AES-256-GCM en .context/secretos/equipo.enc, con la maestra en el llavero del sistema. El agente pide autorización para usar un secreto, nunca su valor: la clave se inyecta al comando, a la cabecera HTTP o al servidor MCP de confianza sin pasar por el modelo, y todo lo que vuelve de una herramienta se tapa antes de llegar a la IA, así echo $TOKEN, env, cat .env o git remote -v con el PAT en la URL devuelven «secreto:id» en vez del valor. Si pegas una credencial en el chat, un aviso te ofrece guardarla y enviar solo la referencia; al abrir un .env o un appsettings.json con secretos, el editor te lo dice. Con validador de fortaleza (una clave como Ds910913@ sale marcada como débil), generador, «Probar conexión» para servidores, auditoría de usos y exportación cifrada de emergencia.

Cuando el proyecto abierto es el propio código de Context Code, el agente lo sabe: no puede cerrar ni matar la instancia en la que corre (ni con Acceso completo), y para probar cambios usa pnpm tauri:demo, que arranca una segunda instancia aislada con su propia configuración, título «Context Code Demo» y un badge ámbar para no confundirla con la tuya. En Configuración → General aparece la tarjeta Autoconstrucción con versiones, PID y el botón para abrir la demo.

Subagentes con el perfil o el modelo que tú digas

Sección titulada «Subagentes con el perfil o el modelo que tú digas»

«Lanza un agente de traducciones con el perfil DanielSalamanknf» o «con GLM» ya funciona: la herramienta de subagentes y cada paso del plan del orquestador aceptan perfil (por id, nombre legible o proveedor) y modelo, con la lista de tus perfiles conectados a la vista del agente. Lo que pides en el chat manda sobre el .md del agente, y este sobre la elección automática de Typesafe.

Una versión instalada tiene 2 días desde que se publica la siguiente para actualizarse; pasado el plazo se vuelve obligatoria. El aviso te dice cuántos días quedan. Esta 3.6.19 es la primera que lo aplica.

Compartir un chat: con un invitado o con todo el equipo

Sección titulada «Compartir un chat: con un invitado o con todo el equipo»

Dos formas nuevas de compartir una conversación, cada una con su dueño:

  • Con alguien de fuera, por el enlace web. En el menú del chat, Compartir este chat… genera un enlace (y su QR) que solo abre ese chat: eliges Solo ver o Puede escribir, cuánto dura (1 hora, 1 día, 7 días o hasta que lo revoques) y, si quieres, el nombre de la persona. Quien entra ve la conversación y, si le diste permiso, puede seguir trabajando; sus mensajes aparecen firmados como «Ana (invitada)». Las aprobaciones del agente siguen saliendo solo en tu escritorio, nunca al invitado, y los secretos de la Caja Fuerte van tapados. Todo lo demás de la app (otros chats, proyectos, proveedores, archivos) le responde «fuera de alcance». Los enlaces vivos se ven y se revocan desde el chat o desde el panel de Conexiones.
  • Con tu equipo, por el repositorio. Compartir con el equipo guarda el chat en .context/chats-compartidos/ como un archivo de una línea por turno, con el autor de cada uno, y a partir de ahí cada turno nuevo se añade solo. Al hacer push, el resto del equipo lo ve en la sección Compartidos del equipo del proyecto, en gris hasta que pulsa Activar: entonces lo sigue con su propio proveedor y modelo, y lo que escriba vuelve al repo. Git une las líneas de dos ramas sin conflicto (merge=union se configura solo). Sin servidor, sin internet y sin exponer nada; las credenciales que aparezcan se censuran al exportar.
  • Mucha menos memoria con varios chats abiertos. Cada chat arrancaba su propio juego completo de servidores MCP (archivos, git, SSH, correo…) y lo mantenía vivo hasta cerrar la app: con seis chats había seis copias de cada uno. Ahora cada servidor arranca una sola vez y lo comparten todos los chats del proyecto; solo el navegador de Playwright sigue siendo uno por chat. Un servidor se cierra cuando deja de usarlo el último chat.
  • Detener ya detiene de verdad lo que lanzas con F5 en el modo Developer. Antes solo cerraba el primer proceso (por ejemplo cmd o pnpm) y dejaba vivo el programa que había arrancado debajo (dotnet, node, el servidor de desarrollo), que seguía ocupando el puerto. Ahora se cierra el árbol completo.
  • Si el administrador fuerza la actualización de tu equipo, el aviso vuelve a aparecer aunque lo hubieras cerrado antes.
  • Ya no quedan procesos sueltos tras cerrar la app. Todo lo que Context Code arranca (servidores MCP, voz, servidores de lenguaje, herramientas, modelos locales) se cierra con ella, también si se cae o se reinicia para actualizarse. Antes podían quedarse vivos días enteros y, uno de ellos, agotar la memoria del equipo hasta que Windows empezaba a mostrar errores «0xc0000142» al abrir git, cmd o where. Lo que abres tú fuera de la app (navegador, Explorador, terminal, editor) sigue abierto al cerrarla.
  • Si un programa auxiliar no logra arrancar, la herramienta recibe el error al momento en lugar de quedarse esperando detrás de un cuadro de Windows, y cada comando lanza menos procesos intermedios.
  • Las pestañas de chat son más anchas (hasta 320 px) y se encogen por igual cuando hay muchas: ya se lee el proyecto y el nombre del chat.
  • Configuración → General ya no muestra la tarjeta «Autoconstrucción»: salía en todos los proyectos. Las reglas del agente sobre su propio código, el badge Demo y pnpm tauri:demo siguen igual.
  • Desde la web del túnel ya se pueden adjuntar imágenes y archivos: clip junto a Enviar, cámara en el teléfono, arrastrar y soltar sobre el chat y pegar con Ctrl+V; las fotos grandes se reducen antes de subir y los límites (8 archivos, 12 MB) se avisan antes de pasarse.
  • Al compartir con el equipo, si .context/ está ignorado en el repo la app te lo dice con la regla exacta y no comparte a medias.
  • El latido del agente ya no entra en tu chat de trabajo: usa su propio chat «Latido», se pospone si estás escribiendo y su «nada que avisar» no queda en el historial.
  • Las esperas de reintento de Anthropic, OpenAI y Codex (429, 529 «Overloaded» y 5xx) se ven en pantalla con la causa, la espera y el intento, como ya pasaba con Gemini.
  • En la lista de cambios del Git se recorta la carpeta y el nombre del archivo se ve siempre, como en GitHub Desktop.
  • Archivar un chat de la pestaña Chats ya no te manda a Proyectos: te quedas en el chat vecino de la misma lista y la pestaña solo cambia cuando abres un chat del otro tipo.
  • Duplicar en el menú contextual del explorador de archivos: crea la copia y la deja lista para renombrar.
  • Con Gemini API Key, cuando Google te limita la cuota (429 o 503) el reintento se ve en pantalla con la espera y el intento, y el error explica que es la cuota de la clave. Las conexiones HTTP se reutilizan entre peticiones.
  • Los servidores MCP que arrancan con npx o uvx usan los runtimes empaquetados, y los argumentos con < o > ya no rompen el comando en Windows.
  • El botón de Conversación ya no puede colgar la aplicación.
  • Multicursor en el compositor del chat, como en el editor de código.
  • El explorador de objetos de la base de datos se desplaza en horizontal.
  • La tarjeta de Linux Server de la página de descargas recupera sus instrucciones de instalación.
  • El build de desarrollo se aísla solo de la app instalada.
  • Windows, macOS y Linux de escritorio: la propia aplicación te avisa, la descarga y la verifica — ver Actualizaciones.
  • Servidores Linux: contextcode update, o el mismo curl … | bash de la instalación — ver Context Code desde la terminal.
  • Android: la app avisa de la versión nueva y te lleva a instalarla.