Second Opinion MCP

Consulta múltiples modelos de IA, incluyendo servicios locales, en la nube y empresariales, para obtener diversas perspectivas sobre un tema.

Documentación

Second Opinion

CI

Second Opinion convierte los agentes de codificación de IA instalados en equipos de trabajo paralelos y dirigibles que colaboran entre sí. Se encarga de implementación, pruebas, investigación, revisión, documentación y trabajo de integración, no solo de revisión de código.

Las tareas en segundo plano abren una ventana separada y ligera del administrador de tareas nativo de forma predeterminada. Muestra cada tarea activa de Second Opinion—incluso las tareas que otro agente de codificación inició—y te permite dirigir el trabajo, enviar mensajes de seguimiento, elegir el modelo para el siguiente turno, detener o reintentar una ejecución, y archivar tareas finalizadas. El administrador está construido con el kit de herramientas Tk nativo de Python en lugar de Electron, un navegador o un servidor siempre activo, por lo que se inicia rápidamente y mantiene un uso de memoria reducido en macOS, Windows y Linux.

Second Opinion task manager showing two Grok 4.5 workers spawned by Claude Code

Claude Code orquestando dos trabajadores de revisión Grok 4.5 en el administrador de tareas nativo. Cada trabajador tiene un rol independiente y contexto nativo de Grok Build, con controles de modelo y esfuerzo, salida en vivo, mensajería de seguimiento, reintento, detención y acciones de archivo en un solo lugar.

Por ejemplo, Claude Code puede orquestar cinco trabajadores Codex nuevos usando GPT-5.6 Luna en xhigh: uno implementa, uno escribe pruebas, dos inspeccionan diferentes riesgos y uno se encarga de la integración. Luna puede hacer que ese grupo sea mucho más económico mientras el trabajo paralelo mejora el rendimiento. La dirección es completamente reversible: Codex puede orquestar trabajadores Claude Sonnet 5, trabajadores Grok 4.5 a través de Grok Build, o cualquier modelo compatible al que el arnés seleccionado pueda acceder. Cada trabajador mantiene la autenticación, el acceso a modelos, las herramientas y el comportamiento de seguridad de su CLI nativo.

Second Opinion es agnóstico respecto al modelo. Enruta entre las superficies de agentes instaladas y la configuración existente de modelos/proveedores del usuario en lugar de fijar un modelo específico. Las habilidades generadas enseñan a cada agente padre a razonar cuándo otro chat es útil, qué capacidades más fuertes del agente se ajustan al escenario y cuándo una pasada de contexto nuevo del mismo agente es la única opción sensata.

Para Claude Code, Second Opinion usa el modo claude -p no interactivo documentado. Los alias de modelo o nombres completos de modelo aún se pasan a Claude Code con --model.

Instalación

Instalador CLI interactivo:

curl -fsSL https://second-opinion.ssh.codes/install.sh | bash

Instalar cada habilidad de agente detectada sin indicaciones:

curl -fsSL https://second-opinion.ssh.codes/install.sh | bash -s -- --yes

Instalar todos los archivos de habilidades compatibles:

curl -fsSL https://second-opinion.ssh.codes/install.sh | bash -s -- --all --yes

Instalar una integración 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 en otra máquina a través de SSH:

ssh dev@server 'curl -fsSL https://second-opinion.ssh.codes/install.sh | bash -s -- --all --yes'

Actualizar una instalación existente cuando se publique una versión más reciente:

second-opinion update

second-opinion update descarga la CLI más reciente desde https://second-opinion.ssh.codes, reemplaza el binario local solo cuando la versión publicada es más nueva y actualiza los archivos de habilidades existentes administrados por Second Opinion. Usa second-opinion update --all-skills para actualizar cada archivo de habilidad compatible o second-opinion update --force para reinstalar la versión publicada de todos modos.

Qué Se Instala

El instalador agrega la CLI second-opinion a ~/.local/bin y escribe solo archivos de habilidades propiedad de Second Opinion:

AgenteArchivo escrito
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

