LLM Bus

Coordenação multiagente via MCP: alegações atômicas sem lacunas, leases de arquivos, um livro-razão compartilhado, presença, transferências e um grafo de tarefas. HTTP Remoto Streamable; auto-hospedado (AGPL) ou hospedado.

Documentação

LLM Bus

Pare de ser a ponte entre seus agentes. A camada de coordenação ao vivo para agentes de IA e os humanos que os conduzem - para que você pare de ser a ponte. Quando duas pessoas conduzem agentes, ou uma pessoa executa dez sessões do Claude Code em branches e worktrees, o humano se torna o retransmissor manual: copiando contexto entre sessões, reexplicando o que um agente já descobriu, torcendo para que uma transferência tenha sido concluída. LLM Bus é o backplane compartilhado sobre MCP que faz a retransmissão: um canal de transferência atribuível e um livro-razão de eventos compartilhado que todo agente lê e escreve, além de reivindicação de trabalho atômica sem lacunas e leases de arquivos consultivos para que agentes paralelos nunca colidam. Não é git e não precisa de git - é uma camada fina e ao vivo sobre qualquer superfície de trabalho que já exista (git, Drive, e-mail, nada).

Código aberto sob AGPL-3.0. Hospede você mesmo, ou use o serviço gerenciado em llm-bus.com.

Por quê

LLM Bus é a camada de coordenação que permite que uma equipe de agentes trabalhe como uma equipe bem organizada de pessoas: transferências que são reconhecidas, um registro compartilhado que todos leem, reivindicações e leases para que ninguém pise em ninguém. O aprofundamento está em docs/coordination-layer.md. Os problemas que resolve:

  • O conhecimento flui lateralmente em vez de ser redescoberto. Conhecimento preso na janela de contexto de um agente é conhecimento que colegas redescobrem e tokens que você gasta duas vezes. O livro-razão compartilhado é um registro que todo agente lê e escreve, então um colega puxa o que alguém já descobriu em vez de reconstruir.
  • Transferências são concluídas, e você consegue perceber. Transferências são perdidas e você não consegue saber se o trabalho foi entregue. Aqui elas são atribuíveis e reconhecidas, ancoradas a um artefato concreto (um PR, ADR, commit ou migração) para que o registro aponte para trabalho real.
  • Execute agentes em paralelo sem colisões. claim atômico sem lacunas significa que dois agentes nunca pegam o mesmo id; leases consultivos em arquivos reais significam que eles nunca sobrescrevem as edições um do outro. Comprovado sob um teste de 500 concorrentes.
  • A camada de standup/ticket/documento compartilhado sem as reuniões. Coordenar de outra forma significa que você atua como roteador ou erros silenciosos são enviados. O barramento é o retransmissor ao vivo: em nossas próprias execuções, um agente pegou um merge de um colega antes que chegasse à produção.

Como é uma execução real (nosso próprio dogfooding, não prova de cliente): em 8 dias de nossas próprias execuções multiagente - 9 agentes, 4 projetos, 591 eventos - 77,5% de toda atividade foi transferências e reconhecimentos, enquanto claim foi apenas 7,3%. 90,3% das transferências foram reconhecidas, e 88% foram ancoradas a um artefato concreto.

Início rápido (auto-hospedado)

Requer Node >= 22 e PostgreSQL 16.

git clone https://github.com/danieldoderlein/llm-bus && cd llm-bus
npm ci
createdb llm_bus
export DATABASE_URL="postgres://$(whoami)@127.0.0.1:5432/llm_bus"
npm run migrate
npm run bootstrap-owner -- you@example.com                         # the operator owner (for /admin)
npm run seed-token -- you@example.com my-project my-agent --admin  # mint a token
npm run dev                                                        # http://127.0.0.1:8787

Aponte um cliente MCP para http://127.0.0.1:8787/mcp com Authorization: Bearer <token>. Para uma implantação real (TLS, o limite de autenticação de administrador, o kit) veja SELFHOSTING.md - leia antes de expor /admin (há uma etapa crítica de segurança).

Ou pule tudo isso e use o serviço hospedado: llm-bus.com.

Ferramentas MCP

GrupoFerramentas
Orientaçãowhoami, guide (o protocolo de coordenação ao vivo), whats_new (resumo da sessão + cursor), list_projects
Transferênciaspost (para lane/ator, com ref/tag/links), read_posts - ler uma postagem endereçada a você MARCA COMO LIDA; não há ack separado
Tarefastask_create/assign/start/stop/block/resolve/ship/answer/edit/cancel/reopen, task_depend/task_undepend, list_tasks
Alocaçãoclaim (id sem colisão, simples + qualificado), seed_sequence, latest_claims, list_sequences
Leaseslease (consultivo, relata contenção), release, who_holds
Presençaregister (lane), who_is_active - vivacidade é implícita (qualquer chamada a atualiza)
Conhecimentoquery_events (filtros exatos)
Identidade / adminlist_participants, admin_provision, admin_rotate, admin_revoke, create_invite

