Second Opinion MCP
Consulte múltiplos modelos de IA, incluindo serviços locais, em nuvem e empresariais, para obter perspectivas diversas sobre um tópico.
Documentação
Second Opinion
O Second Opinion transforma agentes de codificação de IA instalados em equipes de trabalho paralelas e controláveis, que atuam uns para os outros. Ele lida com implementação, testes, investigação, revisão, documentação e trabalho de integração — não apenas revisão de código.
Tarefas em segundo plano abrem uma janela separada e leve do gerenciador de tarefas nativo por padrão. Ela mostra todas as tarefas ativas do Second Opinion — até mesmo tarefas iniciadas por outro agente de codificação — e permite que você direcione o trabalho, envie mensagens de acompanhamento, escolha o modelo para a próxima etapa, pare ou tente novamente uma execução e arquive tarefas concluídas. O gerenciador é construído com o kit de ferramentas nativo Tk do Python, em vez de Electron, um navegador ou um servidor sempre ativo, então ele inicia rapidamente e mantém o uso de memória baixo no macOS, Windows e Linux.
Claude Code orquestrando dois workers de revisão Grok 4.5 no gerenciador de tarefas nativo. Cada worker tem uma função independente e contexto nativo do Grok Build, com controles de modelo e esforço, saída ao vivo, mensagens de acompanhamento, nova tentativa, parada e ações de arquivamento em um só lugar.
Por exemplo, o Claude Code pode orquestrar cinco novos workers do Codex usando GPT-5.6 Luna em xhigh: um implementa, um escreve testes, dois inspecionam riscos diferentes e um lida com a integração. A Luna pode tornar esse pool muito mais barato enquanto o trabalho paralelo melhora a produtividade. A direção é completamente reversível: o Codex pode orquestrar workers do Claude Sonnet 5, workers do Grok 4.5 por meio do Grok Build, ou qualquer modelo suportado que o harness selecionado possa acessar. Cada worker mantém a autenticação, o acesso a modelos, as ferramentas e o comportamento de segurança do CLI nativo.
O Second Opinion é agnóstico em relação a modelos. Ele roteia entre superfícies de agentes instaladas e a configuração existente de modelo/provedor do usuário, em vez de fixar um único modelo. As habilidades geradas ensinam cada agente pai a raciocinar sobre quando outro chat é útil, quais capacidades mais fortes do agente se encaixam no cenário e quando uma nova passagem de contexto com o mesmo agente é a única opção sensata.
Para o Claude Code, o Second Opinion usa o modo claude -p não interativo documentado. Aliases de modelo ou nomes completos de modelo ainda são passados para o Claude Code com --model.
Instalação
Instalador CLI interativo:
curl -fsSL https://second-opinion.ssh.codes/install.sh | bash
Instalar todas as habilidades de agente detectadas sem prompts:
curl -fsSL https://second-opinion.ssh.codes/install.sh | bash -s -- --yes
Instalar todos os arquivos de habilidade suportados:
curl -fsSL https://second-opinion.ssh.codes/install.sh | bash -s -- --all --yes
Instalar uma integração de agente específica:
curl -fsSL https://second-opinion.ssh.codes/install.sh | bash -s -- --agent codex --yes
curl -fsSL https://second-opinion.ssh.codes/install.sh | bash -s -- --agent claude --yes
curl -fsSL https://second-opinion.ssh.codes/install.sh | bash -s -- --agent opencode --yes
curl -fsSL https://second-opinion.ssh.codes/install.sh | bash -s -- --agent grok --yes
curl -fsSL https://second-opinion.ssh.codes/install.sh | bash -s -- --agent antigravity --yes
Instalar em outra máquina via SSH:
ssh dev@server 'curl -fsSL https://second-opinion.ssh.codes/install.sh | bash -s -- --all --yes'
Atualizar uma instalação existente quando uma versão mais recente for publicada:
second-opinion update
second-opinion update baixa o CLI mais recente de https://second-opinion.ssh.codes, substitui o binário local somente quando a versão publicada é mais recente e atualiza os arquivos de habilidade existentes gerenciados pelo Second Opinion. Use second-opinion update --all-skills para atualizar todos os arquivos de habilidade suportados ou second-opinion update --force para reinstalar a versão publicada de qualquer forma.
O Que É Instalado
O instalador adiciona o CLI second-opinion a ~/.local/bin e grava apenas arquivos de habilidade de propriedade do Second Opinion:
| Agente | Arquivo gravado |
|---|---|
| Codex | ~/.agents/skills/second-opinion/SKILL.md |
| Claude Code | ~/.claude/skills/second-opinion/SKILL.md |
| OpenCode | ~/.config/opencode/skills/second-opinion/SKILL.md |
| Grok Build | ~/.grok/skills/second-opinion/SKILL.md |
| Google Antigravity | ~/.gemini/antigravity/skills/second-opinion/SKILL.md |
O Second Opinion não edita configurações de modelo, credenciais de provedor, hooks, servidores MCP, permissões ou configuração de aplicativos. Se um desses arquivos de habilidade já existir e não tiver sido gerado pelo Second Opinion, o instalador o ignora, a menos que você passe --force.
Uso
De qualquer shell:
second-opinion status
second-opinion ask auto --from codex --cwd "$PWD" --mode consult --background -- "Review this change and call out risks."
second-opinion ask claude --from opencode --cwd "$PWD" --mode consult --background -- "Find edge cases in the parser."
second-opinion ask claude --from codex --cwd "$PWD" --model fable --mode consult --background -- "Review this design using Claude Code's selected model."
second-opinion ask grok --from claude --cwd "$PWD" --background -- "Implement only the README command table."
second-opinion jobs
second-opinion wait JOB_ID
As habilidades instaladas ensinam cada agente a iniciar subagentes em segundo plano por padrão. Isso permite que o agente pai continue seu próprio trabalho não sobreposto enquanto o subagente é executado. Depois, o pai executa second-opinion wait JOB_ID para coletar a saída do subagente.
Criação de Imagens Nativas
O Second Opinion pode pedir a um harness de codificação que use uma ferramenta de geração de imagens que ele já expõe. O modelo do gerenciador primeiro descobre harnesses elegíveis e depois solicita um artefato raster real com um contrato de saída estrito:
second-opinion image-tools --available --json
second-opinion image auto \
--from claude \
--cwd "$PWD" \
--reference screenshots/current-home.png \
--output design/homepage-concept.png \
--background \
--manager none \
-- "Overhaul this homepage into a deliberate, distinctive product design."
A capacidade integrada imagegen / image_gen do Codex é detectada automaticamente. image-tools --json relata opções de gerador nativas do provedor (provider-default quando o harness não expõe uma lista de modelos). --reference é repetível; Codex e OpenCode recebem referências por meio de suas flags nativas de imagem/arquivo, enquanto outros harnesses recebem caminhos locais legíveis e acesso a diretórios adicionais quando suportado. Um alvo explícito também pode tentar uma ferramenta de provedor que não pode ser detectada estaticamente. Declare essa ferramenta existente para roteamento auto com SECOND_OPINION_IMAGE_TOOLS=claude=CreateImage,opencode=imagegen; opcionalmente, anuncie geradores selecionáveis com SECOND_OPINION_IMAGE_MODELS='claude=canvas-v2|canvas-fast'.
O Second Opinion não gera os pixels em si, não instala uma ferramenta de imagem, não solicita credenciais nem lida com chaves de API de imagem. O harness de codificação selecionado usa sua autenticação existente, ferramentas nativas, acesso a modelos e política de segurança. O comando falha quando o artefato solicitado está ausente, vazio, inalterado ou não é um PNG, JPEG, WebP ou GIF válido, para que um orquestrador não possa entregar acidentalmente um "design" somente de texto ao seu worker de implementação.
Isso permite a transferência exata de design sugerida no feedback: gere uma direção visual primeiro, inspecione-a e depois entregue o artefato e as restrições originais a um worker com forte design, como o Claude Opus:
second-opinion wait IMAGE_JOB_ID
second-opinion ask claude --from codex --model opus --reasoning high --cwd "$PWD" --background -- \
"Implement the approved design in design/homepage-concept.png. Preserve accessibility and responsive behavior."
Use --model para selecionar o modelo de codificação que supervisiona a tarefa de imagem. Use --image-model somente quando a ferramenta de imagem nativa já expõe um gerador específico. Os arquivos gerados devem permanecer dentro de --cwd, artefatos existentes exigem --force e o uso normal de ask/team permanece inalterado.
Equipes de Trabalho Paralelas
second-opinion team inicia um processo de harness nativo independente e contexto novo para cada worker. O pai permanece como orquestrador e pode continuar trabalhando, direcionar cada tarefa, alterar o modelo/esforço da próxima etapa e sintetizar os resultados.
Claude Code orquestrando cinco workers do Codex de menor custo:
second-opinion team codex \
--from claude \
--count 5 \
--strategy balanced \
--model gpt-5.6-luna \
--reasoning xhigh \
--cwd "$PWD" \
-- "Implement the feature, add tests, inspect risks, and prepare integration in parallel."
Codex orquestrando workers do Claude ou Grok funciona da mesma forma:
second-opinion team claude --from codex --count 5 --strategy build --model claude-sonnet-5 --reasoning xhigh -- "Build these non-overlapping slices."
second-opinion team grok --from codex --count 5 --strategy review --model grok-4.5 --reasoning high --manager terminal -- "Review from five distinct angles."
As estratégias integradas são:
build: implementação principal, testes, endurecimento de casos extremos, desempenho/ferramentas e integração/documentação.review: revisão de correção, segurança, testes, desempenho e produto/integração; workers usam modo de consulta por padrão.balanced: uma mistura de implementação, testes, revisão independente, revisão de segurança/desempenho e integração/documentação.
Repita --role "..." para fornecer atribuições personalizadas de workers. Use --mode work ou --mode consult para forçar todos os workers ao mesmo modo. O CLI aceita de 1 a 32 workers, registra a equipe/função/índice em cada tarefa, abre apenas um gerenciador e retorna imediatamente enquanto todos os workers são executados em paralelo. second-opinion wait TEAM_ID coleta toda a equipe; second-opinion jobs --team TEAM_ID lista apenas esse pool.
Os valores de modelo e esforço passam pelo harness especializado: Codex usa codex exec e sua configuração de raciocínio, Claude Code usa claude -p --effort, OpenCode usa opencode run --variant, Grok Build usa grok -p --reasoning-effort e Antigravity usa agy --effort. Disponibilidade e níveis de esforço aceitos permanecem controlados por cada CLI de provedor instalado.
Edição paralela precisa de decomposição deliberada. As funções integradas incluem instruções de prevenção de colisão, mas atribuições personalizadas de arquivos ou subsistemas não sobrepostos são as mais seguras. Os workers são instruídos a reler arquivos antes de editar e nunca descartar alterações concorrentes.
Benchmarks de Modelos e Harnesses Sem Chave
O modelo do gerenciador pode consultar dados públicos atuais do Artificial Analysis antes de escolher os workers. Isso funciona sem chave de API do Artificial Analysis, conta, login, dependência ou configuração:
second-opinion benchmarks --kind models --sort coding --max-cost 0.50 --limit 12
second-opinion benchmarks --kind models --sort agentic --min-intelligence 45 --json
second-opinion benchmarks --kind agents --sort agent-score --max-cost 3 --json
second-opinion benchmarks --kind all --limit 10 --json
Os resultados do modelo expõem os índices de Inteligência, Codificação e Agente do Artificial Analysis; custo médio e tempo por tarefa do Índice de Inteligência; preços de tokens do modelo; e velocidade quando publicados. --kind agents expõe o Índice de Agente de Codificação do Artificial Analysis específico do harness, além do custo médio, tempo, etapas e tokens da tarefa de codificação. Isso importa porque a pontuação de um modelo e uma combinação específica de modelo+harness são decisões diferentes.
Os resultados públicos são armazenados em cache em ~/.second-opinion/cache/ por seis horas para manter a inicialização rápida e o uso de rede pequeno. Use --refresh para buscar imediatamente ou --offline após a primeira busca. A saída humana e em JSON preservam a atribuição visível do Artificial Analysis e as URLs de origem. As pontuações de benchmark são evidências de roteamento, não garantias; o orquestrador também deve considerar a adequação da tarefa, CLIs instalados, assinaturas disponíveis e os IDs exatos de modelo que cada harness aceita.
O gerenciador nativo abre por padrão para uma tarefa em segundo plano. Escolha um gerenciador de terminal separado ou nenhuma janela por execução:
second-opinion ask codex --background --manager app -- "Review the API changes."
second-opinion ask claude --background --manager terminal -- "Polish the responsive UI."
second-opinion ask grok --background --manager none -- "Explore two implementation options."
second-opinion ask opencode --background --no-window -- "Run a quick model-flexible review."
Defina SECOND_OPINION_MANAGER=app|terminal|none para alterar o padrão sem modificar nenhum aplicativo ou configuração de agente. Se o Tk não estiver disponível em uma instalação mínima do Linux, a tarefa ainda inicia e o CLI explica como usar second-opinion tui ou instalar o pacote python3-tk da distribuição.
Use o modo work por padrão. O modo de trabalho pode editar arquivos e deve ser atribuído com cuidado para que dois agentes não editem os mesmos arquivos ao mesmo tempo. Use --mode consult explícito para revisão somente leitura, planejamento ou análise de risco.
Gerenciador de Tarefas
Abra qualquer gerenciador a qualquer momento:
second-opinion app # detached native app window
second-opinion tui # interactive manager in the current terminal
Ambas as superfícies operam apenas nos registros do Second Opinion em ~/.second-opinion/jobs/ e fornecem os mesmos controles principais:
- Veja tarefas ativas, na fila, concluídas, com falha, interrompidas e arquivadas.
- Leia a saída ao vivo sem carregar logs ilimitados na memória. O aplicativo nativo renderiza títulos, ênfase, listas, listas de tarefas, citações, tabelas, código e links da web clicáveis seguros como Markdown.
- Envie uma mensagem de direcionamento enquanto uma tarefa está em execução; ela entra na fila atrás da etapa atual.
- Altere o modelo e o esforço de raciocínio/variante nativos do provedor passados para a próxima invocação da tarefa. Deixe qualquer um em branco para usar o padrão do provedor.
- Pare, tente novamente, arquive ou restaure tarefas.
- Inicie uma nova tarefa com um harness, espaço de trabalho, modo e modelo opcional escolhidos.
O harness é específico da tarefa e permanece específico da tarefa: execuções do Codex passam por codex exec, Claude Code por claude -p, OpenCode por opencode run, Grok por grok -p e Antigravity por agy --print. Mensagens de acompanhamento invocam esse mesmo harness com o contexto do resultado anterior. Uma alteração de modelo não troca a quente um processo de provedor já em execução; ela se aplica à próxima etapa, ou você pode parar e tentar novamente imediatamente.
Fechar uma janela do gerenciador não interrompe uma tarefa de agente. O uso normal do CLI em primeiro plano não carrega módulos de GUI, não inicia processo de gerenciador e se comporta como antes. O Second Opinion nunca se incorpora ou edita os aplicativos Codex, Claude Code, Grok, OpenCode ou Antigravity.
Modo de Metas
O modo de metas é opcional. Não o use por padrão e não o trate como o fluxo de trabalho normal do Second Opinion.
Use --goal somente quando o usuário pedir explicitamente para usar o Second Opinion com metas, ou quando o usuário tiver solicitado claramente uma meta delegada de longa duração. Para alvos com um comando de meta nativo conhecido, o Second Opinion inclui o comando /goal ... desse alvo no prompt do subagente:
second-opinion ask claude --from codex --cwd "$PWD" --mode work --background --goal "Finish the frontend accessibility pass and report blockers." -- "Work toward this goal in the assigned UI files only."
Quando um agente pai inicia um subagente com meta, o pai ainda é o dono do resultado. Ele deve registrar o id do trabalho, verificar second-opinion jobs, coletar o resultado com second-opinion wait JOB_ID, verificar a saída e as edições e evitar relatar a tarefa geral como concluída enquanto a meta delegada ainda estiver em execução ou não resolvida.
Dicas de Roteamento
- Para UI visual, polimento de frontend, layout responsivo, tom de copy e julgamento de produto/design, prefira o Claude Code com o modelo Claude mais recente/mais alto disponível para você, geralmente um modelo da classe Opus quando disponível.
- Para trabalho de backend, APIs, fluxo de dados, testes, edições em todo o repositório, depuração e a maioria das tarefas gerais de implementação, prefira o Codex, a menos que outro alvo tenha claramente melhor contexto ou acesso a provedores.
- Para exploração rápida e flexível de modelos, verificações paralelas baratas ou testar muitos provedores configurados, o OpenCode é rápido e fácil de usar; a qualidade da saída depende muito do modelo selecionado, então verifique resultados de modelos menores ou mais baratos com mais cuidado.
- Use o Antigravity para Google/Gemini, Vertex, Firebase, Cloud Run ou orquestração no estilo Google.
- Use o Grok Build para exploração ampla ou spikes de implementação quando ele estiver instalado e a velocidade importar mais que a precisão.
Agentes Suportados
- Codex
- Claude Code
- OpenCode
- Grok Build
- Google Antigravity
O CLI tem um registro central para comandos de agentes, caminhos de skills e dicas de roteamento de tarefas. Para adicionar outro agente, atualize o registro em bin/second-opinion, adicione testes e execute second-opinion install --agent <new-agent> para regenerar a skill dele.
Comandos
second-opinion install # interactive when attached to a terminal
second-opinion install --yes # install detected agent skills
second-opinion install --all --yes # install all supported skills
second-opinion update # update the CLI and managed skills when newer
second-opinion uninstall --agent codex
second-opinion status --json
second-opinion choose --from claude --task "implement auth flow"
second-opinion ask auto --from claude --cwd "$PWD" --mode consult --background -- "Investigate failing tests."
second-opinion ask codex --from claude --cwd "$PWD" --model gpt-5.6-luna --reasoning xhigh --background -- "Implement the test fixtures."
second-opinion team codex --from claude --count 5 --strategy balanced --model gpt-5.6-luna --reasoning xhigh -- "Build and verify this in parallel."
second-opinion team claude --from codex --count 5 --strategy build --model claude-sonnet-5 --reasoning xhigh --manager none -- "Implement non-overlapping slices."
second-opinion benchmarks --kind models --sort coding --max-cost 0.50 --json
second-opinion benchmarks --kind agents --sort agent-score --json
second-opinion image-tools --available --json
second-opinion image codex --from claude --cwd "$PWD" --reference current.png --output design/concept.png --background -- "Create a stronger visual direction."
second-opinion ask auto --from claude --cwd "$PWD" --mode work --background --goal "Finish the migration tests and report blockers." -- "Work toward this goal in the assigned files only."
second-opinion ask auto --from claude --cwd "$PWD" --background --manager terminal -- "Open the terminal task manager."
second-opinion ask auto --from claude --cwd "$PWD" --background --manager none -- "Do not open a manager window."
second-opinion jobs
second-opinion jobs --all
second-opinion wait JOB_ID
second-opinion app
second-opinion tui
second-opinion commands
second-opinion doctor
Design
O Second Opinion é intencionalmente pequeno:
- Nenhum servidor é necessário.
- Nenhum navegador ou runtime Electron é necessário; a janela nativa opcional usa Tk e limita os dados de log exibidos.
- Nenhuma chave de API é manipulada pelo Second Opinion; sua ferramenta de benchmark lê páginas públicas atribuídas e não precisa de chave do Artificial Analysis.
- A criação de imagens passa por ferramentas nativas já disponíveis em um harness de codificação selecionado; o Second Opinion não instala geradores nem lida com chaves de API de imagens.
- Cada agente alvo é executado por meio do seu próprio CLI instalado.
- O Claude Code é executado por meio do seu modo não interativo documentado
claude -p. - Todas as instruções de agentes são arquivos de skill comuns que os usuários podem inspecionar.
- O prompt do subagente inclui regras anti-recursão e de isolamento de escopo.
- O gerenciador inicia apenas para uma tarefa em segundo plano do Second Opinion (a menos que seja aberto explicitamente) e pode ser desabilitado com
--manager none.
Desenvolvimento Local
python3 -m unittest discover -s tests
SECOND_OPINION_HOME="$(mktemp -d)" bin/second-opinion install --all --yes
SECOND_OPINION_HOME="$(mktemp -d)" bin/second-opinion status --json
Para testar o instalador contra um checkout local:
python3 -m http.server 8080
SECOND_OPINION_BASE_URL=http://127.0.0.1:8080 bash install.sh --cli-only
Licença
MIT
Construído por SSH.