Second Opinion no edita configuraciones de modelos, credenciales de proveedores, hooks, servidores MCP, permisos ni configuración de aplicaciones. Si uno de esos archivos de habilidades ya existe y no fue generado por Second Opinion, el instalador lo omite a menos que pases --force.

Uso

Desde cualquier 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

Las habilidades instaladas enseñan a cada agente a iniciar subagentes en segundo plano de forma predeterminada. Eso permite que el agente padre continúe su propio trabajo no superpuesto mientras el subagente se ejecuta. Después, el padre ejecuta second-opinion wait JOB_ID para recopilar la salida del subagente.

Creación de Imágenes Nativas

Second Opinion puede pedirle a un arnés de codificación que use una herramienta de generación de imágenes que ya expone. El modelo administrador primero descubre los arneses elegibles, luego solicita un artefacto ráster real con un contrato de salida estricto:

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."

La capacidad integrada imagegen / image_gen de Codex se detecta automáticamente. image-tools --json informa las opciones de generador nativas del proveedor (provider-default cuando el arnés no expone una lista de modelos). --reference es repetible; Codex y OpenCode reciben referencias a través de sus banderas nativas de imagen/archivo, mientras que otros arneses reciben rutas locales legibles y acceso a directorios adicionales donde se admite. Un objetivo explícito también puede intentar una herramienta de proveedor que no se puede detectar estáticamente. Declara una herramienta existente de este tipo para el enrutamiento auto con SECOND_OPINION_IMAGE_TOOLS=claude=CreateImage,opencode=imagegen; opcionalmente, anuncia generadores seleccionables con SECOND_OPINION_IMAGE_MODELS='claude=canvas-v2|canvas-fast'.

Second Opinion no genera los píxeles en sí, no instala una herramienta de imágenes, no solicita credenciales ni maneja claves de API de imágenes. El arnés de codificación seleccionado usa su autenticación existente, herramientas nativas, acceso a modelos y política de seguridad. El comando falla cuando el artefacto solicitado falta, está vacío, no cambió o no es un PNG, JPEG, WebP o GIF válido, por lo que un orquestador no puede entregar accidentalmente un "diseño" solo de texto a su trabajador de implementación.

Esto permite la transferencia de diseño exacta sugerida en los comentarios: genera una dirección visual primero, inspecciónala y luego entrega el artefacto y las restricciones originales a un trabajador fuerte en diseño como 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."

Usa --model para seleccionar el modelo de codificación que supervisa la tarea de imagen. Usa --image-model solo cuando la herramienta de imagen nativa ya expone un generador particular. Los archivos generados deben permanecer dentro de --cwd, los artefactos existentes requieren --force y el uso normal de ask/team permanece sin cambios.

Equipos de Trabajadores Paralelos

second-opinion team inicia un proceso de arnés nativo independiente y contexto nuevo por trabajador. El padre sigue siendo el orquestador y puede continuar trabajando, dirigir cada tarea, cambiar el modelo/esfuerzo del siguiente turno y sintetizar los resultados.

Claude Code orquestando cinco trabajadores Codex de menor costo:

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 orquestando trabajadores Claude o Grok funciona de la misma manera:

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."

Las estrategias integradas son:

  • build: implementación central, pruebas, endurecimiento de casos límite, rendimiento/herramientas e integración/documentación.
  • review: revisión de corrección, seguridad, pruebas, rendimiento y producto/integración; los trabajadores usan modo de consulta de forma predeterminada.
  • balanced: una mezcla de implementación, pruebas, revisión independiente, revisión de seguridad/rendimiento e integración/documentación.

Repite --role "..." para proporcionar asignaciones de trabajadores personalizadas. Usa --mode work o --mode consult para forzar a cada trabajador al mismo modo. La CLI acepta de 1 a 32 trabajadores, registra el equipo/rol/índice en cada tarea, abre solo un administrador y regresa inmediatamente mientras todos los trabajadores se ejecutan en paralelo. second-opinion wait TEAM_ID recopila todo el equipo; second-opinion jobs --team TEAM_ID lista solo ese grupo.

