Демо
Демо здесь.
Зачем
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.
Если возникнут какие-либо вопросы — с радостью отвечу в комментариях.
Приятного использования!