feat(desktop): embed BoosAPI Desktop client as a subproject
Vendor the rebranded BoosAPI Desktop client (Tauri + Vue) into metapi as a monorepo subdirectory under desktop/. Source only — node_modules, dist, Cargo target and the upstream .git history are excluded. desktop/ keeps its own independent Cargo workspace (desktop/src-tauri with crates/*); it is not part of the backend boosapi crate, so a `cargo check` at the metapi root still compiles only the backend. Build the desktop app from desktop/src-tauri per desktop/README.md. Note: app icons are still placeholder assets pending the final BoosAPI logo. The updater signing keys live outside the repo and are not included.
This commit is contained in:
@@ -0,0 +1,204 @@
|
||||
# API 閘道
|
||||
|
||||
## 什麼是 API 閘道?
|
||||
|
||||
BoosApi 內建了一個本機 API 閘道伺服器,可以將您在 BoosApi 中設定的 AI 服務供應商統一暴露為標準 API 介面。其他工具和客戶端(如 Claude Code、Codex CLI、Cursor 等)可以透過這個閘道存取您的所有模型,無需為每個工具分別設定 API 金鑰。
|
||||
|
||||
閘道支援以下相容格式:
|
||||
|
||||
- **OpenAI 相容** — `/v1/chat/completions`
|
||||
- **Claude 原生** — Anthropic API 格式
|
||||
- **Gemini 原生** — Google AI API 格式
|
||||
|
||||
::: tip 使用場景
|
||||
如果您已經在 BoosApi 中設定了多個服務供應商和金鑰,API 閘道可以讓其他開發工具直接復用這些設定,省去重複設定的麻煩。同時,閘道提供統一的用量統計和存取控制。
|
||||
:::
|
||||
|
||||
## 快速上手
|
||||
|
||||
### 啟用閘道
|
||||
|
||||
1. 進入 **設定 → API 閘道**
|
||||
2. 開啟閘道開關
|
||||
3. 設定監聽參數:
|
||||
- **連接埠** — 閘道監聽的連接埠號,預設 `8080`
|
||||
- **主機** — 監聽位址,預設 `127.0.0.1`(僅本機存取)
|
||||
|
||||
::: warning 網路安全
|
||||
如果將主機設定為 `0.0.0.0`,閘道將對所有網路介面開放。請確保您了解其安全風險,並配合 API 金鑰和防火牆使用。
|
||||
:::
|
||||
|
||||
### 測試連通性
|
||||
|
||||
閘道啟動後,可以用 `curl` 快速驗證:
|
||||
|
||||
```bash
|
||||
curl http://127.0.0.1:8080/v1/models \
|
||||
-H "Authorization: Bearer your-gateway-api-key"
|
||||
```
|
||||
|
||||
如果回傳了模型清單,說明閘道執行正常。
|
||||
|
||||
## API 金鑰管理
|
||||
|
||||
閘道使用獨立的 API 金鑰體系來控制存取權限。
|
||||
|
||||
### 產生新金鑰
|
||||
|
||||
1. 在 **API 閘道** 頁面中找到 **金鑰管理** 區域
|
||||
2. 點擊 **產生金鑰**
|
||||
3. 為金鑰新增描述備注(如「Claude Code 專用」、「團隊共享」)
|
||||
4. 複製並妥善儲存產生的金鑰
|
||||
|
||||
::: danger 金鑰安全
|
||||
金鑰僅在建立時完整顯示一次。請立即複製儲存,之後只能看到金鑰前綴。
|
||||
:::
|
||||
|
||||
### 撤銷 / 停用金鑰
|
||||
|
||||
- **停用** — 暫時停用金鑰,可隨時重新啟用
|
||||
- **刪除** — 永久撤銷金鑰,使用該金鑰的所有客戶端將立即失去存取權限
|
||||
|
||||
### 描述備注
|
||||
|
||||
為每個金鑰新增描述可以幫助您管理多個客戶端的存取。例如區分不同工具或團隊成員使用的金鑰。
|
||||
|
||||
## SSL/TLS
|
||||
|
||||
閘道支援 HTTPS 加密通訊,部分工具(如 Claude Code)要求使用 HTTPS 連線。
|
||||
|
||||
### 自動自簽憑證
|
||||
|
||||
啟用 SSL 後,BoosApi 會自動產生自簽憑證,無需手動操作。憑證檔案儲存在:
|
||||
|
||||
```
|
||||
~/.boosapi/ssl/
|
||||
├── cert.pem # 自簽憑證
|
||||
└── key.pem # 私鑰(Unix 系統權限 0600)
|
||||
```
|
||||
|
||||
### 自訂憑證
|
||||
|
||||
如果您有自己的 SSL 憑證(如 Let's Encrypt 簽發的憑證),可以在閘道設定中指定憑證和私鑰的路徑。
|
||||
|
||||
### 設定選項
|
||||
|
||||
| 選項 | 說明 |
|
||||
|------|------|
|
||||
| 啟用 SSL | 是否開啟 HTTPS |
|
||||
| SSL 連接埠 | HTTPS 監聽連接埠 |
|
||||
| 憑證路徑 | cert.pem 檔案路徑 |
|
||||
| 私鑰路徑 | key.pem 檔案路徑 |
|
||||
| 強制 SSL | 是否將所有 HTTP 請求重新導向到 HTTPS |
|
||||
|
||||
::: info 自簽憑證信任
|
||||
使用自簽憑證時,客戶端可能會回報憑證不受信任的警告。大部分 CLI 工具可以透過設定環境變數來跳過憑證驗證(見下方設定範本)。
|
||||
:::
|
||||
|
||||
## 用量統計
|
||||
|
||||
閘道提供詳細的用量統計面板,幫助您了解 API 的使用情況。
|
||||
|
||||
### 請求量面板
|
||||
|
||||
即時顯示閘道處理的請求總量、成功率和錯誤率。
|
||||
|
||||
### Token 用量
|
||||
|
||||
依不同維度查看 Token 消耗:
|
||||
|
||||
- **依金鑰** — 每個 API 金鑰使用了多少 Token
|
||||
- **依服務供應商** — 每個後端服務供應商處理了多少請求和 Token
|
||||
- **依日期** — 每日的 Token 使用趨勢
|
||||
|
||||
::: tip
|
||||
透過用量統計,您可以了解哪個工具消耗最多資源,合理分配 API 配額。
|
||||
:::
|
||||
|
||||
## 請求日誌
|
||||
|
||||
閘道記錄所有經過它的 API 請求,方便除錯和稽核。
|
||||
|
||||
每條日誌包含以下資訊:
|
||||
|
||||
| 欄位 | 說明 |
|
||||
|------|------|
|
||||
| 時間 | 請求的時間戳記 |
|
||||
| 方法 | HTTP 方法(GET、POST 等) |
|
||||
| 路徑 | 請求路徑 |
|
||||
| 模型 | 請求使用的模型 |
|
||||
| 服務供應商 | 轉發到的後端服務供應商 |
|
||||
| 狀態碼 | HTTP 回應狀態碼 |
|
||||
| Token | 輸入/輸出 Token 數量 |
|
||||
| 延遲 | 請求處理耗時 |
|
||||
|
||||
支援依時間範圍、狀態碼、模型等條件篩選日誌。
|
||||
|
||||
## 設定範本
|
||||
|
||||
BoosApi 內建了常見開發工具的設定範本,幫助您快速接入。以下是一些常用工具的設定方式:
|
||||
|
||||
### Claude Code CLI
|
||||
|
||||
```bash
|
||||
export ANTHROPIC_BASE_URL=https://127.0.0.1:8443
|
||||
export ANTHROPIC_API_KEY=your-gateway-api-key
|
||||
export NODE_TLS_REJECT_UNAUTHORIZED=0
|
||||
|
||||
claude
|
||||
```
|
||||
|
||||
::: tip
|
||||
`NODE_TLS_REJECT_UNAUTHORIZED=0` 用於跳過自簽憑證驗證。如果您使用了受信任的憑證,可以移除此設定。
|
||||
:::
|
||||
|
||||
### OpenAI Codex CLI
|
||||
|
||||
```bash
|
||||
export OPENAI_BASE_URL=http://127.0.0.1:8080/v1
|
||||
export OPENAI_API_KEY=your-gateway-api-key
|
||||
|
||||
codex
|
||||
```
|
||||
|
||||
### OpenCode
|
||||
|
||||
```bash
|
||||
export OPENAI_BASE_URL=http://127.0.0.1:8080/v1
|
||||
export OPENAI_API_KEY=your-gateway-api-key
|
||||
|
||||
opencode
|
||||
```
|
||||
|
||||
### Gemini CLI
|
||||
|
||||
```bash
|
||||
export GEMINI_API_KEY=your-gateway-api-key
|
||||
export GEMINI_BASE_URL=http://127.0.0.1:8080
|
||||
|
||||
gemini
|
||||
```
|
||||
|
||||
### 自訂客戶端
|
||||
|
||||
對於任何支援 OpenAI 相容 API 的客戶端,使用以下設定:
|
||||
|
||||
- **Base URL**: `http://127.0.0.1:8080/v1`
|
||||
- **API Key**: 您的閘道 API 金鑰
|
||||
- **模型**: 透過 `/v1/models` 介面查詢可用模型
|
||||
|
||||
## 接入外部工具
|
||||
|
||||
除 CLI 工具外,許多圖形化工具也支援自訂 API 端點。通用設定方式:
|
||||
|
||||
1. 在工具的設定中找到 API 設定或自訂端點選項
|
||||
2. 將 Base URL 設定為 BoosApi 閘道位址
|
||||
3. 將 API Key 設定為閘道金鑰
|
||||
4. 儲存後即可使用 BoosApi 設定的所有模型
|
||||
|
||||
::: tip 統一管理的優勢
|
||||
透過 API 閘道統一管理,您可以:
|
||||
- 在 BoosApi 中集中管理所有服務供應商金鑰,其他工具只需一個閘道金鑰
|
||||
- 在用量統計中查看所有工具的使用情況
|
||||
- 利用多金鑰輪詢提高可靠性
|
||||
:::
|
||||
Reference in New Issue
Block a user