hoopilot 是做什麼的?
一個與 OpenAI 相容的本地代理,可用於 GitHub Copilot 帳戶。
概述
openhoo/hoopilot 是一個本地的代理伺服器,讓你可以透過 GitHub Copilot 訂閱來使用 OpenAI 相容的 API。它攔截針對 OpenAI API 的請求,並將其轉發至 GitHub Copilot 的服務,讓你無需額外費用即可存取 Copilot 的語言模型。
功能特色
- 與 OpenAI 相容的 API:支援完整的 OpenAI API 端點,包括聊天補全(
/v1/chat/completions)與嵌入(/v1/embeddings)。 - 本地代理:在你自己的機器上執行,所有資料保留在本地,且請求會高效代理。
- GitHub Copilot 整合:自動使用你的 GitHub Copilot 帳戶憑證進行驗證。
- 多模型支援:可存取 GPT-4、GPT-4 Turbo 及其他透過 Copilot 提供的模型。
- 跨平台:可在任何支援 Node.js 的平台上運作,並與任何能夠連接到自訂 OpenAI API 端點的工具或 IDE 相容。
安裝與設定
必要條件
- 有效的 GitHub Copilot 訂閱(個人或商業版)
- Node.js 18.x 或更新版本
- npm 或 yarn
安裝
npm install -g @openhoo/hoopilot
或(使用 yarn)
yarn global add @openhoo/hoopilot
設定
- 確保你已使用 GitHub 帳戶登入並啟用 Copilot。
- 啟動代理伺服器:
hoopilot start
預設情況下,伺服器會在 http://localhost:8080 啟動。
- (可選)設定自訂連接埠:
hoopilot start --port 3000
使用方式
將工具或應用程式設定為指向 http://localhost:8080/v1,使用任何 OpenAI 用戶端程式庫。例如:
import openai
openai.api_base = "http://localhost:8080/v1"
openai.api_key = "dummy" # 代理會自動處理驗證
response = openai.ChatCompletion.create(
model="gpt-4",
messages=[{"role": "user", "content": "Hello, world!"}]
)
print(response.choices[0].message.content)
或使用 curl:
curl http://localhost:8080/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-4",
"messages": [{"role": "user", "content": "Hello, world!"}]
}'
環境變數
| 變數名稱 | 說明 | 預設值 |
|---|---|---|
HOOPILOT_PORT | 代理的連接埠 | 8080 |
HOOPILOT_HOST | 綁定主機 | localhost |
COPILOT_TOKEN | GitHub Copilot 權杖(可選;會自動偵測) | 無 |
進階設定
使用 VS Code
在你的 VS Code 設定中設定 openai.experimental.apiBase:
{
"openai.experimental.apiBase": "http://localhost:8080/v1"
}
使用 JetBrains IDE
在使用 OpenAI 外掛的 JetBrains IDE 中,將端點設定為 http://localhost:8080/v1。
常見問題
問:我需要 GitHub Copilot 帳戶嗎? 答:是的,你需要有效的 GitHub Copilot 訂閱才能使用此代理。
問:我可以使用此代理進行商業用途嗎? 答:這取決於你的 GitHub Copilot 許可條款。請查閱你的授權合約。
問:我的資料會安全嗎? 答:所有通訊都在本機進行;你的資料不會在本地網路外傳輸。
授權
本專案採用 MIT 授權 - 請參閱 LICENSE 檔案以了解詳細資訊。
貢獻
歡迎透過問題回報與拉取請求貢獻。請先閱讀 CONTRIBUTING.md。
支援
如有問題或需要協助,請在 GitHub 儲存庫上開啟問題。