Skip to content

🖥️ Aplicación de Escritorio (Desktop)

La Aplicación de Escritorio de Context Code (apps/desktop) es un cliente gráfico premium nativo desarrollado con Tauri v2 y React. Está diseñada para actuar como una interfaz de usuario integrada, rápida y robusta, conectándose directamente al motor agentico local de la CLI.

A través de esta aplicación, puedes gestionar visualmente tus múltiples espacios de trabajo, seguir en tiempo real la línea temporal detallada de acciones del agente y orquestar subtareas complejas sin interactuar directamente con la consola de comandos de tu terminal.


🏗️ Arquitectura de Comunicación (NDJSON Stream)

A diferencia de la WebApp local que utiliza WebSockets en caliente, Context Code Desktop ejecuta el binario de la CLI context en segundo plano en modo headless y se comunica directamente a través de flujos estándar de datos estructurados:

mermaid
graph LR
    UI[Desktop UI React] <-->|NDJSON via stdin/stdout| Tauri[Tauri Rust Core]
    Tauri <-->|Proceso Headless| CLI[Context Code CLI]

Protocolo de Integración

Tauri levanta el subproceso de la CLI ejecutando los flags de flujo continuo de JSON:

text
context -p --output-format stream-json --verbose --input-format stream-json

La comunicación de entrada y salida se realiza mediante paquetes formateados en NDJSON (Newline Delimited JSON) que encapsulan las llamadas a herramientas, respuestas de chats, parches aplicados y eventos de depuración en la trama SDKUserMessage.


🎨 Características Destacadas

  • Gestión Visual de Workspaces: Panel lateral interactivo para listar, crear, renombrar y eliminar workspaces y proyectos de desarrollo locales.
  • Historial de Conversaciones Persistente: Motor de persistencia basado en una base de datos local SQLite en Tauri para guardar de forma local todo el historial de chats, turnos y archivos modificados entre sesiones.
  • Línea Temporal de Eventos (Timeline): Gráfico interactivo y secuencial que despliega cronológicamente cada acción del agente, llamadas a APIs del LLM, parches de archivos y ejecución de scripts.
  • Monitoreo de Sub-Agentes: Panel de desglose y monitoreo interactivo por task_id para ver el progreso de sub-agentes secundarios delegados a subtareas en paralelo.
  • Indicador de Salud de la CLI (cli_doctor): Monitoreo constante en la barra superior que verifica si el binario del CLI está en el PATH, su versión de release activa y el estado de tus credenciales locales de Anthropic o de OpenAI.

📦 Desarrollo y Compilación Local

Requisitos del Entorno

  • Node.js 18+ instalado en tu sistema.
  • Rust toolchain (Rustup, Cargo) estable en su última release.
  • CLI de Context Code instalado de forma global en tu máquina (para proveer el binario context en tu PATH de terminal).

Comandos de Ejecución

  1. Instalación de Dependencias:
    bash
    cd apps/desktop
    npm install
  2. Servidor de Desarrollo de Tauri: Levanta la interfaz web de React en Vite junto con el contenedor nativo de la ventana de Tauri de forma estable:
    bash
    npm run tauri:dev:stable
  3. Compilación de Distribución (Build): Genera el paquete ejecutable nativo empaquetado para tu sistema operativo (ej. .exe para Windows):
    bash
    npm run tauri:build:stable

⚠️ Limitaciones y Roadmap Activo

Al ser una herramienta en desarrollo activo dentro del ecosistema, ten en cuenta las siguientes consideraciones:

  1. Confirmaciones de Permisos: Para evitar bloqueos pasivos donde la CLI headless se quede esperando una confirmación manual por stdin, se recomienda configurar temporalmente la opción "Confirmations off" para aprobaciones rápidas.
  2. Selección de Proveedores: El selector de modelos y proveedores de inferencia en la UI es estético. Para cambiar de proveedor activo, ejecuta previamente context provider use <id> en tu terminal de desarrollo principal.

Desarrollado con pasión e Inteligencia Artificial.