An open API service indexing awesome lists of open source software.

https://github.com/jjleng/copilot-more

$10/month GPT-4o and Claude-3.5-Sonnet APIs for coding and beyond.
https://github.com/jjleng/copilot-more

Last synced: 4 months ago
JSON representation

$10/month GPT-4o and Claude-3.5-Sonnet APIs for coding and beyond.

Awesome Lists containing this project

README

          

# copilot-more

`copilot-more` maximizes the value of your GitHub Copilot subscription by exposing models like gpt-4o and Claude-3.5-Sonnet for use in agentic coding tools such as Cline, or any tool that supports bring-your-own-model setups. Unlike costly pay-as-you-go APIs, this approach lets you leverage these powerful models affordably. (Yes, $10 per month maximum.)

The exposed models aren't limited to coding tasks—you can connect any AI client and customize parameters like temperature, context window length, and more.

# Ethical Use
- Respect the GitHub Copilot terms of service.
- Minimize the use of the models for non-coding purposes.
- Be mindful of the risk of being banned by GitHub Copilot for misuse.

## 🏃‍♂️ How to Run

1. Get the refresh token

A refresh token is used to get the access token. This token should never be shared with anyone :). You can get the refresh token by following the steps below:

- Run the following command and note down the returned `device_code` and `user_code`.:

```bash
# 01ab8ac9400c4e429b23 is the client_id for the VS Code
curl https://github.com/login/device/code -X POST -d 'client_id=01ab8ac9400c4e429b23&scope=user:email'
```

- Open https://github.com/login/device/ and enter the `user_code`.

- Replace `YOUR_DEVICE_CODE` with the `device_code` obtained earlier and run:

```bash
curl https://github.com/login/oauth/access_token -X POST -d 'client_id=01ab8ac9400c4e429b23&scope=user:email&device_code=YOUR_DEVICE_CODE&grant_type=urn:ietf:params:oauth:grant-type:device_code'
```

- Note down the `access_token` starting with `gho_`.

2. Install and run copilot_more

```bash
git clone https://github.com/jjleng/copilot-more.git
cd copilot-more
# install dependencies
poetry install
# run the server. Replace gho_xxxxx with the refresh token you got in the previous step. Note, you can use any port number you want.
REFRESH_TOKEN=gho_xxxxx poetry run uvicorn copilot_more.server:app --port 15432
```

## ✨ Magic Time
Now you can connect Cline or any other AI client to `http://localhost:15432` and start coding with the power of GPT-4o and Claude-3.5-Sonnet without worrying about the cost. Note, the copilot-more manages the access token, you can use whatever string as API keys if Cline or the AI tools ask for one.

## 🤔 Limitation

The GH Copilot models sit behind an API server that is not fully compatible with the OpenAI API. You cannot pass in a message like this:

```json
{
"role": "user",
"content": [
{
"type": "text",
"text": "\nreview the code\n"
},
{
"type": "text",
"text": "\nreview the code carefully\n"
}
]
}
```
copilot-more takes care of this limitation by converting the message to a format that the GH Copilot API understands. However, without the `type`, we cannot leverage the models' vision capabilities, so that you cannot do screenshot analysis.