Sobre el proyecto

QM es un arnés de agentes multijugador para el trabajo, disponible en Slack y en la web. En lugar de un único asistente personal, está diseñado para startups: cada empleado obtiene un espacio de trabajo aislado, y las personas también pueden colaborar con el agente en canales, mensajes grupales y proyectos. Cada persona y cada sala tiene su propia memoria con alcance definido, archivos, vista de llavero, permisos, crons, aplicaciones web y sandbox duradero. Características clave descritas en el README: - Alcances personales y compartidos: las personas personalizan el agente para sí mismas mientras siguen trabajando con él de forma colaborativa en canales de Slack y proyectos. - Slack y web: la misma identidad y configuración se mantiene entre Slack y la aplicación web. - Control de administración: configuración a nivel de organización, posturas de seguridad y uso compartido, y qué arneses y modelos están disponibles. - Aplicaciones web: crear aplicaciones internas personalizadas y publicarlas para las personas adecuadas. - Habilidades compartidas: las habilidades son propiedad del alcance y se pueden compartir mediante concesión, con promoción controlada por administradores a toda la organización y paquetes de habilidades importados desde repositorios git. - Trabajo en segundo plano: crons, watches y webhooks entrantes ejecutan trabajo mientras nadie está mirando. Los usos de ejemplo incluyen buscar juntos notas internas, correo electrónico, documentos, bases de datos y la web; crear y publicar aplicaciones internas; aprender un estilo de escritura a partir de envíos anteriores y clasificar una bandeja de entrada según un horario con etiquetas y borradores de respuesta; trabajar en un repositorio existente para ejecutar pruebas, abrir PRs, monitorear CI y revisar registros; y hacer seguimiento de un proyecto en un canal compartido con actualizaciones y seguimientos. Arquitectura: cada turno se ejecuta a través de un núcleo central sin interfaz que puede usar una variedad de modelos y arneses (Pi, OpenCode, Codex, Claude Code) para generar respuestas. Una capa de persistencia Postgres almacena datos de usuario, historial de sesiones y otro estado duradero. El agente tiene una superficie de herramientas pequeña y fija; una herramienta es `execute`, que ejecuta comandos en el sandbox aislado propio del alcance. La interfaz web y el panel de administración comparten un servicio; el portal y el broker de autenticación integrado opcional comparten otro. El núcleo ejecuta TypeScript en Node y usa Fastify para HTTP; el plugin de Slack usa Bolt; la interfaz web se compila con Vite y se renderiza con Lit. La configuración específica de la empresa vive en un directorio de despliegue validado y desplegado por la CLI `qm`. Los sustratos (arnés, almacén de sesiones, sandbox, memoria) están detrás de interfaces, y la memoria se puede enrutar por alcance a proveedores externos mientras se conserva un cuaderno integrado. Seguridad y secretos: el agente actúa como la persona para la que trabaja, con sus credenciales y permisos, y las acciones se auditan. Una organización elige una postura de seguridad que los alcances más estrechos solo pueden endurecer: Estricta (cada llamada a herramienta del arnés se pausa para aprobación humana excepto dos finalizadores de turno sin efecto), Automática (predeterminada; bloquea el acceso a redes privadas y usa un filtro de contenido cuando está configurado) y Peligrosa (sin filtrado de contenido ni barreras de aprobación de herramientas basadas en la postura). Una política de comandos predeclarada con reglas de aprobación y denegaciones estrictas se aplica en todas las posturas. La postura de uso compartido es independiente: Aislada (predeterminada) mantiene los recursos en su alcance a menos que se compartan explícitamente; Abierta permite que archivos personales, artefactos, habilidades y memoria con adhesión voluntaria se lean en una sala compartida con adhesión voluntaria bajo límites establecidos. SECURITY.md documenta el modelo de amenazas y las limitaciones conocidas. Despliegue: cree un repositorio de despliegue propiedad de la organización que dependa de `@yc-software/qm`, ejecute `qm init` con un slug de organización y un destino (fly o aws), luego instale y siga la habilidad de despliegue generada. Cada despliegue se ejecuta en la propia cuenta de nube del operador. La personalización se puede hacer a través del repositorio de despliegue (configuración, herramientas, habilidades, servicios) o manteniendo un fork del código fuente para cambios en QM mismo. El README también cubre la instalación gestionada de Slack mediante un servicio de alojamiento, incluidos variables de entorno y contratos de callback. Las contribuciones se aceptan como texto escrito por humanos en lugar de código: describa el cambio deseado en un archivo .txt o .md bajo adrs/. Las vulnerabilidades deben informarse de forma privada según SECURITY.md. QM está disponible bajo la Licencia MIT excepto donde se indique lo contrario.