Sobre el proyecto

StarNet es una aplicación de escritorio local-first que te permite crear agentes de IA, organizarlos en una estación espacial de pixel-art y verlos realizar trabajo real usando modelos y herramientas reales. La estación no es meramente decorativa; es una proyección en vivo del estado de ejecución donde las salas representan equipos con alcance de capacidades, los pasillos son carriles de transferencia autorizados y los objetos colocados son concesiones reales de capacidades. Las capacidades clave incluyen: - Crear múltiples agentes con clases, personalidades y equipamientos distintos, cada uno ejecutándose simultáneamente en su propio espacio de trabajo con permisos limitados. - Usar tus propias claves de API (OpenRouter, Anthropic, OpenAI, Google) almacenadas de forma segura en el llavero del sistema operativo; el frontend nunca contiene secretos. - Conectar agentes a plataformas de mensajería como Telegram, Discord, Slack, Signal o Matrix para interacción remota. - Usar modelos locales mediante Ollama sin ninguna clave de API ni costo. - Programar tareas con cron, lanzar recetas de varios pasos y otorgar habilidades reutilizables. - Hacer preguntas aclaratorias a través de Task Briefs en lugar de adivinar. - Entregar el trabajo terminado como archivos reales en un directorio OUTBOX. - Adjuntar servidores Model Context Protocol (MCP) y conectores de pegar-una-clave/OAuth para extender las capacidades de los agentes. - Dictado de voz push-to-talk y una salida de voz consistente de la estación. - Registros persistentes en disco para gastos, presupuestos, historial de tareas y programaciones. La arquitectura separa responsabilidades: - `frontend/`: mundo de la estación en JavaScript vanilla y UI de escritorio. - `sidecar/`: runtime local de agentes en Node.js que gestiona proveedores, herramientas, persistencia, presupuestos y consentimiento. - `shared/`: contratos de eventos y esquemas entre fronteras. - `src-tauri/`: shell de escritorio en Rust/Tauri y runtime empaquetado. - `test/` y `qa/`: pruebas unitarias, de contrato, de integración y de puerta de release, además de recibos de QA en vivo. El tren de releases públicos admite Windows 10/11 (64 bits) y macOS (Apple Silicon e Intel). Los paquetes de Linux son artefactos de compilación internos y no un objetivo público soportado. Las compilaciones de escritorio se publican en la página de releases de GitHub. Para ejecutar desde el código fuente, necesitas Node.js 18+ (Node.js 22 coincide con CI), Git y, opcionalmente, Rust y los requisitos previos de Tauri para el shell de escritorio. El sidecar puede iniciarse directamente con `node sidecar/index.js`, luego abre http://localhost:8787 en un navegador. Para desarrollo, usa `npm run desktop:dev` y `npm run desktop:build`. Las pruebas se realizan mediante scripts de npm: `npm run test:fast` (puerta de merge requerida), `npm run test:http` (suite HTTP/E2E del sidecar en vivo), `npm test` (validación completa) y `npm run security:secrets` (escaneo de secretos en todo el historial). La preparación para release se valida con `npm run qa:ready`. Las contribuciones son bienvenidas; consulta CONTRIBUTING.md y el Código de Conducta. Las vulnerabilidades de seguridad deben reportarse de forma privada según SECURITY.md. El proyecto es de código abierto bajo la Licencia MIT. La licencia cubre solo el código; el nombre StarNet, el logotipo, el arte de la estación y la identidad de marca son propiedad de Andrew Sims y no están licenciados con el código. Los forks deben usar su propio nombre, logotipo y arte y no pueden presentarse como StarNet ni como respaldados por el proyecto.