Los valores de modelo y esfuerzo pasan a través del arnés especializado: Codex usa codex exec y su configuración de razonamiento, Claude Code usa claude -p --effort, OpenCode usa opencode run --variant, Grok Build usa grok -p --reasoning-effort y Antigravity usa agy --effort. La disponibilidad y los niveles de esfuerzo aceptados siguen controlados por cada CLI de proveedor instalado.

La edición paralela necesita una descomposición deliberada. Los roles integrados incluyen instrucciones para evitar colisiones, pero las asignaciones personalizadas de archivos o subsistemas no superpuestos son las más seguras. Se les dice a los trabajadores que vuelvan a leer los archivos antes de editar y que nunca descarten cambios concurrentes.

Benchmarks de Modelos y Arneses Sin Claves

El modelo administrador puede consultar datos públicos actuales de Artificial Analysis antes de elegir trabajadores. Esto funciona sin una clave de API de Artificial Analysis, cuenta, inicio de sesión, dependencia o configuración:

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

Los resultados de modelos exponen los índices de Inteligencia, Codificación y Agente de Artificial Analysis; el costo promedio del Índice de Inteligencia y el tiempo por tarea; los precios de tokens del modelo; y la velocidad cuando se publica. --kind agents expone el Índice de Agente de Codificación de Artificial Analysis específico del arnés más el costo promedio de tarea de codificación, tiempo, pasos y tokens. Esto importa porque la puntuación de un modelo y una combinación particular de modelo+arnés son decisiones diferentes.

Los resultados públicos se almacenan en caché bajo ~/.second-opinion/cache/ durante seis horas para mantener un inicio rápido y un uso de red reducido. Usa --refresh para obtener inmediatamente o --offline después de la primera obtención. La salida humana y JSON preservan la atribución visible de Artificial Analysis y las URL de origen. Las puntuaciones de benchmark son evidencia de enrutamiento, no garantías; el orquestador también debe considerar la adecuación de la tarea, los CLI instalados, las suscripciones disponibles y los IDs de modelo exactos que cada arnés acepta.

El administrador nativo se abre de forma predeterminada para una tarea en segundo plano. Elige un administrador de terminal separado o ninguna ventana por ejecución:

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."

Establece SECOND_OPINION_MANAGER=app|terminal|none para cambiar el valor predeterminado sin modificar ninguna aplicación o configuración de agente. Si Tk no está disponible en una instalación mínima de Linux, la tarea aún se inicia y la CLI explica cómo usar second-opinion tui o instalar el paquete python3-tk de la distribución.

Usa el modo work de forma predeterminada. El modo de trabajo puede editar archivos y debe asignarse con cuidado para que dos agentes no editen los mismos archivos al mismo tiempo. Usa --mode consult explícito para revisión de solo lectura, planificación o análisis de riesgos.

Administrador de Tareas

Abre cualquiera de los administradores en cualquier momento:

second-opinion app   # detached native app window
second-opinion tui   # interactive manager in the current terminal

Ambas superficies operan solo sobre los registros de Second Opinion bajo ~/.second-opinion/jobs/ y proporcionan los mismos controles principales:

  • Ver tareas activas, en cola, finalizadas, fallidas, detenidas y archivadas.
  • Leer salida en vivo sin cargar registros ilimitados en memoria. La aplicación nativa renderiza encabezados, énfasis, listas, listas de tareas, citas, tablas, código y enlaces web seguros y clicables como Markdown.
  • Enviar un mensaje de dirección mientras una tarea se ejecuta; se pone en cola detrás del turno actual.
  • Cambiar el modelo y el esfuerzo de razonamiento/variante nativo del proveedor pasado a la siguiente invocación de la tarea. Deja cualquiera en blanco para usar el valor predeterminado del proveedor.
  • Detener, reintentar, archivar o restaurar tareas.
  • Iniciar una nueva tarea con un arnés, espacio de trabajo, modo y modelo opcional elegidos.

El arnés es específico de la tarea y permanece específico de la tarea: los turnos de Codex se ejecutan a través de codex exec, Claude Code a través de claude -p, OpenCode a través de opencode run, Grok a través de grok -p y Antigravity a través de agy --print. Los mensajes de seguimiento invocan ese mismo arnés con el contexto de resultados anterior. Un cambio de modelo no intercambia en caliente un proceso de proveedor que ya se está ejecutando; se aplica al siguiente turno, o puedes detener y reintentar inmediatamente.

