Sobre o projeto
QM é um harness de agente multijogador para trabalho, disponível no Slack e na web. Em vez de um único assistente pessoal, é projetado para startups: cada funcionário recebe um espaço de trabalho isolado, e as pessoas também podem colaborar com o agente em canais, mensagens de grupo e projetos. Cada pessoa e cada sala tem sua própria memória com escopo, arquivos, visão de keychain, permissões, crons, aplicativos web e sandbox durável.
Principais recursos descritos no README:
- Escopos pessoais e compartilhados: as pessoas personalizam o agente para si mesmas enquanto ainda trabalham com ele de forma colaborativa em canais do Slack e projetos.
- Slack e web: a mesma identidade e configuração é mantida entre o Slack e o aplicativo web.
- Controle de administrador: configuração em nível de organização, posturas de segurança e compartilhamento, e quais harnesses e modelos estão disponíveis.
- Aplicativos web: crie aplicativos internos personalizados e publique-os para as pessoas certas.
- Habilidades compartilhadas: as habilidades pertencem a um escopo e podem ser compartilhadas por concessão, com promoção controlada por administradores para toda a organização e pacotes de habilidades importados de repositórios git.
- Trabalho em segundo plano: crons, watches e webhooks de entrada executam trabalho enquanto ninguém está observando.
Exemplos de uso incluem pesquisar notas internas, e-mail, documentos, bancos de dados e a web em conjunto; criar e publicar aplicativos internos; aprender um estilo de escrita a partir de envios anteriores e triar uma caixa de entrada em uma programação com rótulos e rascunhos de resposta; trabalhar em um repositório existente para executar testes, abrir PRs, monitorar CI e verificar logs; e acompanhar um projeto em um canal compartilhado com atualizações e acompanhamentos.
Arquitetura: cada turno passa por um núcleo central headless que pode usar uma variedade de modelos e harnesses (Pi, OpenCode, Codex, Claude Code) para gerar respostas. Uma camada de persistência Postgres armazena dados do usuário, histórico de sessão e outros estados duráveis. O agente tem uma superfície de ferramentas pequena e fixa; uma ferramenta é `execute`, que executa comandos no sandbox isolado do próprio escopo. A interface web e o painel de administração compartilham um serviço; o portal e um broker de autenticação integrado opcional compartilham outro. O núcleo roda TypeScript no Node e usa Fastify para HTTP; o plugin do Slack usa Bolt; a interface web é construída com Vite e renderizada com Lit. A configuração específica da empresa fica em um diretório de implantação validado e implantado pela CLI `qm`. Substratos (harness, armazenamento de sessão, sandbox, memória) ficam atrás de interfaces, e a memória pode ser roteada por escopo para provedores externos, mantendo um notebook integrado.
Segurança e segredos: o agente age como a pessoa para quem trabalha, com suas credenciais e permissões, e as ações são auditadas. Uma organização escolhe uma postura de segurança que escopos mais restritos só podem apertar: Strict (cada chamada de ferramenta do harness pausa para aprovação humana, exceto dois finalizadores de turno sem efeito), Auto (padrão; bloqueia acesso à rede privada e usa um filtro de conteúdo quando configurado) e Dangerous (sem triagem de conteúdo baseada em postura ou portões de aprovação de ferramentas). Uma política de comandos pré-declarada com regras de aprovação e negações rígidas se aplica em todas as posturas. A postura de compartilhamento é independente: Isolated (padrão) mantém os recursos em seu escopo, a menos que sejam explicitamente compartilhados; Open permite que arquivos pessoais, artefatos, habilidades e memória opt-in sejam lidos em uma sala compartilhada opt-in sob limites declarados. O SECURITY.md documenta o modelo de ameaças e limitações conhecidas.
Implantação: crie um repositório de implantação de propriedade da organização dependendo de `@yc-software/qm`, execute `qm init` com um slug de organização e destino (fly ou aws), depois instale e siga a habilidade de implantação gerada. Cada implantação roda na própria conta de nuvem do operador. A personalização pode ser feita por meio do repositório de implantação (configuração, ferramentas, habilidades, serviços) ou mantendo um fork do código-fonte para alterações no próprio QM. O README também aborda a instalação gerenciada do Slack por meio de um serviço de hospedagem, incluindo variáveis de ambiente e contratos de callback.
As contribuições são aceitas como texto escrito por humanos, não como código: descreva a mudança desejada em um arquivo .txt ou .md em adrs/. Vulnerabilidades devem ser relatadas de forma privada conforme o SECURITY.md. QM está disponível sob a Licença MIT, exceto onde indicado de outra forma.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.