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:
boos
2026-06-22 11:32:57 +08:00
parent d9c78ecc73
commit e0a5f57793
2305 changed files with 449355 additions and 0 deletions
+171
View File
@@ -0,0 +1,171 @@
# API 게이트웨이
## API 게이트웨이란?
BoosApi에는 구성된 제공업체를 **OpenAI 호환**, **Claude 네이티브**, **Gemini 네이티브** 엔드포인트로 노출하는 내장 로컬 API 서버가 포함되어 있습니다. 이러한 프로토콜 중 하나를 사용하는 모든 도구나 클라이언트는 BoosApi을 백엔드로 사용할 수 있습니다 — 별도의 API 키나 릴레이 서비스가 필요 없습니다.
사용 사례:
- **Claude Code CLI**, **OpenAI Codex CLI**, **Gemini CLI**, **OpenCode**를 BoosApi을 통해 실행.
- IDE 확장 프로그램을 단일 로컬 관리 엔드포인트에 연결.
- 키당 속도 제한으로 하나의 제공업체 키 세트를 여러 도구에서 공유.
---
## 시작하기
1. **설정 → API 게이트웨이**를 엽니다(또는 <kbd>Cmd/Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>G</kbd>를 누릅니다).
2. **시작**을 클릭하여 게이트웨이 서버를 시작합니다.
3. 기본적으로 서버는 `127.0.0.1:8080`(HTTP)에서 수신합니다. **설정** 탭에서 수신 주소와 포트를 변경할 수 있습니다.
::: tip
게이트웨이 설정에서 **자동 시작**을 활성화하면 BoosApi이 시작될 때 서버가 자동으로 시작됩니다.
:::
---
## API 키 관리
게이트웨이는 제공업체 키와는 별도로 자체 API 키로 수신 요청을 인증합니다.
1. **API 키** 탭으로 이동합니다.
2. **새 키 생성**을 클릭합니다.
3. 각 키를 식별하기 위해 선택적으로 **설명**을 추가합니다(예: *Claude Code*, *VS Code*).
4. 키를 복사합니다 — 한 번만 표시됩니다.
각 키에는 **접두사**, **생성 날짜**, **마지막 사용** 타임스탬프가 표시됩니다. 키는 언제든지 **활성화/비활성화** 또는 **삭제**할 수 있습니다.
::: warning
게이트웨이 키를 다른 API 키처럼 취급하세요. 키를 가진 사람은 게이트웨이가 실행 중일 때 로컬 게이트웨이에 요청을 보낼 수 있습니다.
:::
---
## SSL/TLS
게이트웨이는 HTTP 외에 HTTPS를 제공할 수 있습니다.
### 자동 생성 인증서
1. **설정** 탭을 엽니다.
2. **SSL/TLS**를 활성화하고 **생성** 모드를 선택합니다.
3. BoosApi이 다음에 자가 서명 인증서와 개인 키를 만듭니다:
```
~/.boosapi/ssl/cert.pem
~/.boosapi/ssl/key.pem
```
4. **HTTPS 포트**를 설정합니다(기본값 `8443`).
5. 선택적으로 **SSL 강제**를 활성화하여 모든 HTTP 요청을 HTTPS로 리디렉션합니다.
### 사용자 지정 인증서
**업로드** 모드를 선택하고 자체 인증서와 개인 키 파일의 경로를 제공합니다.
::: info
개인 키는 Unix 시스템에서 파일 모드 `0600`으로 저장되어 다른 사용자가 읽을 수 없도록 합니다.
:::
---
## 사용량 분석
**메트릭** 탭에는 게이트웨이 활동을 모니터링하는 대시보드가 제공됩니다:
| 보기 | 설명 |
|------|------|
| **API 키별** | 각 게이트웨이 키별 요청 볼륨 및 토큰 사용량 |
| **제공업체별** | 각 업스트림 AI 제공업체로 라우팅된 요청 및 토큰 |
| **일별** | 시간 경과에 따른 일별 사용 트렌드 |
이러한 대시보드를 사용하여 비용을 추적하고 이상을 발견하고 제공업체 간에 부하를 분산합니다.
---
## 요청 로그
**개요** 탭에는 다음 세부 정보가 포함된 최근 요청 로그가 표시됩니다:
- **타임스탬프**, **HTTP 메서드**, **경로**
- **상태 코드** 및 **응답 시간**
- 사용된 **제공업체** 및 **모델**
- **토큰 수** (프롬프트 + 완성)
임의의 로그 항목을 클릭하여 전체 요청과 응답을 검사합니다. **로그 지우기** 버튼으로 로그 기록을 재설정합니다.
---
## 구성 템플릿
BoosApi에는 인기 있는 CLI 도구를 위한 기성 구성 스니펫이 제공됩니다. **템플릿** 탭으로 이동하여 도구를 선택하고 **복사**를 클릭하여 필요한 구성을 가져옵니다.
### Claude Code CLI
```bash
claude config set --global apiUrl http://127.0.0.1:8080
claude config set --global apiKey boosapi-xxxx
```
### OpenAI Codex CLI
```bash
export OPENAI_BASE_URL=http://127.0.0.1:8080/v1
export OPENAI_API_KEY=boosapi-xxxx
codex
```
### OpenCode
OpenCode 구성에 추가합니다:
```json
{
"provider": "openai",
"baseURL": "http://127.0.0.1:8080/v1",
"apiKey": "boosapi-xxxx"
}
```
### Gemini CLI
```bash
export GEMINI_API_BASE=http://127.0.0.1:8080
export GEMINI_API_KEY=boosapi-xxxx
gemini
```
### 사용자 지정 클라이언트
OpenAI 호환 Base URL을 허용하는 모든 도구는 게이트웨이에 연결할 수 있습니다:
```
Base URL: http://127.0.0.1:8080/v1
API Key: boosapi-xxxx
```
`boosapi-xxxx`를 **API 키** 탭에서 생성한 키로 교체합니다. SSL이 활성화된 경우 `https://`와 포트 `8443`(또는 구성된 HTTPS 포트)을 사용합니다.
---
## 외부 도구 연결
다음은 OpenAI 호환 클라이언트를 연결하기 위한 일반적인 패턴입니다:
1. BoosApi에서 **게이트웨이 API 키를 생성**합니다.
2. 도구의 구성에서 **Base URL**을 `http://127.0.0.1:8080/v1`(또는 HTTPS 등가)로 설정합니다.
3. **API 키**를 생성한 게이트웨이 키로 설정합니다.
4. BoosApi 제공업체 중 하나에 구성한 **모델을 선택**합니다.
5. 도구를 사용하기 시작합니다 — 모든 요청은 BoosApi을 통해 업스트림 제공업체로 라우팅됩니다.
::: tip
도구가 특정 API 형식(예: Claude 또는 Gemini 네이티브)을 필요로 하는 경우 BoosApi은 요청 형식을 자동으로 감지하여 올바른 제공업체로 라우팅합니다. 형식별로 별도의 엔드포인트를 구성할 필요가 없습니다.
:::
---
## 다음 단계
- [빠른 시작](./getting-started) — 빠른 시작 가이드로 돌아가기
- [제공업체 설정](./providers) — 게이트웨이가 라우팅하는 업스트림 제공업체 추가
- [MCP 서버](./mcp) — AI 도구 호출을 위한 외부 도구 연결