DiagramPreview
Vista avanzadaLive previewExportDeveloper tool

Visualizador Protobuf Schema

Pega schema Protobuf y revisa mapa de messages y services en el navegador. Útil para documentación técnica, reviews y borradores de IA antes de publicar.

Ejemplos
Rendered previewListo
La vista previa aparecerá aquí cuando haya una entrada válida.

Continúa con una herramienta relacionada

Lleva esta vista previa a un flujo cercano para convertir, depurar o exportar.

Cómo usar

  1. 1Pega un fragmento .proto centrado en un servicio o una familia de mensajes.
  2. 2Revisa cómo se conectan los RPC con sus mensajes de solicitud y respuesta.
  3. 3Comprueba números de campo, reserved, repeated y enums antes de aprobar un cambio de contrato.
  4. 4Guarda el archivo .proto junto al diagrama exportado para que la revisión sea reproducible.

Casos de uso

Docs gRPCEvolución de contratoRevisión de serviciosCompatibilidad de campos y enums

FAQ

¿Qué cambios de Protobuf pueden romper consumidores existentes?

Reutilizar un número de campo, cambiar un tipo incompatible o eliminar valores enum sin reservarlos puede romper la compatibilidad. La vista ayuda a localizar esos elementos, pero la validación final debe hacerse con las herramientas de compatibilidad del repositorio.

¿Conviene visualizar todo el repositorio de archivos .proto?

No en una sola vista. Empieza por un servicio y sus mensajes relacionados; así es más fácil detectar dependencias, imports ausentes y riesgos de evolución.

¿Cómo documento un servicio gRPC con esta vista?

Incluye los RPC, los mensajes request/response y los enums que cambian el comportamiento. Enlaza el .proto original desde la documentación para mantener la fuente de verdad.

El visualizador de Protobuf muestra messages, fields, enums y services como un mapa de contrato que puede revisarse junto al archivo .proto.

Resulta especialmente útil al preparar documentación gRPC, explicar un servicio a un equipo SDK o revisar si un cambio mantiene números de campo y valores reservados.

La visualización no compila el schema ni sustituye las pruebas de compatibilidad; úsala para encontrar relaciones y concentrar la revisión técnica.

Caso 1: documentar un servicio gRPC con sus mensajes

Un RPC aislado dice poco. Incluye el request, el response y los mensajes anidados para que quien consume la API pueda seguir el contrato sin saltar entre varios archivos.

  • Mantener juntos el service y sus messages directos.
  • Revisar cardinalidad repeated y tipos compartidos.
  • Enlazar el archivo .proto original desde la documentación.
message Order { string id = 1; repeated Item items = 2; }

Un servicio enfocado se entiende mejor que un volcado completo del repositorio.

Caso 2: revisar la evolución de campos y enums

Antes de publicar una nueva versión, comprueba que los números eliminados estén reservados y que los enums mantengan un valor cero seguro.

  • No reutilizar números de campo eliminados.
  • Reservar nombres y números retirados.
  • Revisar cómo interpretan los clientes los nuevos valores enum.
message Event {
  reserved 3, 4;
  EventType type = 2;
}
enum EventType { UNKNOWN = 0; CREATED = 1; }

La vista identifica el cambio; buf breaking y las pruebas del repositorio deben confirmar la compatibilidad.

Fallo frecuente: imports que ocultan parte del contrato

Si el fragmento usa tipos declarados en otro archivo, la vista puede quedar incompleta. Añade una versión mínima del tipo importado o revisa el conjunto de archivos en el repositorio.

  • Buscar tipos referenciados que no aparecen como messages.
  • No inventar definiciones para completar el diagrama.
  • Mantener package y nombres completos cuando existan colisiones.
import "google/protobuf/timestamp.proto";
message Order { google.protobuf.Timestamp created_at = 1; }

Los imports forman parte del contexto del contrato aunque no se dibujen completos.

Intención de búsqueda y uso

Revisar visualmente mensajes, servicios, enums y números de campo Protobuf antes de publicar documentación gRPC o entregar un contrato a un SDK.

Adecuado para

  • Revisión conjunta de messages y services
  • Cambios de campos, enums y repeated
  • Documentación de contratos gRPC para equipos SDK

Límites y fallos habituales

No adecuado para

  • Compilar archivos .proto
  • Sustituir pruebas de compatibilidad
  • Pegar todo un repositorio Protobuf en una sola vista

Fallos habituales

  • Imports ausentes pueden ocultar tipos relacionados
  • Renombrar o reutilizar números de campo puede romper compatibilidad
  • Separar services de sus messages reduce el contexto de la revisión

Siguiente flujo de trabajo

Documentación visual de contratos Protobuf

Visualiza messages y services juntos, revisa el riesgo de cambios incompatibles y enlaza el resultado desde la documentación de la API o del SDK.

Abrir flujo completo

Checklist de revisión para Visualizador Protobuf Schema

Usa Visualizador Protobuf Schema para inspeccionar visualmente contenido fuente antes de publicar documentación, notas de PR, incidentes o handoffs. Visualizador Protobuf Schema para vista previa, review y exportación en documentación de desarrollo.

Antes de exportar, revisa legibilidad, relaciones, datos sensibles y si la vista sigue teniendo sentido tras editar la entrada.

Límites y solución de problemas

Si la vista falla, reduce la entrada al ejemplo completo más pequeño, valida la sintaxis y agrega secciones gradualmente.

Trata la vista como superficie de revisión, no como fuente de verdad. Los resultados críticos requieren validación humana.

Entradas de ejemplo

  • Orders: syntax = "proto3"; message Order { string id = 1; User user = 2; repeated Item items = 3; } message User { string id = 1; string email = 2; } message Item { string sku = 1; int32 q...
  • Evolución de enum: syntax = "proto3"; message Event { string id = 1; EventType type = 2; reserved 3; } enum EventType { EVENT_TYPE_UNSPECIFIED = 0; ORDER_CREATED = 1; ORDER_CANCELLED = 2; }
  • Servicio gRPC: syntax = "proto3"; service OrderService { rpc GetOrder (GetOrderRequest) returns (Order); } message GetOrderRequest { string id = 1; } message Order { string id = 1; string status ...

Madurez de la herramienta

Vista avanzada

Analizador avanzado

Esta herramienta extrae estructura y relaciones de entradas de desarrollo. Los casos complejos deben comprobarse contra la fuente.

La etiqueta indica si la herramienta sirve mejor para exportar, depurar, analizar rápido o generar con AI.