Search
Write a publication
Pull to refresh

GitHub Copilot ➜ OpenAI API прокси. Serverless

Reading time3 min
Views11K

Демо


Демо здесь.


Зачем


GitHub Copilot Pro доступен бесплатно для подтверждённых учащихся, преподавателей и мейнтейнеров популярных проектов с открытым исходным кодом.

Другие опции включают ограниченный опыт работы с Copilot без платной подписки,
или индивидуальный план Copilot.


Попробуйте также полностью бесплатную альтернативу: openai-gemini.

Для чего


GitHub Copilot даёт доступ к новейшим генеративным моделям от OpenAI, Anthropic и Google.


Он доступен в некоторых избранных IDE.


Проект openai-github-copilot позволяет использовать его с намного более широким спектром инструментов: предоставляется общий API, совместимый с OpenAI, который можно развернуть бесплатно.
(Однако подписка на GitHub Copilot всё так же требуется.)


Serverless?


Хотя прокси и работает в облаке, для его функционирования не требуется обслуживание сервера.
Его можно легко развернуть на Cloudflare бесплатно (со щедрыми ограничениями, подходящими для личного использования).


Локальный запуск прокси также возможен.

С чего начать


Сначала вам необходимо создать учётную запись на Cloudflare.


Самый простой способ развёртывания — вручную вставить содержимое src/worker.mjs
в качестве index.js на https://workers.cloudflare.com/playground (см. кнопку Deploy).


Примечание:
Это немного упрощённая версия кода, в которой не реализовано кэширование токенов,
и отсутствует страница /token.
Для развёртывания полнофункциональной версии обратитесь к следующему разделу.

Расширенные инструкции


Здесь были инструкции развёртывания c Github по кнопке Cloudflare
К сожалению кнопка не поддерживает репозитории на других хостингах, а проект переехал на gitea.com.

Развёртывание вручную


Вместо “развёртывания кнопкой” вы также можете работать с проектом локально, используя
cli:


  • Создать KV namespace: wrangler kv:namespace create KV
    (и соответственнл обновить id в вашем wrangler.toml файле).
  • Запустить сервис локально: wrangler dev
  • Развернуть на Cloudflare: wrangler deploy

Как пользоваться


Если вы откроете ваш только что созданный прокси в браузере, вы увидите только сообщение 404 Not Found. Это ожидаемо, поскольку API не предназначен для прямого доступа через браузер.


Чтобы использовать его, вам следует ввести API-адрес и токен доступа Github Copilot в соответствующие поля в настройках вашего программного обеспечения.


Не все программы позволяют задать нестандартный адрес OpenAI API, но очень многие позволяют (хотя эти настройки иногда могут быть глубоко спрятаны).

API base / address / URL / ...


Как правило, требуется указывать базу API в таком формате:
https://copilot.YOURSUBDOMAIN.workers.dev/v1


Однако некоторые программы могут ожидать адрес без окончания /v1:
https://copilot.YOURSUBDOMAIN.workers.dev


Соответствующее поле может быть обозначено как "OpenAI proxy".
Возможно, вам придётся поискать в разделе “Advanced settings” или аналогичном.
Или в каком-то конфиг-файле (стоит изучить подробности в документации).


Для некоторых утилит командной строки может понадобиться задать переменную окружения, например:


OPENAI_BASE_URL="https://copilot.YOURSUBDOMAIN.workers.dev/v1"

… или:


OPENAI_API_BASE="https://copilot.YOURSUBDOMAIN.workers.dev/v1"

Ключ API


Прежде всего необходимо получить токен доступа Github с поддержкой Copilot (который должен начинаться с ghu_, или с gho_).
После развёртывания данный проект предоставляет веб-страницу /token, которая помогает создать такой токен (см. демо).
Также в разделе scripts можно найти и альтернативные методы получения токена.


Введите этот токен в поле "OpenAI API key" в настройках вашей программы.
Альтернативно, он может находиться в каком-то конфиг-файле (стоит поискать подробности в документации).


Для некоторых утилит командной строки может потребоваться установить переменную окружения, например:


OPENAI_API_KEY=ghu_...

Модели


Список доступных моделей можно получить через стандартный эндпойнт /v1/models, и этот список может варьироваться в зависимости от предоставленного API-ключа. Некоторые модели может потребоваться активировать в настройках.


Примеры: gpt-4.1, o3-mini, claude-3.7-sonnet-thought, gemini-2.5-pro.


Технические примечания


Copilot предоставляет следующие конечные точки (endpoints):


  • /v1/chat/completions
    • tools и другие связанные свойства игнорируются (?)
    • Вывод подвергаются обработке, чтобы устранить отличия от OpenAI.
  • /v1/embeddings
    • input:
      поддерживает только массив строк
    • encoding_format, dimensions: игнорируется.
    • Вывод никак не модифицируется и имеет некоторые незначительные отличия от OpenAI:
    • отсутствует свойство object ("object": "embedding")
    • отсутствует свойство model ("model": "text-embedding-3-small")
  • /token: отображает веб-страницу, которая позволяет получить токен доступа к Github Copilot.

Если возникнут какие-либо вопросы — с радостью отвечу в комментариях.


Приятного использования!

Tags:
Hubs:
Total votes 4: ↑4 and ↓0+4
Comments6

Articles