Handoff entre agentes — continue seu trabalho em qualquer ferramenta de IA sem perder o contexto.
Read in English
O BriefBridge lê os dados de sessão locais do GitHub Copilot Chat, Claude Code e Codex, extrai contexto estruturado — objetivos, arquivos editados, erros, decisões, pendências — e gera um bloco pronto para colar em qualquer outra ferramenta.
Todos os clientes compartilham o mesmo backend MCP. Só a interface muda.
Quando você troca de ferramenta de IA no meio de uma tarefa, perde todo o contexto. Precisa re-explicar o objetivo, re-listar os arquivos alterados e re-descrever cada erro que encontrou. O BriefBridge automatiza essa transferência.
- 🔍 Lê os arquivos de sessão locais de cada ferramenta (sem chamadas de API, nada sai da sua máquina)
- 🧠 Extrai objetivo, hipótese, arquivos, erros, comandos, decisões e pendências
- 📦 Empacota tudo em um bloco de handoff estruturado em segundos
- 🔌 Funciona como CLI, extensão do VS Code ou servidor MCP — escolha o que faz sentido para você
$ bb use codex:019cdf99 --mode compact
[BriefBridge Handoff — codex]
Objective: Adicionar cadastro manual de usuários no painel admin
Key files:
- src/admin/users.py
- src/auth/signup.py
Errors: IntegrityError: UNIQUE constraint failed: users.email
Pending: Testar fluxo com usuário duplicado
Cole esse bloco no início da próxima mensagem e você volta ao trabalho imediatamente.
- Como funciona
- Instalação
- GitHub Copilot / VS Code
- Claude Code
- Codex
- Referência da CLI
- Ferramentas MCP
- Desenvolvimento
┌─────────────────────────────────────────────────────┐
│ bb-mcp (STDIO) │
│ bb_sessions_list bb_session_inspect │
│ bb_session_pack bb_session_use │
│ bb_session_search │
└──────────────────────┬──────────────────────────────┘
│
┌───────────▼───────────┐
│ núcleo briefbridge │
│ adapters / extract │
│ storage / render │
└───────────┬───────────┘
^ ^ ^
~/.claude/ ~/.codex/ %APPDATA%\Code\User\workspaceStorage\
Cada ferramenta salva suas sessões localmente no disco. O BriefBridge sabe onde cada uma guarda esses arquivos e os lê diretamente — sem precisar de API, token ou conexão com a internet.
| Ferramenta | Onde os dados ficam |
|---|---|
| Claude Code | ~/.claude/projects/*/ |
| Codex | ~/.codex/sessions/YYYY/MM/DD/ |
| GitHub Copilot | %APPDATA%\Code\User\workspaceStorage\ (Windows) |
src/briefbridge/
├── cli.py # CLI Typer — bb, briefbridge, bb-mcp
├── mcp_server.py # Servidor FastMCP — 5 ferramentas via STDIO
├── config.py # Detecção de caminhos por plataforma
├── adapters/ # Um adapter por provedor
│ ├── claude.py # Lê ~/.claude/
│ ├── codex.py # Lê ~/.codex/
│ └── copilot.py # Lê workspaceStorage do VS Code
├── extract/
│ ├── deterministic.py # Arquivos, erros, comandos, repositório
│ └── heuristic.py # Objetivo, hipótese, decisões, TODOs
├── ingest/ # Orquestra adapter -> extract -> pack
├── models/ # Modelos Pydantic v2 (HandoffPack, RawSession...)
├── render/ # Saída JSON, Markdown, texto simples
├── services/ # Lógica de sessões, handoff, busca
├── storage/ # Cache SQLite FTS5
└── wrappers/ # Helpers de instalação por cliente
├── claude.py # Comandos slash /bb:*
├── codex.py # Skill $briefbridge
└── copilot.py # Helper de config MCP
Requisitos: Python 3.12+
git clone https://github.com/TiagoSchr/briefbridge.git
cd briefbridge
pip install -e .Verificar se instalou:
bb --help
bb sessionsO BriefBridge inclui uma extensão para o VS Code com o participante de chat @bb.
Compile e instale a extensão a partir do código-fonte:
cd vscode-ext
npm install
npm run package # gera briefbridge.vsix
code --install-extension briefbridge.vsixReinicie o VS Code e use no painel de chat do Copilot:
@bb /sessions
@bb /sessions claude # filtrar por provedor
@bb /inspect <session_id>
@bb /use <session_id>
@bb /pack <session_id>
Requer VS Code com GitHub Copilot Chat e suporte experimental a MCP habilitado.
Passo 1 — Execute o helper de instalação:
bb wrapper install --client copilotIsso escreve automaticamente o bloco correto no settings.json do VS Code:
{
"github.copilot.chat.experimental.mcp": {
"servers": {
"briefbridge": {
"command": "bb-mcp",
"args": [],
"type": "stdio"
}
}
}
}Passo 2 — Reinicie o VS Code. O Copilot Chat terá acesso a todas as 5 ferramentas do BriefBridge.
bb wrapper install --client claudeIsso cria ~/.claude/commands/bb/ com os arquivos sessions.md, inspect.md, pack.md, use.md e search.md.
Reinicie o Claude Code e use:
/bb:sessions
/bb:inspect <session_id>
/bb:pack <session_id>
/bb:use <session_id>
/bb:search <consulta>
Adicione em ~/.claude.json (ou nas configurações do projeto em .claude/settings.json):
{
"mcpServers": {
"briefbridge": {
"command": "bb-mcp",
"args": []
}
}
}Com o MCP configurado, o Claude Code chama as ferramentas diretamente sem precisar executar comandos shell.
bb wrapper install --client codexIsso cria a skill briefbridge em ~/.agents/skills/briefbridge/SKILL.md.
Reinicie o Codex. Digite $briefbridge no compositor para ativá-la, ou pergunte sobre sessões naturalmente — o Codex ativará a skill automaticamente.
Adicione em ~/.codex/config.toml:
[mcp_servers.briefbridge]
command = "bb-mcp"
args = []Com o MCP configurado, o Codex chama as ferramentas diretamente em vez de executar comandos shell.
# Listar sessões
bb sessions # todas as sessões recentes
bb sessions --last 24h # últimas 24 horas
bb sessions --last 7d # últimos 7 dias
bb sessions --provider claude # filtro: copilot | claude | codex
bb sessions --repo auto # filtrar pelo repositório git atual
bb sessions --json # saída JSON
# Inspecionar uma sessão
bb inspect <session_id>
bb inspect <session_id> --json
# Gerar pacote de handoff
bb pack <session_id>
bb pack <session_id> --json
# Bloco de contexto pronto para colar
bb use <session_id> # compacto (padrão)
bb use <session_id> --mode full # tudo
bb use <session_id> --mode goal,files,errors # combinar seções
# Exportar para arquivo
bb export <session_id> --format json
bb export <session_id> --format md
# Buscar dentro de sessões
bb ask <session_id> "quais erros encontramos?"
# Instalar wrappers
bb wrapper install # todos os clientes
bb wrapper install --client claude
bb wrapper install --client codex
bb wrapper install --client copilot
# Iniciar servidor MCP
bb-mcp
bb mcp # mesmo, via CLI bb| Modo | O que você recebe |
|---|---|
summary |
Resumo em um parágrafo |
goal |
Só o objetivo |
hypothesis |
Só a hipótese principal |
files |
Arquivos alterados com funções inferidas |
errors |
Erros com trechos do log |
commands |
Comandos executados com códigos de saída |
decisions |
Decisões tomadas com nível de confiança |
todos |
Pendências com prioridade |
compact |
objetivo + hipótese + top arquivos + erros + pendências (padrão) |
full |
Tudo |
O BriefBridge expõe 5 ferramentas via protocolo MCP (transporte STDIO).
Registre bb-mcp como servidor MCP em qualquer cliente compatível.
Input: { "hours": 24, "repo": "auto", "provider": "any" }
Output: { "sessions": [{ "id", "provider", "time", "repo", "files_count", "title", "status" }] }Input: { "session_id": "codex:019cdf99" }
Output: { "id", "provider", "repo", "branch", "objective", "main_hypothesis",
"relevant_files", "errors_found", "important_commands",
"decisions_made", "pending_items" }Input: { "session_id": "...", "mode": "compact" }
Output: { "handoff_id", "markdown", "plain_text", "json": { ... } }Input: { "session_id": "...", "mode": "compact" }
Output: { "context_block": "string pronta para colar" }Input: { "query": "bug no login", "hours": 72, "provider": "any", "repo": null }
Output: { "matches": [{ "session_id", "provider", "score", "snippet" }] }pip install -e ".[dev]"
# Rodar todos os testes
pytest tests/ -v
# Testes do servidor MCP
pytest tests/test_mcp_server.py -v
# Testes dos wrappers
pytest tests/test_wrappers/ -v- Python 3.12+, Pydantic v2, Typer, Rich, FastMCP (SDK
mcp) - Sem chamadas a APIs externas — tudo é leitura de arquivos locais
- Adapters retornam resultados vazios/parciais quando dados do provedor não existem
- Todo output no terminal usa
sys.stdout.buffercom UTF-8 explícito para compatibilidade no Windows
- Crie um adapter em
src/briefbridge/adapters/<provedor>.pyimplementandoBaseAdapter - Registre em
src/briefbridge/adapters/registry.py - Adicione fixtures em
tests/fixtures/<provedor>/ - Adicione testes em
tests/test_adapters/test_<provedor>.py
MIT — veja LICENSE.
Feito com ☕ por TiagoSchr