Cerrar una ventana del administrador no detiene una tarea de agente. El uso normal de CLI en primer plano no carga módulos de GUI, no inicia ningún proceso de administrador y se comporta como antes. Second Opinion nunca se incrusta ni edita las aplicaciones Codex, Claude Code, Grok, OpenCode o Antigravity.

Modo de Objetivos

El modo de objetivos es opcional. No lo uses de forma predeterminada y no lo trates como el flujo de trabajo normal de Second Opinion.

Usa --goal solo cuando el usuario pida explícitamente usar Second Opinion con objetivos, o cuando el usuario haya solicitado claramente un objetivo delegado de larga duración. Para objetivos con un comando de objetivo nativo conocido, Second Opinion incluye el comando /goal ... de ese objetivo en el mensaje del 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."

Cuando un agente padre inicia un subagente respaldado por objetivos, el padre sigue siendo dueño del resultado. Debe registrar el ID del trabajo, verificar second-opinion jobs, recopilar el resultado con second-opinion wait JOB_ID, verificar la salida y las ediciones, y evitar informar la tarea general como finalizada mientras el objetivo delegado aún se está ejecutando o no está resuelto.

Consejos de Enrutamiento

  • Para UI visual, pulido de frontend, diseño responsive, tono de textos y criterio de producto/diseño, prefiere Claude Code con el modelo Claude más reciente/alto disponible para ti, a menudo un modelo de clase Opus cuando esté disponible.
  • Para trabajo de backend, APIs, flujo de datos, pruebas, ediciones en todo el repositorio, depuración y la mayoría de tareas generales de implementación, prefiere Codex a menos que otro objetivo tenga claramente mejor contexto o acceso a proveedores.
  • Para exploración rápida y flexible con modelos, comprobaciones paralelas económicas o probar muchos proveedores configurados, OpenCode es rápido y fácil de usar; la calidad de salida depende en gran medida del modelo seleccionado, así que verifica con más cuidado los resultados de modelos más pequeños o baratos.
  • Usa Antigravity para Google/Gemini, Vertex, Firebase, Cloud Run u orquestación estilo Google.
  • Usa Grok Build para exploración amplia o picos de implementación cuando esté instalado y la velocidad importe más que la precisión.

Agentes Compatibles

  • Codex
  • Claude Code
  • OpenCode
  • Grok Build
  • Google Antigravity

La CLI tiene un registro central para comandos de agentes, rutas de habilidades y sugerencias de enrutamiento de tareas. Para añadir otro agente, actualiza el registro en bin/second-opinion, añade pruebas y ejecuta second-opinion install --agent <new-agent> para regenerar su habilidad.

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

Diseño

Second Opinion es intencionalmente pequeño:

  • No se requiere servidor.
  • No se requiere navegador ni runtime de Electron; la ventana nativa opcional usa Tk y limita los datos de registro mostrados.
  • Second Opinion no maneja claves de API; su herramienta de benchmark lee páginas públicas atribuidas y no necesita clave de Artificial Analysis.
  • La creación de imágenes se ejecuta mediante herramientas nativas ya disponibles en un entorno de codificación seleccionado; Second Opinion no instala generadores ni maneja claves de API de imágenes.
  • Cada agente objetivo se ejecuta a través de su propia CLI instalada.
  • Claude Code se ejecuta a través de su modo no interactivo documentado claude -p.
  • Todas las instrucciones de agentes son archivos de habilidad normales que los usuarios pueden inspeccionar.
  • El prompt del subagente incluye reglas anti-recursión y de aislamiento de alcance.
  • El administrador se inicia solo para una tarea en segundo plano de Second Opinion (a menos que se abra explícitamente) y se puede deshabilitar con --manager none.

Desarrollo 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 probar el instalador contra un checkout local:

python3 -m http.server 8080
SECOND_OPINION_BASE_URL=http://127.0.0.1:8080 bash install.sh --cli-only

Licencia

MIT


Creado por SSH.