¿Qué hace github_copilot_openai_api_wrapper?
Permite acceder a GitHub Copilot a través de cualquier cliente compatible con OpenAI mediante un servidor local que actúa como proxy hacia la API de Copilot Chat.
Descripción
Esta habilidad ejecuta un servidor local que traduce las peticiones del formato de API de OpenAI al formato de la API de Copilot Chat, y viceversa. De esta manera, puedes usar herramientas diseñadas para OpenAI (como openai Python library, curl, o aplicaciones GUI) para interactuar con los modelos de Copilot.
Requisitos
- Tener una suscripción activa a GitHub Copilot.
- Un token de acceso personal de GitHub con los permisos adecuados.
- Node.js (versión 18 o superior) instalado.
Instalación
npm install -g @axillaryfossaprize/copilot-proxy
O clona el repositorio y ejecuta:
git clone https://github.com/Axillaryfossaprize/github_copilot_openai_api_wrapper.git
cd github_copilot_openai_api_wrapper
npm install
Uso
-
Configura tu token de GitHub como variable de entorno:
export GITHUB_TOKEN=tu_token_aqui -
Inicia el servidor proxy:
npx copilot-proxyPor defecto, el servidor escucha en
http://localhost:3000. -
Configura tu cliente OpenAI para que use el endpoint local:
- URL base:
http://localhost:3000/v1 - API Key: cualquier valor (el proxy la ignorará, pero el cliente puede requerirla)
- Modelo:
gpt-4ogpt-3.5-turbo(el proxy los mapeará al modelo de Copilot correspondiente)
Ejemplo con
curl:curl http://localhost:3000/v1/chat/completions \ -H "Content-Type: application/json" \ -H "Authorization: Bearer dummy" \ -d '{ "model": "gpt-4", "messages": [{"role": "user", "content": "Hola, ¿cómo funciona Copilot?"}] }' - URL base:
Variables de Entorno
| Variable | Descripción | Requerida |
|---|---|---|
GITHUB_TOKEN | Token de acceso personal de GitHub | Sí |
PORT | Puerto del servidor (por defecto: 3000) | No |
LOG_LEVEL | Nivel de registro (debug, info, warn, error) | No |
Notas
- El proxy solo funciona si tienes una suscripción activa a GitHub Copilot.
- Las solicitudes se envían a la API de Copilot Chat, que puede tener diferentes límites de velocidad y modelos disponibles.
- Para mayor seguridad, no expongas el proxy a redes públicas sin autenticación adicional.
Licencia
MIT