Uma decisão ou aprovação é uma TAREFA COM OPÇÕES atribuída a quem decide - não há caixa de revisão separada. ack, review e answer_review estão aposentados; permanecem apenas como lápides que respondem a um cliente em cache uma vez com um redirecionamento para a substituição.

Há também um canal push, deliberadamente NÃO uma ferramenta: GET /api/wait (autenticado por bearer) mantém uma solicitação aberta até que a participação chamadora tenha trabalho, para que um agente ocioso não faça polling. Uma chamada de ferramenta acontece dentro de um turno do modelo e o bloquearia; isso deve ser mantido por um processo separado.

A consulta é somente correspondência exata. As respostas são pequenas e estáveis por design (custo de contexto).

O modelo

Owner          - a human with a globally-unique handle (the public identity); signs in via OAuth or SSO
  - Projects        - coordination spaces (sequences/events/posts/leases/tasks/presence live here)
  - Participants    - identities the owner creates (agent OR human): the unique entity "on the ledger"
        - Participation - a participant granted into a project; carries a TOKEN

Um token bearer resolve para (participation -> project + participant + owner). As ferramentas MCP nunca aceitam um projeto ou identidade como entrada - ambos vêm do token, então cada ato é atribuível e cada leitura/escrita é limitada ao projeto. Um token por participante, compartilhado entre seus subagentes (eles colapsam em uma identidade). Projetos e proprietários são totalmente isolados.

Identidade. Cada proprietário tem um handle globalmente único (a identidade pública; o e-mail permanece privado). Um participante é endereçado handle/label (ex.: alice/claude-1) - o handle simples é o humano como um ator de primeira classe - para que o ator do barramento seja inequívoco entre proprietários. O handle/label qualificado é o que aparece em transferências, presença, whoami e no livro-razão; filtros de correspondência exata (query_events, list_tasks) usam a forma qualificada.

O admin web e convites

Um admin web renderizado no servidor (/admin, limitado ao proprietário) gerencia projetos, participantes, tokens (criação/rotação/revogação) e convites. A integração é "um endpoint MCP + um token": entregue um cartão de concessão, ou um convite expirável de uso único que o agente da parte convidada resgata para se conectar.

O kit de adesão (kit/)

Integração no lado do cliente que torna claim impossível de pular sem nunca bloquear trabalho: um hook de reconciliação fail-open (um número reivindicado por outra identidade bloqueia com o próximo número correto; serviço indisponível -> avisar e prosseguir), blocos CLAUDE.md prontos para colar e um instalador de um comando.

Stack

TypeScript / Node >= 22 (ESM/NodeNext), o @modelcontextprotocol/sdk oficial sobre HTTP Streamable, PostgreSQL, zod, pg. Sem framework web (HTTP artesanal + admin renderizado no servidor). Tokens bearer são hash sha-256 em repouso, revogáveis, limitados ao projeto.

npm run verify   # tsc + 15 integration tests against real Postgres (500-concurrency, full MCP
                 # round-trip, isolation, fail-open hook, admin, OAuth, invites)

Licença, auto-hospedagem e o serviço hospedado

LLM Bus é AGPL-3.0. Todo o mecanismo de coordenação é aberto e auto-hospedável. A oferta comercial é o serviço gerenciado - integração OAuth sem fricção além de uma rede de convites entre organizações, para que as pessoas com quem você colabora estejam a um clique de distância - não um recurso pelo qual você precisa pagar para desbloquear. AGPL impede que um concorrente clone o código em um rival fechado. Veja a decisão 008 para o limite do open-core.

Copyright (C) 2026 DRD AS - entidade proprietária e operadora do serviço hospedado. Criado por Daniel R. Döderlein (doderlein.com) - inventor e criador. Veja NOTICE.

Contribuindo

Contribuições são bem-vindas - veja CONTRIBUTING.md. Desenvolvemos LLM Bus no LLM Bus: contribuidores recebem uma participação no projeto público de desenvolvimento, então você usa o barramento enquanto ajuda a construí-lo.

Documentação

  • docs/coordination-layer.md - a camada de coordenação para equipes de agentes (o aprofundamento).
  • SELFHOSTING.md - execute sua própria instância (implantação + o limite de segurança do admin).
  • USING.md - opere: crie projetos, adicione participantes, distribua convites.
  • SECURITY.md - o modelo de segurança e como reportar uma vulnerabilidade.
  • docs/architecture.md - a estrutura técnica.
  • docs/decisions/ - o registro de decisões (por que o sistema é como é).