Unified AI System
Puerta de enlace MCP e IA autoalojada que convierte lenguaje natural aproximado en indicaciones estructuradas con enrutamiento gobernado y verificación reproducible para Codex, Cursor y Cline.
Documentación
Unified AI System: Puerta de Enlace de IA Autohospedada y Servidor MCP
Puerta de enlace de IA de código abierto para mejora determinista de indicaciones, ejecución gobernada y verificación reproducible.
Inglés | zh-CN | Sitio del Proyecto
Unified AI System convierte una solicitud aproximada en una indicación estructurada y revisable antes de la ejecución. Proporciona a los equipos una superficie autohospedada para SDKs compatibles con OpenAI, MCP, A2A, CLI y HTTP, manteniendo explícitas las llamadas al proveedor — con claves virtuales y presupuestos de tokens, caché exacta de respuestas más una capa opcional de similitud léxica aproximada, gobernanza MCP inversa con generación REST→MCP, una visión general de operaciones JSON orientada a terminal y observabilidad centrada en operaciones.
Cuando este README hace una afirmación sobre servidores MCP en el mundo real, se mide en lugar de afirmarse: nueve mediciones del ecosistema MCP público (40 servidores anunciados en registros, consultados anónimamente, cada página nombrando su propio denominador) y los mismos resultados como datos legibles por máquina (nueve preguntas en diez tramos de medición, 400 filas, 2026-09-28).
Madurez actual: Vista Previa Pública endurecida. La ruta sin credenciales es reproducible y controlada por CI; el despliegue en producción aún requiere tu propio entorno de preparación del proveedor, simulacros de alta disponibilidad/recuperación ante desastres, revisión de seguridad y evidencia operativa.
Pruébalo en 60 Segundos
Verifica el proyecto sin iniciar sesión:
docker run --rm ghcr.io/happy520ai/unified-ai-system/ai-gateway-service:0.8.0 pnpm gateway demo
En Apple Silicon, coloca --platform linux/amd64 antes del nombre de la imagen. Ambas etiquetas arm64 publicadas — la puerta de enlace
y el servidor MCP — llevan módulos nativos x86-64, por lo que esta demostración falla allí hoy
(#190, con la lectura y el comando que
lo reproduce).
¿Sin demonio de Docker, o una máquina Apple Silicon donde se sabe que la línea anterior falla? La misma prueba se ejecuta desde un checkout del código fuente, y con las dependencias ya instaladas la demostración en sí toma segundos en lugar de minutos: la única ejecución que capturamos midió 14.0 s de tiempo de pared en un solo portátil, y esa página dice claramente que es una ejecución, no un punto de referencia:
git clone https://github.com/happy520ai/unified-ai-system.git
cd unified-ai-system
corepack enable && pnpm install --frozen-lockfile # prerequisites: Node 22.18.0+, pnpm 11.19.0
pnpm gateway demo "Build a small API for my team" --enhance --profile coding --evidence
Medido en esta máquina — Windows, Node v25.8.1, sin motor Docker instalado — salida 0, "mode": "fake",
"providerCalled": false, "credentialRequired": false, 4,787 bytes, y tres ejecuciones consecutivas resultaron
byte-idénticas. La línea de instalación frente a la demostración es la parte que no toma sesenta segundos;
pnpm verify:public-clone, más abajo, es una verificación opcional más larga y no un requisito previo para esta ejecución.
Comportamiento esperado:
- ejecución local con proveedor falso
execution: fakevisible- salida determinista
- sin necesidad de clave API ni cuenta
- el contenedor sale automáticamente
Vista previa de mejora de lenguaje natural en un comando:
docker run --rm ghcr.io/happy520ai/unified-ai-system/ai-gateway-service:0.8.0 \
pnpm gateway demo "Build a small API for my team" --enhance --profile coding --evidence
Esto inicia una puerta de enlace aislada con proveedor falso, mejora la solicitud localmente, imprime la indicación estructurada y se limpia sin una clave API.
Verifica el repertorio de herramientas de una imagen publicada sin instalarla (desde un clon):
node tools/verify-image-roster.mjs 0.8.0
Lee MCP_TOOL_NAMES de la capa del contenedor a través de HTTPS simple y verifica cada
blob contra el digest que nombra su manifiesto — sin demonio de Docker, sin inicio de sesión en el registro. Esperado:
una línea que dice tools 15. El mismo comando contra 0.4.0 reporta nueve, por lo que el número
sigue al artefacto en lugar de a la prosa escrita sobre él. El historial de ocho etiquetas detrás
de esos recuentos — incluyendo por qué latest y 0.8.0 envían la misma interfaz como bytes
diferentes — está en la
nota del repertorio de imágenes.
Pruébalo Antes de Instalar
La solicitud original permanece visible. El mejorador local añade requisitos de ejecución, requisitos de salida y criterios de finalización.
Abre un ejemplo de codificación listo para ejecutar en el Prompt Lab del navegador
El enlace carga una solicitud real y renderiza la indicación mejorada localmente. Sin cuenta, clave API ni llamada al proveedor requeridas.
Ejecuta la misma prueba contra el contenedor publicado:
docker run --rm ghcr.io/happy520ai/unified-ai-system/ai-gateway-service:0.8.0 pnpm gateway demo "Build a small API for my team" --enhance --profile coding --evidence
La evidencia confirma que la solicitud original se preservó, el resultado es
determinista y providerCalled=false. Codex, VS Code, Claude Code, Gemini
CLI, OpenCode, Cursor, Cline, Continue y clientes stdio genéricos pueden alcanzar la
misma puerta de enlace a través de herramientas MCP autenticadas y con permisos limitados (15 en la compilación fuente actual;
inspecciona la lista de herramientas de tu imagen instalada). La compilación fuente también proporciona un
endpoint MCP Streamable HTTP probado por protocolo para clientes que se conectan por URL.
¿Útil en un flujo de trabajo real? Marca el repositorio con una estrella o comparte un resultado reproducible.
La Puerta de Enlace de un Vistazo
Los clientes mantienen sus protocolos nativos; la puerta de enlace añade claves, presupuestos, caché y auditoría. La imagen publicada expone quince herramientas MCP limitadas, coincidiendo con la compilación fuente actual; ambas son inspeccionables después de conectarse. Las escrituras controladas requieren además Gobernanza de Agentes cuando está habilitada.
Elige Tu Primer Camino
| Tu objetivo | Comienza aquí | Lo que obtienes |
|---|---|---|
| Pruébalo antes de instalar | Prompt Lab del navegador | Una vista previa local y determinista sin cuenta ni clave API. |
| Ve quién lo ha aceptado | Dónde está listado este proyecto | Catálogos curados y directorios MCP públicos que tienen una entrada hoy, cada uno con la URL que lo prueba, re-sondeado nocturnamente. |
| Verifica el runtime publicado | Demostración Docker de 60 segundos | Una ejecución desechable con proveedor falso con evidencia visible y limpieza. |
| Conecta un cliente agente | Inicio rápido de Codex y MCP | Un contenedor MCP fijado con una lista de herramientas inspeccionable. |
| Elige una ruta de cliente | Matriz de compatibilidad MCP | Comandos de instalación, primeras verificaciones y límites de evidencia honestos. |
| Integra con una aplicación | Guía de mejora de indicaciones | Rutas CLI, HTTP, SDK, curl, Python y JavaScript. |
| Mantén un cliente OpenAI existente | API compatible con OpenAI | Apunta baseURL a /v1 para Chat Completions, herramientas de función, Responses, streaming y descubrimiento de modelos. |
| Conecta otro agente | Puerta de enlace A2A v1.0 | Verifica una Agent Card/JWKS opcionalmente firmada y ejecuta tareas con ámbito de inquilino con memoria limitada, SQLite en el mismo host o estado PostgreSQL entre hosts más arrendamientos de ejecución cercados. |
| Verifica la certificación del runtime del cliente | Certificación del runtime del cliente | Estado de catálogo respaldado por evidencia: 52 verificados, 2,084 pendientes de evidencia manual y 0 fallidos en 2,136 entradas únicas. |
| Ejecuta las suites de certificación tú mismo | Certificación del runtime del cliente | node tools/verify-client-runtimes-serial.mjs --client tag:mainstream para informes secuenciales, node tools/run-global-client-discovery.mjs --source-manifest docs/client-runtime-catalog-sources-worldwide.json --execute --serial --max 0 para cobertura global y añade --require-manual-evidence --manual-evidence docs/client-runtime-evidence.example.json para fallar ante falta de prueba manual. |
| Inspecciona el contrato de mejora | Evaluación sin credenciales | Ocho casos representativos para perfiles, idiomas, señales, determinismo y cero llamadas al proveedor. |
| Diagnostica un problema de primer uso | Matriz de solución de problemas | Verificaciones específicas de shell sin exponer credenciales. |
| Verifica un cliente MCP | Informe de cliente MCP | Registra una ejecución de Codex, Cursor, Cline o stdio genérico con un pequeño conjunto de evidencia. |
| Contribuye o reporta una ejecución | Informe de uso o buen primer problema #106 | Una ruta de retroalimentación reproducible para usuarios y mantenedores. |
Capacidades de la Puerta de Enlace
Todo lo siguiente se ejecuta desde el mismo proceso autohospedado — opt-in y primero con proveedor falso, para que puedas probar cada característica con cero credenciales:
| Capacidad | Qué obtienes | Documentación |
|---|---|---|
| APIs compatibles con OpenAI + Anthropic + Gemini | /v1/chat/completions (streaming SSE, herramientas, entrada de imagen/audio, n>1), /v1/messages con streaming nativo de Anthropic y paso de caché de prompts, entrada nativa de Gemini :generateContent/:streamGenerateContent/:batchGenerateContent, la API de Responses y descubrimiento de modelos: conserva tu SDK existente, cambia solo la URL base. | API compatible con OpenAI · Gemini |
| Claves virtuales + presupuestos | Emite claves uai- con presupuestos de tokens periódicos (ventanas diarias/mensuales), límites de solicitudes por clave, alertas de presupuesto flexible, atribución de gasto y revocación instantánea. Los consumidores nunca tienen claves de proveedor. | Claves virtuales · Informe de gastos |
| Caché de respuestas: exacta + aproximación léxica | Caché de ruta activa con ámbito de inquilino con reproducción JSON/SSE byte-idéntica, más una capa de similitud opcional para solicitudes casi duplicadas. La capa predeterminada es aproximación léxica determinista, no un modelo semántico; conecta un endpoint de embeddings real mediante el hook HTTP de embeddings para coincidencia de grado semántico. | Caché de respuestas |
| API de visión general de operaciones (primero terminal) | GET /api/overview devuelve una instantánea JSON compacta (modo de proveedor, salud, preparación, estadísticas de solicitudes, estado del circuito) detrás de dashboard:read: un compañero ligero de /metrics para herramientas CLI y de panel. La puerta de enlace no sirve ninguna página de navegador; la compuerta de clon público la mantiene primero en terminal. | Observabilidad |
| Salvaguardas: deterministas y locales | Escaneos de entrada/salida: bloqueo de secretos pegados, redacción de PII, advertencias de frases de inyección, términos prohibidos y límites de tamaño aplicados: sin nivel de nube, sin credenciales adicionales, sobrecarga medida <0.2 ms, configurable en tiempo de ejecución por regla. | Salvaguardas |
| Gobernanza MCP inversa | Agrega servidores MCP ascendentes (Streamable HTTP y stdio) detrás de una superficie única autenticada, auditada y con lista de permitidos: además REST→MCP: cada operación OpenAPI 3 cuya semántica de entrada sea inequívoca se convierte en una herramienta MCP gobernada; una construcción que no se pueda resolver se rechaza en lugar de adivinarse. | Gobernanza MCP inversa |
| Plano de control de gobernanza de agentes | Adopción explícita para /agent-exec vinculado al servidor, MCP inverso, /workforce/execute controlado y /forge/orchestrate por acción, con políticas deterministas, estado firmado, aprobaciones de nivel superior revisables, dobles cercas, detección de reversión y revocación en cascada. Las aprobaciones Forge por acción aún no están implementadas y fallan cerradas antes de cualquier efecto; Workforce run-local/A2A y Forge independiente siguen siendo límites explícitos. | Gobernanza de agentes |
| Observabilidad | Métricas Prometheus específicas de chat en /metrics: tokens por modelo, tasas de acierto de caché, histogramas TTFT, rechazos de claves virtuales, hallazgos de salvaguardas: además de una exportación Langfuse opcional y una API/CLI de informe de gastos por clave. | Observabilidad |
| Recuperación vectorial | Un proveedor de embeddings determinista sin credenciales y el almacén vectorial SQLite activan RAG mode: "vector" con aislamiento estricto de inquilinos. | Proveedores y conocimiento |
| Gobernanza de proveedores | Una matriz de lista de permitidos de tres compuertas para proveedores reales; credenciales de tiempo de ejecución solo en memoria por defecto, con persistencia cifrada AES-256-GCM opcional en archivo/SQLite y una clave maestra protegida por separado; claves virtuales y tokens de usuario con hash; protecciones de costo de solicitud, interruptores de circuito y cadenas de respaldo. | Habilitación de proveedores |
| Puerta de enlace de inteligencia de cliente local | Inventario con ámbito de inquilino, PoP por cliente vinculado al servidor, despacho de proveedor falso fijado por política, gestión autónoma en seco, ejecución gobernada con reconciliación de recibos y aprendizaje agregado exactamente una vez, revocación irreversible y incorporación MCP transaccional. Los flujos de accesorios sin credenciales están probados; las compuertas de lanzamiento abiertas se enumeran en el documento de diseño. | Límite de diseño y evidencia |
| Gobernanza empresarial + simulacros de seguridad | Autenticación JWT, RBAC, aislamiento de inquilinos con cadenas de hash de auditoría: verificado por una regresión de seguridad en vivo repetible de 23 ataques. | Simulacro de seguridad · salida de ejecución · lo que los simulacros no establecen |
| Identidad y aprovisionamiento empresarial | SSO OIDC (código de autorización + PKCE + verificación de firma JWKS, emite un token de API al iniciar sesión) y aprovisionamiento de usuarios SCIM 2.0 (crear/obtener/listar/parchear/desactivar con autenticación bearer). | Simulacro de seguridad · SSO y SCIM empresarial |
| Control de tráfico del operador | Divisiones de enrutamiento ponderadas configurables y tráfico sombra (AI_GATEWAY_WEIGHTED_ROUTES_JSON): las llamadas sombra se contabilizan por separado; el sombreado de proveedores reales también requiere AI_GATEWAY_SHADOW_REAL_PROVIDER_ENABLED=true. | Despliegue multiproceso |
| RAG de ruta activa + evidencia de facturación | Inyección de conocimiento unified_ai.rag opcional en /v1/chat/completions; evidencia central de uso y una comparación de declaraciones USD de intento exacto solo para administradores. Las vistas previas locales de declaraciones siguen siendo explícitamente no legales y no se conecta ninguna pasarela de pago. | Informe de gastos · Inyección RAG |
| Controles multi-instancia | AI_GATEWAY_MULTI_INSTANCE=true mantiene los valores predeterminados SQLite del mismo host; los modos PostgreSQL explícitos cubren cuotas entre hosts, idempotencia de respuestas, tombstones de despacho, arrendamientos WebSocket/A2A/Workforce y cercas terminales, aprobaciones, uso facturable y una cadena de auditoría HMAC compartida. Un simulacro de CI destructivo prueba LSN-PITR acotado, cercado de puente único, reincorporación segura del primario anterior, conmutación por error automática de un solo standby y admisión como máximo una vez, y ese simulacro lleva su propia lista de no probado que nombra lo que sigue siendo trabajo de despliegue. | Despliegue multiproceso · Simulacro de recuperación PostgreSQL · Cercado de efectos externos |
Punto de referencia de infraestructura publicado (proveedor falso, nodo único): chat JSON p50 15.6 ms, SSE TTFT p50 2.8 ms, 402 req/s con concurrencia 8, aciertos de caché 5.6× más rápidos que fallos: consulta el punto de referencia de la puerta de enlace.
Por Qué la Gente la Usa
- Mejora de prompts para compañeros que no escriben prompts perfectos.
- Verificación de clon limpio sin credenciales ni configuración oculta.
- Ejemplos HTTP sin proveedor para curl y la biblioteca estándar de Python.
- Puntos de entrada de SDK de OpenAI, CLI, API HTTP, SDK compartido, MCP, Codex, Cursor, Cline y Continue.
- Límites claros: sin afirmación de AGI, sin afirmación de L5, sin comportamiento silencioso del proveedor.
- Incorporación primero por protocolo: la ruta de transacción JSON gobernada actualmente admite perfiles compatibles con Claude, Cursor y VS Code. Otros clientes MCP, A2A o HTTP requieren un enlace adaptador/principal explícito y un informe de certificación reproducible.
Más Rutas Sin Credenciales
También puedes enviar una solicitud directamente a la imagen publicada sin clonar el repositorio:
printf '%s' "Plan a launch for a small API" \
| docker run --rm -i ghcr.io/happy520ai/unified-ai-system/ai-gateway-service:0.8.0 \
pnpm --silent gateway demo --enhance --profile planning --language en --json
Equivalente en PowerShell para un archivo de solicitud:
Get-Content .\request.txt -Raw |
docker run --rm -i ghcr.io/happy520ai/unified-ai-system/ai-gateway-service:0.8.0 `
pnpm --silent gateway demo --enhance --profile planning --language en --json
El contenedor sigue usando la ruta de proveedor falso desechable y sale después de que se imprime el resultado.
Usa --language zh-CN o --language en cuando la salida de mejora deba
seguir un idioma explícito en lugar de detección automática.
Ejemplo de mejora de prompts:
Inicia primero la puerta de enlace (desde un checkout de fuente):
pnpm gateway serve
Luego, en otra terminal:
pnpm gateway enhance "Build a small API for my team" --profile coding
pnpm gateway chat "Build a small API for my team" --enhance --profile coding
La CLI también acepta una solicitud desde stdin, lo cual es útil para tuberías de shell y archivos de texto:
printf '%s' "Plan a launch for a small API" \
| pnpm gateway enhance --profile planning --language en
cat request.txt | pnpm gateway enhance --profile auto --json
Los usuarios de PowerShell pueden canalizar la misma ruta con Get-Content .\request.txt -Raw.
SDKs de OpenAI Existentes
Inicia la puerta de enlace de fuente con pnpm gateway serve, luego conserva tu
cliente OpenAI existente y cambia solo su URL base:
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "http://127.0.0.1:3100/v1",
apiKey: process.env.PME_AUTH_TOKEN || "local-development",
});
const result = await client.chat.completions.create({
model: "local-fake-model",
messages: [{ role: "user", content: "Build a small API for my team" }],
});
console.log(result.choices[0].message.content);
La compuerta sin credenciales verifica esta ruta con el SDK oficial de OpenAI
JavaScript 7.4.0. Con la puerta de enlace de fuente en ejecución, reprodúcela con:
node docs/examples/openai-sdk-chat.mjs
La capa de compatibilidad enfocada admite completaciones de texto, streaming, listado de modelos y mejora de prompts local opcional. Consulta la guía de API compatible con OpenAI para Python, campos admitidos, comportamiento de autenticación y limitaciones explícitas.
¿Prefieres Node.js? El ejemplo sin dependencias verifica la respuesta sin proveedor antes de imprimir el JSON mejorado:
node docs/examples/prompt-enhancement.mjs "Help me plan a small API for my team" --profile planning --language en
¿Prefieres Go? El ejemplo de biblioteca estándar verifica la preparación sin proveedor y imprime evidencia JSON antes de mostrar el prompt mejorado:
go run docs/examples/prompt-enhancement.go "Help me plan a small API for my team" --profile planning --language en
Para un recorrido de mejora de prompts sin clon, inicia la imagen de puerta de enlace publicada y sigue el ejemplo curl sin proveedor:
read -rsp "Enter a random gateway token (32+ characters): " PME_AUTH_TOKEN
printf '\n'
export PME_AUTH_TOKEN
docker run --rm --publish 127.0.0.1:3100:3100 \
--env AI_GATEWAY_SERVICE_HOST=0.0.0.0 \
--env AI_GATEWAY_PROVIDER_MODE=fake \
--env AI_GATEWAY_REAL_PROVIDER_ENABLED=false \
--env PME_ENTERPRISE_AUTH_ENABLED=true \
--env PME_AUTH_TOKEN \
ghcr.io/happy520ai/unified-ai-system/ai-gateway-service:0.8.0
Mantén ese proceso en ejecución mientras envías la solicitud curl. La respuesta
incluye metadata.providerCalled=false. Para un flujo HTTP sin credenciales,
usa el ejemplo SSE curl para inspeccionar
eventos start, chunk y done con executionMode=fake.
La puerta de enlace rechaza la escucha no loopback cuando la autenticación está deshabilitada;
consulta el informe crítico de endurecimiento de cadena de ataque.
Úsala
Flujo de Trabajo en Terminal
Después de pnpm install:
pnpm gateway serve
pnpm gateway status
pnpm gateway doctor
pnpm gateway chat "Hello from Unified AI System"
El plano de control de cliente local protegido tiene inspección de solo lectura más comandos explícitos de ciclo de vida gobernados. Prefiere suministrar la clave virtual de administrador a través del entorno para que no se escriba en el historial del shell:
$env:AGENT_CONSOLE_ADMIN_KEY = "<admin-virtual-key>"
pnpm gateway clients --json
pnpm gateway clients discover --json
pnpm gateway clients --help
El descubrimiento y la gestión inteligente se ejecutan en seco por defecto. Las mutaciones requieren confirmación explícita y una clave de administrador; las escrituras inciertas nunca se reintentan. Una inspección del registro no es prueba de que una aplicación nombrada fue configurada o controlada. Consulta Puerta de enlace de inteligencia de cliente local para el límite de adaptador y evidencia.
MCP / Codex / Cursor / Cline
Comando MCP publicado:
codex mcp add unified-ai-system -- docker run --rm -i ghcr.io/happy520ai/unified-ai-system/mcp-server:0.8.0
En Apple Silicon, pon --platform linux/amd64 antes del nombre de la imagen. La etiqueta linux/arm64 publicada
actualmente envía módulos nativos x86-64, incluido better-sqlite3, por lo que las herramientas gobernadas fallan al cargar allí:
problema #190 lleva la lectura y el único comando
que lo reproduce.
Reinicia Codex, ejecuta /mcp verbose para inspeccionar la lista de herramientas instaladas, luego sigue el
inicio rápido MCP Codex de 60 segundos para una primera
llamada segura de mejora de prompts y comando de eliminación.
Construir desde el repositorio requiere una bandera adicional. La raíz Dockerfile declara dos etapas
publicables, mcp y gateway, y gateway es la última, por lo que un docker build . simple produce la
puerta de enlace HTTP, que nunca responde en stdio:
docker build --target mcp -t unified-ai-system-mcp .
printf '%s\n' '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"probe","version":"0"}}}' \
| docker run --rm -i unified-ai-system-mcp
--target mcp y --target gateway son los dos objetivos que construye el flujo de trabajo de lanzamiento, por lo que esta es la
misma construcción que publica la imagen anterior en lugar de una instrucción que solo existe en la documentación.
Cualquier cosa que inspeccione nuestro Dockerfile: una herramienta de verificación de definiciones de directorio, o tu propio CI,
tiene que seleccionar mcp; sin él encuentra una puerta de enlace que responde HTTP y ningún servidor MCP en absoluto.
Para clientes MCP que se conectan por URL, la construcción de fuente proporciona un endpoint Streamable HTTP solo loopback:
pnpm mcp:http
# http://127.0.0.1:3210/mcp
Consulta la guía del servidor MCP para autenticación de enlace remoto y el límite de lanzamiento publicado.
Habilidad de Agente Instalable
codex plugin marketplace add happy520ai/unified-ai-system --ref master
npx skills add happy520ai/unified-ai-system --skill unified-ai-gateway --agent codex --copy --yes
El plugin fija la imagen MCP v0.4.9 inmutable revisada
y la inicia sin redes de contenedor ni capacidades de Linux. El lanzamiento actual tiene su propia
revisión de contenido, leída de los tarballs de capa publicados en lugar de una
exportación de Docker: esa página es donde se escribe la advertencia de arquitectura linux/arm64.
Centro de habilidades: https://skills.sh/happy520ai/unified-ai-system/unified-ai-gateway
Para trabajo local de fuente:
Requiere Node.js 22.18.0 o más reciente y pnpm 11.19.0.
git clone https://github.com/happy520ai/unified-ai-system.git
cd unified-ai-system
corepack enable
corepack prepare pnpm@11.19.0 --activate
pnpm install --frozen-lockfile
pnpm verify:public-clone
pnpm gateway demo
Para un espacio de trabajo en la nube preparado, usa GitHub Codespaces. Ve el valor primero:
pnpm gateway demo "Build a small API for my team" --enhance --profile coding --evidence
Para la verificación completa de clon sin credenciales, ejecuta pnpm verify:public-clone
después de la demo. El devcontainer del repositorio mantiene la ruta predeterminada
sin proveedor. La disponibilidad y los límites de uso de Codespaces están controlados por
GitHub.
Docker Compose
Para una copia del código fuente, inicia el gateway con una verificación de disponibilidad:
docker compose up --build -d
docker compose ps
curl http://127.0.0.1:3100/health/check
El servicio se vuelve healthy solo después de que /health/check responda correctamente.
Cuando termines, detenlo con:
docker compose down
El archivo Compose trata .env como opcional y deja el comportamiento del proveedor explícito;
la ruta de proveedor falso sin credenciales sigue siendo la predeterminada.
Comparte un Resultado Verificado
Si el proyecto ayuda a tu flujo de trabajo, ejecuta una ruta reproducible, marca con estrella el repositorio y comparte el resultado útil más pequeño a través del Informe de Uso estructurado.
Para un paquete CLI listo para revisar, agrega --evidence a la demo mejorada:
pnpm gateway demo "Build a small API for my team" --enhance --profile coding --evidence
Revisa la solicitud original y la salida antes de compartir el JSON generado. El
paquete también registra detectedSignals y el recuento de elementos para cada
entrada de compiledSections, para que un revisor pueda ver qué señales de solicitud se
transmitieron al prompt estructurado sin leer registros internos.
Para el Prompt Lab del navegador, usa su acción Copy evidence o Download evidence,
luego pega o adjunta el JSON en el campo opcional de evidencia del Prompt Lab del mismo informe.
Usa Copy share link cuando quieras que otro navegador reproduzca la misma entrada local,
perfil e idioma; revisa el prompt primero porque el fragmento de URL contiene el texto de entrada.
Próximos Pasos
- Documentación para configuración, CLI, mejora de prompts y proveedores.
- Inicio rápido de Codex MCP para la integración más rápida de herramientas de agente; la guía de código fuente se mantiene en el repositorio.
- Gateways de IA autoalojados, en sus propias palabras - LiteLLM, Portkey Gateway, Agent Router y este proyecto, cada uno citado desde su propio README con la fecha de lectura, más tres preguntas antes de entregar el tráfico de agentes.
- Nueve mediciones del ecosistema público de MCP - 40 servidores anunciados en el registro oficial, preguntados anónimamente: 0 de los 16 que respondieron paginan
tools/list, 2 de los 18 que respondieron aceptaron una versión de protocolo que no existe, ambos servidores que emiten un ID de sesión lo requieren de vuelta, y 1 de 16 implementaserver/discovermientras que 12 nunca han oído hablar de ello, y 9 de 16 envían prosainstructionsescrita por el servidor a un cliente anónimo, de 72 a 1,423 caracteres. 22 de los 40 no hablarían con un cliente anónimo en absoluto, y cada página lo dice sobre su propio denominador. Dos hallazgos tienen sus propias páginas y valen la pena leerlos en sus propios términos: ¿los servidores dicen cuánto tiempo se puede almacenar en caché su lista de herramientas? - 1 de los 16 que devolvieron una lista lo hizo, y no estábamos leyendo ninguno de los dos campos - y ¿puede una cabecera redirigir un servidor a un método que el cuerpo nunca pidió? - 0 de 16 pares POST y 0 de 13 piernas GET sin cuerpo, más el falso positivo que una pierna repetida detectó antes de convertirse en una oración. Cada página incluye su script, así que cualquier número aquí es tuyo para volver a ejecutar en unos dos minutos, y todo el conjunto se publica como datos generados: la ejecución de 40 endpoints del 2026-09-27, su re-ejecución de nueve preguntas y diez piernas del 2026-09-28, y la ejecución amplia. Otra pregunta, medida más tarde el mismo día en su propia ventana, pregunta si alguien hace cumplir la cabeceraMCP-Protocol-Version- ninguno de los 16 que respondieron lo hizo, que también es por qué cerrar nuestra propia brecha al respecto fue una corrección de conformidad en lugar de un rescate de interoperabilidad. Y una lectura es un censo en lugar de una muestra: cada servidor que muestra la lista predeterminada del registro, contado - 123,831 filas de versiones que se resuelven en 37,013 servidores, de los cuales 439 (1.20%) declaran ni un paquete ni un endpoint alojado, con la segunda caminata publicada junto a ella porque un número que no se puede repetir es una anécdota. - Guía de contribución para cambios enfocados y verificación segura.
- Plantilla de Informe de Uso para comentarios reproducibles.
- Citar este proyecto, Hoja de ruta y Soporte.
Límites Honestos
Separamos lo que está verificado de lo que no se afirma:
- Clon limpio + ruta de proveedor falso: Sí
- API pública alojada: No
- Ejecución real de proveedor por defecto: No, debe habilitarse explícitamente
- Interfaz de chat de navegador en este repositorio: No (CLI/API/MCP son de primera clase)
- Protocolo de enlace stdio en frío: ~8 s en el punto de entrada de código fuente publicado, medido en lugar de estimado — dónde va realmente un presupuesto de conexión MCP dice qué parte es el arranque del proceso, qué parte es el trabajo de herramientas y qué no establece esa página.
- Listo para producción / AGI / L5: No afirmado
Las llamadas reales a proveedores están deshabilitadas por defecto. Configura de forma segura a través de .env.example y docs/providers.md.
Verifica el Proyecto
pnpm check
pnpm test
pnpm check:public
pnpm verify:public-clone
pnpm verify:mcp
CI en master ejecuta verificaciones de Linux, pruebas de humo de inicio de contenedores, descubrimiento de MCP y verificaciones de limpieza de procesos.
Enlaces del Proyecto
- Entrada del Registro Oficial de MCP
- Versión v0.8.0
- README del servidor Codex MCP
- Hoja de ruta
- Visión
- Soporte
Historial de Estrellas
Si el gateway te ahorra una migración de proxy o una tarde de limpieza de prompts, una estrella ayuda a que más personas lo encuentren.