Sobre el proyecto
WindsurfAPI es un servicio proxy API headless construido sobre los módulos integrados de Node.js 20, sin depender de ningún paquete npm. Traduce los más de 80 modelos de inteligencia artificial de la plataforma Windsurf (anteriormente Codeium) para ofrecerlos mediante estándares de la industria, proporcionando compatibilidad tanto con las APIs de OpenAI como de Anthropic.
Entre sus principales características se incluyen:
- Compatibilidad dual de protocolos: soporta tanto /v1/chat/completions de OpenAI como /v1/messages de Anthropic.
- Balanceo de carga multicuenta con conmutación por error automática.
- Estadísticas de tokens y créditos organizadas por ruta de solicitud y modelo, con posibilidad de exportar e importar respaldos en formato JSON.
- Panel de administración Dashboard en una sola página con interfaz en chino, que incluye gestión de cuentas, registro de actividad, gráficas y detección de bloqueos.
- Funcionalidad experimental de reutilización de conversaciones Cascade.
Las opciones de despliegue son flexibles: permite ejecución local, contenedorización con Docker, servicio permanente con PM2 o como servicio systemd. Es requisito previo contar con el binario del Windsurf Language Server y, al menos, una cuenta de Windsurf (la versión gratuita solo ofrece acceso a algunos modelos).
La arquitectura del sistema sigue una estructura de cuatro capas: Cliente → WindsurfAPI → Language Server → Windsurf Cloud. Todos los módulos se encuentran claramente organizados dentro del directorio src/.
El proyecto prohíbe expresamente su uso comercial, despliegue en nombre de terceros o reventa; únicamente se permite para estudio e investigación personal. La documentación es exhaustiva e incluye referencias de variables de entorno, ejemplos de uso de la API, guías de despliegue, preguntas frecuentes y directrices para colaboradores.
El esquema de datos estadísticos cumple con el estándar CLIProxyAPI, facilitando su integración y migración a otros sistemas.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.