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
+5
View File
@@ -0,0 +1,5 @@
---
layout: page
---
<DownloadHero />
+52
View File
@@ -0,0 +1,52 @@
# 기능 목록
BoosApi은 로컬 우선 AI 데스크톱 워크스페이스입니다. 이 페이지는 v0.0.85 기준으로 provider import, third-party data import, MCP, HTML rendering, backup, gateway 기능을 반영합니다.
## 채팅 및 모델
- **멀티 제공업체 채팅** — OpenAI, Claude, Gemini, DeepSeek, Qwen 및 OpenAI 호환 엔드포인트를 Base URL, API Path, headers, proxy rules와 함께 연결합니다.
- **제공업체 온보딩** — boosapi:// provider links 및 CC Switch import로 사용자 확인 후 provider profiles를 BoosApi으로 가져옵니다.
- **모델 관리** — remote model sync, groups, latency test, capabilities, context length, sampling defaults, reasoning profiles, per-model extra_body를 설정합니다.
- **대화 워크플로** — streaming replies, thinking blocks, message versions, branches, title-generation status, compression, multi-model comparison을 지원합니다.
## AI Agent
- **Agent mode** — 모델이 controlled workflow에서 files edit, commands run, code analysis를 수행합니다.
- **권한 제어** — standard review, auto-accept edits, full-access mode를 선택하고 working-directory sandbox checks를 유지합니다.
- **승인 및 비용 UI** — tool calls를 실시간 검토하고 allow decisions를 기억하며 session token/cost를 추적합니다.
## 콘텐츠 렌더링
- **Markdown 및 수식** — Markdown, code highlighting, tables, task lists, LaTeX를 streaming conversation에서 렌더링합니다.
- **코드, 다이어그램, Artifact** — Monaco, Mermaid, D2, Artifact panel로 code, Markdown notes, reports, previews를 다룹니다.
- **HTML fragment rendering** — generated HTML fragments를 안전하게 preview하고 최근 streaming stability fixes를 반영합니다.
## 검색 및 지식
- **웹 검색** — Tavily, Zhipu WebSearch, Bocha 등과 cited sources, generated queries를 지원합니다.
- **로컬 지식베이스** — sqlite-vec로 private documents를 index하고 retrieval/rerank options 및 feedback을 확인합니다.
- **컨텍스트 관리** — files, search results, knowledge snippets, memories, tool output을 conversation context에 첨부합니다.
## 도구 및 확장
- **MCP protocol** — stdio, SSE, StreamableHTTP transport의 Model Context Protocol servers를 실행합니다.
- **Built-in tools** — @boosapi/fetch 및 file search 같은 built-in MCP tools를 별도 server 없이 사용합니다.
- **Tool loop limit** — MCP tool-call loop count를 설정하고 interrupted/stuck tool sessions에서 더 안정적으로 복구합니다.
## API 게이트웨이
- **Local gateway** — OpenAI Chat Completions, OpenAI Responses, Claude-native, Gemini-native endpoints를 desktop app에서 노출합니다.
- **Access and observability** — gateway keys, SSL/TLS certificates, request logs, usage analytics를 로컬에서 관리합니다.
- **Client templates** — Claude Code, Codex CLI, OpenCode, Gemini CLI, custom clients templates를 제공합니다.
## 데이터 가져오기 및 백업
- **Third-party imports** — ChatGPT official exports, Cherry Studio backups, Kelivo backups를 preview counts, warnings, duplicate handling과 함께 가져옵니다.
- **Provider and file migration** — Cherry Studio/Kelivo import에서 linked providers, API keys, file attachments를 선택적으로 migration합니다.
- **Backups** — local folders, WebDAV, S3-compatible storage로 backup/restore를 수행합니다.
## 데스크톱 및 보안
- **Local encryption** — app state는 ~/.boosapi/, user files는 ~/Documents/boosapi/에 저장되며 API keys는 AES-256 local master key로 보호됩니다.
- **Desktop integration** — tray, always-on-top, global shortcuts, auto-start, proxy settings, automatic update checks를 지원합니다.
- **11 interface languages** — Simplified/Traditional Chinese, English, Japanese, Korean, French, German, Spanish, Russian, Hindi, Arabic을 전환할 수 있습니다.
+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 도구 호출을 위한 외부 도구 연결
@@ -0,0 +1,197 @@
# 빠른 시작
## 설치
[다운로드 페이지](/ko/download) 또는 [GitHub Releases](https://github.com/BoosApi-Desktop/BoosApi/releases)에서 최신 설치 프로그램을 다운로드하세요.
### macOS
| 칩 | 파일 |
|----|------|
| Apple Silicon (M1 / M2 / M3 / M4) | `BoosApi_x.x.x_aarch64.dmg` |
| Intel | `BoosApi_x.x.x_x64.dmg` |
1. `.dmg`를 열고 **BoosApi**을 **응용 프로그램** 폴더로 드래그합니다.
2. BoosApi을 시작합니다. macOS가 앱을 차단하면 **시스템 설정 → 개인 정보 보호 및 보안**으로 이동하여 **그래도 열기**를 클릭하세요.
::: warning macOS: "앱이 손상되었습니다" 또는 "개발자를 확인할 수 없습니다"
이 메시지 중 하나가 표시되면 터미널을 열고 다음을 실행하세요:
```bash
xattr -c /Applications/BoosApi.app
```
그런 다음 앱을 다시 실행합니다. 이렇게 하면 macOS가 서명되지 않은 다운로드에 적용하는 격리 플래그가 제거됩니다.
:::
### Windows
| 아키텍처 | 파일 |
|---------|------|
| x64 (대부분의 PC) | `BoosApi_x.x.x_x64-setup.exe` |
| ARM64 | `BoosApi_x.x.x_arm64-setup.exe` |
설치 프로그램을 실행하고 마법사를 따릅니다. 시작 메뉴 또는 바탕 화면 바로 가기에서 BoosApi을 시작합니다.
### Linux
| 형식 | 아키텍처 | 파일 |
|------|---------|------|
| Debian / Ubuntu | x64 | `BoosApi_x.x.x_amd64.deb` |
| Debian / Ubuntu | ARM64 | `BoosApi_x.x.x_arm64.deb` |
| Fedora / openSUSE | x64 | `BoosApi_x.x.x_x86_64.rpm` |
| Fedora / openSUSE | ARM64 | `BoosApi_x.x.x_aarch64.rpm` |
| 모든 배포판 | x64 | `BoosApi_x.x.x_amd64.AppImage` |
| 모든 배포판 | ARM64 | `BoosApi_x.x.x_aarch64.AppImage` |
```bash
# Debian / Ubuntu
sudo dpkg -i BoosApi_x.x.x_amd64.deb
# Fedora / openSUSE
sudo rpm -i BoosApi_x.x.x_x86_64.rpm
# AppImage (모든 배포판)
chmod +x BoosApi_x.x.x_amd64.AppImage
./BoosApi_x.x.x_amd64.AppImage
```
---
## 초기 설정
### 1. 설정 열기
BoosApi을 시작하고 사이드바 하단의 **기어 아이콘**을 클릭하거나 <kbd>Cmd/Ctrl</kbd>+<kbd>,</kbd>를 누릅니다.
### 2. 제공업체 추가
**설정 → 제공업체**로 이동하여 **+** 버튼을 클릭합니다.
1. 표시 이름을 입력합니다(예: *OpenAI*).
2. 제공업체 유형을 선택합니다(OpenAI, Anthropic, Google Gemini 등).
3. API 키를 붙여넣습니다.
4. **Base URL**을 확인합니다 — 내장 유형에는 공식 엔드포인트가 미리 채워져 있습니다. 서드파티 릴레이나 프록시를 사용하는 경우에만 변경하세요.
::: tip
원하는 만큼 제공업체를 추가할 수 있습니다. 각 제공업체는 자체 API 키와 모델 세트를 독립적으로 관리합니다.
:::
### 3. 모델 가져오기
**모델 가져오기**를 클릭하여 제공업체의 API에서 사용 가능한 모델 목록을 가져옵니다. 필요한 경우 모델 ID를 수동으로 추가할 수도 있습니다.
### 4. 기본 모델 설정
**설정 → 기본 모델**로 이동하여 새 대화에서 기본으로 사용할 제공업체와 모델을 선택합니다.
---
## 첫 번째 대화
1. 사이드바의 **새 채팅**을 클릭합니다(또는 <kbd>Cmd/Ctrl</kbd>+<kbd>N</kbd>을 누릅니다).
2. 채팅 상단의 모델 선택기에서 모델을 선택합니다.
3. 메시지를 입력하고 <kbd>Enter</kbd>를 누릅니다.
4. BoosApi은 실시간으로 응답을 스트리밍합니다. 사고 블록을 지원하는 모델(Claude, DeepSeek R1 등)은 답변 위의 접을 수 있는 섹션에 추론 과정을 표시합니다.
---
## 핵심 개념
### 대화 브랜치
임의의 메시지를 편집하거나 재생성하여 브랜치를 만듭니다. 원래 버전과 새 버전은 같은 대화 트리에 공존합니다 — 각 메시지의 화살표 컨트롤로 탐색할 수 있습니다.
### 메시지 버전
재생성할 때마다 새 버전이 만들어집니다. 메시지 버블의 **◀ ▶** 화살표로 버전을 전환합니다.
### 컨텍스트 첨부
파일, 검색 결과, MCP 도구 출력을 대화 컨텍스트에 직접 첨부하여 프롬프트를 풍부하게 합니다.
---
## 단축키
다음은 기본 키보드 단축키입니다. 모든 단축키는 **설정 → 단축키**에서 사용자 지정할 수 있습니다.
| 단축키 | 작업 |
|--------|------|
| <kbd>Cmd/Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>A</kbd> | 현재 창 표시/숨기기 |
| <kbd>Cmd/Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>Alt</kbd>+<kbd>A</kbd> | 모든 창 표시/숨기기 |
| <kbd>Cmd/Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>W</kbd> | 창 닫기 |
| <kbd>Cmd/Ctrl</kbd>+<kbd>N</kbd> | 새 대화 |
| <kbd>Cmd/Ctrl</kbd>+<kbd>,</kbd> | 설정 열기 |
| <kbd>Cmd/Ctrl</kbd>+<kbd>K</kbd> | 명령 팔레트 |
| <kbd>Cmd/Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>M</kbd> | 모델 선택기 전환 |
| <kbd>Cmd/Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>↑</kbd> | 마지막 메시지 입력 |
| <kbd>Cmd/Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>K</kbd> | 컨텍스트 지우기 |
| <kbd>Cmd/Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>Backspace</kbd> | 대화 메시지 지우기 |
| <kbd>Cmd/Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>G</kbd> | API 게이트웨이 전환 |
::: info
전역 단축키(창 표시/숨기기)는 BoosApi이 백그라운드에 있을 때도 시스템 전체에서 작동합니다. BoosApi은 다른 애플리케이션의 단축키와의 충돌을 감지하고 설정에서 경고합니다.
:::
---
## 데스크톱 설정
**설정**을 열어 데스크톱 경험을 구성합니다.
| 설정 | 옵션 |
|------|------|
| **테마** | 다크, 라이트 또는 시스템(자동) |
| **언어** | 한국어, English, 简体中文 |
| **시스템 트레이** | 트레이로 최소화, 트레이로 닫기 |
| **자동 시작** | 컴퓨터 시작 시 BoosApi 시작 |
| **항상 위에 표시** | 다른 애플리케이션 위에 창 유지 |
| **프록시** | 호스트와 포트를 지정한 HTTP 또는 SOCKS5 프록시 |
---
## 데이터 및 백업
### 데이터 디렉토리
BoosApi은 두 위치에 데이터를 저장합니다:
| 경로 | 내용 |
|------|------|
| `~/.boosapi/` | 애플리케이션 상태 — 데이터베이스, 암호화 키, 벡터 DB, SSL 인증서 |
| `~/Documents/boosapi/` | 사용자 파일 — 이미지, 문서, 백업 |
::: tip
Windows에서 경로는 `%USERPROFILE%\.boosapi\`와 `%USERPROFILE%\Documents\boosapi\`입니다.
:::
### 자동 백업
**설정 → 백업**으로 이동하여 자동 백업을 구성합니다:
- **활성화** — 자동 백업 켜기/끄기.
- **간격** — 백업 빈도(시간 단위).
- **최대 수** — 가장 오래된 것이 삭제되기 전에 유지할 백업 수.
- **스토리지 대상** — 로컬 디렉토리(기본값: `~/Documents/boosapi/backups/`) 또는 WebDAV 서버.
### 수동 백업 및 복원
백업 설정 패널에서 언제든지 수동 백업을 만들 수 있습니다. 복원하려면 기록 목록에서 백업을 선택하고 **복원**을 클릭합니다.
### 대화 내보내기
사이드바에서 대화를 오른쪽 클릭하여 내보냅니다:
- **PNG** — 채팅의 렌더링 스크린샷
- **Markdown** — 헤더, 코드 블록, LaTeX가 포함된 형식
- **일반 텍스트** — 메시지 구분 기호가 있는 간단한 텍스트
- **JSON** — 전체 메타데이터를 포함한 구조화된 데이터
---
## 다음 단계
- [제공업체 설정](./providers) — AI 제공업체 추가 및 관리
- [MCP 서버](./mcp) — AI 기능을 확장하는 외부 도구 연결
- [API 게이트웨이](./gateway) — 제공업체를 로컬 API 서버로 노출
+205
View File
@@ -0,0 +1,205 @@
# MCP 서버
## MCP란?
[Model Context Protocol(MCP)](https://modelcontextprotocol.io/)은 AI 모델이 외부 도구 및 데이터 소스와 상호 작용할 수 있게 하는 오픈 표준입니다. BoosApi은 MCP 클라이언트 역할을 합니다 — MCP 서버를 추가하면 AI가 대화 중에 해당 서버가 노출하는 도구를 호출할 수 있습니다.
---
## 전송 프로토콜
BoosApi은 MCP 서버와의 통신을 위해 3가지 전송 프로토콜을 지원합니다:
| 프로토콜 | 연결 | 사용 사례 | 구성 |
|---------|------|---------|------|
| **Stdio** | 로컬 프로세스 | `npx`, `uvx`, `python` 등으로 시작하는 머신에 설치된 도구 | `command` + `args` + 선택적 `env` |
| **SSE** | 원격 서버 | 원격 머신이나 클라우드 서비스에서 호스팅되는 Server-Sent Events 엔드포인트 | `url` |
| **StreamableHTTP** | 원격 서버 | HTTP 스트리밍 엔드포인트(SSE의 새로운 대안) | `url` |
---
## MCP 서버 추가
### 폼으로 만들기
1. **설정 → MCP 서버**로 이동합니다.
2. **MCP 서버 추가**를 클릭합니다.
3. 이름을 입력하고 전송 프로토콜을 선택합니다.
4. 선택한 프로토콜의 필드를 입력합니다:
- **Stdio** — 실행할 명령, 인수(JSON 배열), 환경 변수(JSON 객체), 타임아웃.
- **SSE** — 엔드포인트 URL, 타임아웃.
- **StreamableHTTP** — 엔드포인트 URL, 타임아웃.
5. **저장**을 클릭합니다.
### JSON 가져오기
**JSON 가져오기**를 클릭하고 구성 객체를 붙여넣습니다. BoosApi은 표준 MCP JSON 형식을 허용합니다:
#### Stdio 서버
```json
{
"mcpServers": {
"fetch": {
"command": "uvx",
"args": ["mcp-server-fetch"]
}
}
}
```
#### SSE 서버
```json
{
"mcpServers": {
"remote-tools": {
"type": "sse",
"url": "https://example.com/sse"
}
}
}
```
#### StreamableHTTP 서버
```json
{
"mcpServers": {
"remote-http": {
"type": "streamablehttp",
"url": "https://example.com/mcp"
}
}
}
```
#### 여러 서버 한 번에
```json
{
"mcpServers": {
"fetch": {
"command": "uvx",
"args": ["mcp-server-fetch"]
},
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/me/projects"]
},
"remote": {
"type": "sse",
"url": "https://example.com/sse"
}
}
}
```
---
## 구성 예시
### 웹 가져오기 — `mcp-server-fetch`
웹 페이지를 가져와 AI를 위한 읽기 쉬운 텍스트로 변환합니다.
```json
{
"mcpServers": {
"fetch": {
"command": "uvx",
"args": ["mcp-server-fetch"]
}
}
}
```
### 파일 작업 — `@modelcontextprotocol/server-filesystem`
AI에게 머신의 특정 디렉토리에 대한 읽기/쓰기 액세스를 제공합니다.
```json
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/Users/me/documents",
"/Users/me/projects"
]
}
}
}
```
### 원격 SSE 서버
Server-Sent Events를 통해 원격 도구 서버에 연결합니다.
```json
{
"mcpServers": {
"cloud-tools": {
"type": "sse",
"url": "https://mcp.example.com/sse"
}
}
}
```
### 환경 변수가 있는 Stdio
환경 변수를 통해 API 키나 구성을 서버 프로세스에 전달합니다.
```json
{
"mcpServers": {
"weather": {
"command": "python",
"args": ["-m", "weather_server"],
"env": {
"WEATHER_API_KEY": "your-api-key"
}
}
}
}
```
---
## 내장 도구
BoosApi에는 외부 MCP 서버를 추가하지 않고도 사용 가능한 내장 도구가 포함되어 있습니다:
| 도구 | 설명 |
|------|------|
| **@boosapi/fetch** | 웹 페이지 및 HTTP 리소스 가져오기 |
| **@boosapi/search-file** | 로컬 파일 시스템에서 파일 검색 |
내장 도구는 사용자 지정 서버와 함께 MCP 서버 설정에 나열되며 개별적으로 활성화 또는 비활성화할 수 있습니다.
---
## 도구 실행 패널
AI가 대화 중에 MCP 도구를 호출하면 BoosApi은 채팅에 인라인으로 **도구 실행 패널**을 표시합니다. 패널에는 다음이 표시됩니다:
- **도구 이름**과 해당 **서버**.
- 도구에 전송된 **입력 인수**.
- 도구에 의해 반환된 **출력**.
- 실행 상태(실행 중, 성공 또는 실패).
대화의 임의의 도구 호출을 클릭하여 세부 정보를 확장합니다. 이를 통해 AI가 무엇을 했는지 확인하고 예상치 못한 결과를 디버그하는 것이 쉬워집니다.
---
## 도구 루프 제한
Settings -> MCP에서 MCP-enabled response의 consecutive tool-call iterations 최대값을 설정할 수 있습니다. unknown servers를 테스트할 때는 낮추고, 여러 도구를 의도적으로 chaining하는 workflows에서는 높일 수 있습니다.
## 다음 단계
- [API 게이트웨이](./gateway) — 제공업체를 로컬 API 서버로 노출
- [빠른 시작](./getting-started) — 빠른 시작 가이드로 돌아가기
+207
View File
@@ -0,0 +1,207 @@
# 제공업체 설정
BoosApi은 동시에 여러 AI 제공업체에 연결할 수 있습니다. 각 제공업체는 자체 API 키, 모델 목록, 매개변수 기본값을 갖습니다.
## 지원되는 제공업체
BoosApi은 다음 제공업체를 최우선으로 지원합니다. OpenAI 호환 API를 공개하는 모든 서비스도 즉시 사용 가능합니다.
| 제공업체 | 모델 예시 |
|---------|---------|
| **OpenAI** | GPT-4o, GPT-4, o3, o4-mini |
| **Anthropic** | Claude 4 Sonnet, Claude 4 Opus, Claude 3.5 Sonnet |
| **Google** | Gemini 2.5 Pro, Gemini 2.5 Flash, Gemini 2.0 |
| **DeepSeek** | DeepSeek V3, DeepSeek R1 |
| **Alibaba Cloud** | Qwen 시리즈 |
| **Zhipu AI** | GLM 시리즈 |
| **xAI** | Grok 시리즈 |
| **OpenAI 호환 API** | Ollama, vLLM, LiteLLM, 서드파티 릴레이 등 |
---
## 제공업체 추가
1. **설정 → 제공업체**로 이동합니다.
2. 왼쪽 하단의 **+** 버튼을 클릭합니다.
3. 제공업체 세부 정보를 입력합니다:
| 필드 | 설명 |
|------|------|
| **이름** | 사이드바 표시 이름(예: *OpenAI*) |
| **유형** | 제공업체 유형 — 기본 Base URL과 API 동작 결정 |
| **아이콘** | 시각적 식별을 위한 선택적 아이콘 |
| **API 키** | 제공업체 대시보드의 시크릿 키 |
| **Base URL** | API 엔드포인트(내장 유형에는 미리 채워짐, 릴레이용으로 변경 가능) |
| **API 경로** | 요청 경로 — 기본값은 `/v1/chat/completions` |
::: tip
서드파티 릴레이 서비스의 경우 유형을 **OpenAI**(또는 해당 업스트림 유형)로 설정하고 **Base URL**을 릴레이의 엔드포인트로 변경합니다.
:::
---
## 웹사이트 링크에서 가져오기
제공업체 웹사이트, 릴레이 서비스 대시보드, 프라이빗 모델 플랫폼, 로컬 게이트웨이 관리 페이지는 **BoosApi에서 열기** 링크를 제공할 수 있습니다. 사용자가 클릭하면 브라우저가 BoosApi 데스크톱 앱을 열고, BoosApi은 **설정 → 제공업체**로 이동해 확인 대화상자를 표시합니다. 가져오기는 사용자가 확인한 뒤에만 실행됩니다.
### 사용자 흐름
1. 제공업체 링크 가져오기를 지원하는 BoosApi 버전을 설치하고 엽니다.
2. 브라우저에서 제공업체가 제공한 **BoosApi에서 열기** 링크를 클릭합니다.
3. BoosApi 확인 대화상자에서 제공업체 이름, Base URL, 제공업체 유형, API 키 접두사를 확인합니다.
4. BoosApi은 같은 **Base URL + 유형**의 기존 제공업체를 재사용합니다. 없으면 새 제공업체를 만들고, API 키가 아직 없을 때만 추가합니다.
BoosApi은 API 키를 자동으로 검증하거나 모델 목록을 자동으로 가져오지 않습니다. 가져온 뒤 **모델 가져오기**를 클릭하거나 모델 ID를 수동으로 추가하세요.
### 링크 형식
```text
boosapi://providers?name=<name>&baseurl=<base-url>&apikey=<api-key>&type=<provider-type>
```
예:
```text
boosapi://providers?name=OpenAI&baseurl=https%3A%2F%2Fapi.openai.com&apikey=sk-xxx&type=openai
```
### 매개변수
| 매개변수 | 필수 | 설명 |
|----------|------|------|
| `name` | 예 | BoosApi에 표시할 이름. 예: `OpenAI`, `My Relay` |
| `baseurl` | 예 | URL 인코딩된 Base URL. `http` / `https`만 허용되며 query와 hash는 거부됩니다. |
| `apikey` | 예 | BoosApi에 저장할 API 키. 확인 대화상자에는 접두사만 표시됩니다. |
| `type` | 예 | 제공업체 유형. 허용 값: `openai`, `openai_responses`, `anthropic`, `gemini`, `custom`. |
`baseurl`은 BoosApi의 기존 강제 접미사도 사용할 수 있습니다(예: `https://example.com!`). 링크로 가져올 때는 `api_path`가 설정되지 않으며, 선택한 제공업체 유형의 기본 경로가 계속 사용됩니다.
### 웹사이트 설정
모든 동적 값은 `encodeURIComponent` 또는 `URLSearchParams`로 인코딩하세요:
```html
<a id="open-boosapi" href="#">BoosApi에서 열기</a>
<script>
const provider = {
name: 'My Relay',
baseurl: 'https://api.example.com',
apikey: 'sk-user-key',
type: 'openai',
};
const params = new URLSearchParams({
name: provider.name,
baseurl: provider.baseurl,
apikey: provider.apikey,
type: provider.type,
});
document.getElementById('open-boosapi').href = `boosapi://providers?${params.toString()}`;
</script>
```
서비스에서 API 키를 온라인으로 생성할 수 있다면, 사용자가 로그인하고 명시적으로 키를 선택하거나 생성한 뒤에만 링크를 만드는 것이 좋습니다.
::: warning 보안
URL에 포함된 API 키는 브라우저 기록, 로그, 확장 프로그램, 분석 스크립트에 남을 수 있습니다. 실제 키를 공개 페이지, 정적 HTML, 서드파티 리디렉션 링크에 넣지 마세요. 사용자 전용 계정 페이지에서 확인 후 생성하는 방식을 권장합니다.
:::
::: tip 테스트
`boosapi://`는 설치된 데스크톱 앱이 시스템에 등록하는 사용자 지정 프로토콜입니다. 웹사이트나 Vite 개발 서버만 실행해서는 등록되지 않습니다. 클릭해도 BoosApi이 열리지 않으면 최신 BoosApi 데스크톱 앱을 먼저 설치하거나 다시 빌드하세요.
:::
---
## CC Switch에서 가져오기
Settings -> Providers에서 CC Switch provider configurations를 스캔할 수 있습니다. 후보를 검토하고 importable rows를 선택하면 providers, Base URLs, API keys, model lists를 BoosApi으로 가져옵니다. OAuth-only entries나 reusable keys가 없는 항목은 이유와 함께 건너뜁니다.
## 고급 모델 요청 본문
각 모델은 extra_body JSON object를 정의할 수 있으며 OpenAI-compatible Chat Completions requests에 flatten되어 추가됩니다. enable_thinking 같은 vendor-specific options에 유용합니다. BoosApi은 JSON을 검증하고 model, messages, stream, tools, base sampling fields 덮어쓰기를 차단합니다.
## 멀티 키 로테이션
BoosApi은 부하 분산과 속도 제한 회피를 위해 제공업체별로 여러 API 키를 지원합니다.
### 키 추가
제공업체 상세 패널에서 **키 추가**를 클릭하여 추가 API 키를 추가합니다. 각 키에는 접두사, 생성 날짜, 마지막 사용 타임스탬프가 표시됩니다.
### 로테이션 작동 방식
BoosApi은 라운드 로빈 인덱스를 사용하여 활성화된 키를 자동으로 로테이션합니다. 요청이 완료되면 로테이션 인덱스가 다음 키로 진행됩니다. 키가 비활성화되거나 검증에 실패하면 건너뜁니다.
### 키 검증
키 옆의 **검증** 버튼을 클릭하여 제공업체의 API에 대해 검증합니다. 검증 결과와 오류 메시지가 기록됩니다.
---
## 모델 관리
### 모델 가져오기
제공업체 상세 패널에서 **모델 가져오기**를 클릭하여 제공업체 API에서 사용 가능한 모델의 전체 목록을 가져옵니다. 발견된 모델은 자동으로 로컬 목록에 추가됩니다.
### 모델 수동 추가
API에서 반환되지 않는 모델(예: 파인튜닝된 모델이나 새 릴리스)은 모델 ID를 직접 입력하여 추가할 수 있습니다.
### 모델별 매개변수
각 모델에 자체 기본 매개변수 재정의를 설정할 수 있습니다:
| 매개변수 | 설명 |
|---------|------|
| **온도** | 무작위성 제어(0 = 결정론적, 높을수록 더 창의적) |
| **최대 토큰** | 응답의 최대 토큰 수 |
| **Top P** | 핵 샘플링 임계값 |
| **빈도 페널티** | 토큰 시퀀스 반복 감소 |
| **존재 페널티** | 모델이 새 주제를 도입하도록 장려 |
### 모델 능력
BoosApi은 모델별로 **비전**, **함수 호출**, **추론** 등의 능력을 추적하고 태그로 표시합니다. 이러한 능력은 대화 중에 사용 가능한 기능에 영향을 미칩니다.
---
## 사용자 지정 및 로컬 엔드포인트
BoosApi은 OpenAI 채팅 완성 API를 구현하는 모든 엔드포인트와 작동합니다.
### Ollama (로컬 모델)
1. [Ollama](https://ollama.com/)를 설치하고 시작합니다.
2. BoosApi에서 유형 **OpenAI**로 새 제공업체를 만듭니다.
3. **Base URL**을 `http://localhost:11434`로 설정합니다.
4. **모델 가져오기**를 클릭하여 로컬에 다운로드한 모델을 검색합니다.
### vLLM / TGI
추론 서버의 주소(예: `http://localhost:8000`)에 **Base URL**을 설정하고 평소처럼 모델을 가져오거나 추가합니다.
### API 릴레이 서비스
릴레이 또는 애그리게이터 서비스(예: OpenRouter, one-api)의 경우 유형을 **OpenAI**로 설정하고 릴레이의 Base URL을 입력하고 릴레이의 API 키를 제공합니다.
---
## 기본 모델 설정
### 기본 어시스턴트 모델
**설정 → 기본 모델**로 이동하여 새 대화에서 기본으로 사용할 제공업체와 모델을 선택합니다. 모델 선택기에서 대화별로 항상 모델을 재정의할 수 있습니다.
### 주제 명명 모델
BoosApi은 각 대화의 제목을 자동으로 생성할 수 있습니다. 기본 모델 설정에서 제목 생성의 비용과 지연을 절약하기 위해 주제 명명 전용 경량 모델을 할당할 수 있습니다. 제목 생성을 위한 사용자 지정 프롬프트와 컨텍스트 창 크기를 구성할 수 있습니다.
---
## 다음 단계
- [MCP 서버](./mcp) — AI 기능을 확장하는 외부 도구 연결
- [API 게이트웨이](./gateway) — 제공업체를 로컬 API 서버로 노출
+57
View File
@@ -0,0 +1,57 @@
---
layout: home
title: "BoosApi — 오픈소스 AI 데스크톱 클라이언트 & 게이트웨이"
titleTemplate: false
head:
- - meta
- name: description
content: "BoosApi은 멀티 모델 채팅, Agent, MCP, ChatGPT/Cherry Studio/Kelivo 가져오기, 로컬 RAG, S3/WebDAV 백업, 내장 AI 게이트웨이를 지원하는 무료 오픈소스 AI 데스크톱 클라이언트입니다."
hero:
name: BoosApi
text: "AI 데스크톱 워크스페이스"
tagline: "멀티 모델 채팅, Agent, MCP 도구, API 게이트웨이, 가져오기, 지식베이스, 백업을 하나의 로컬 우선 클라이언트에 통합"
image:
src: /logo.png
alt: BoosApi
actions:
- theme: brand
text: "빠른 시작"
link: /ko/guide/getting-started
- theme: alt
text: "다운로드"
link: /ko/download
- theme: alt
text: GitHub
link: https://github.com/BoosApi-Desktop/BoosApi
features:
- icon: robot
title: "채팅 및 모델"
details: "OpenAI, Claude, Gemini, DeepSeek, Qwen 및 OpenAI 호환 엔드포인트를 Base URL, API Path, headers, proxy rules와 함께 연결합니다."
- icon: api
title: "제공업체 설정"
details: "boosapi:// provider links 및 CC Switch import로 사용자 확인 후 provider profiles를 BoosApi으로 가져옵니다."
- icon: thunderbolt
title: "AI Agent"
details: "모델이 controlled workflow에서 files edit, commands run, code analysis를 수행합니다."
- icon: edit
title: "콘텐츠 렌더링"
details: "Markdown, code highlighting, tables, task lists, LaTeX를 streaming conversation에서 렌더링합니다."
- icon: search
title: "검색 및 지식"
details: "Tavily, Zhipu WebSearch, Bocha 등과 cited sources, generated queries를 지원합니다."
- icon: cloud-server
title: "API 게이트웨이"
details: "OpenAI Chat Completions, OpenAI Responses, Claude-native, Gemini-native endpoints를 desktop app에서 노출합니다."
- icon: book
title: "데이터 가져오기 및 백업"
details: "ChatGPT official exports, Cherry Studio backups, Kelivo backups를 preview counts, warnings, duplicate handling과 함께 가져옵니다."
- icon: lock
title: "데스크톱 및 보안"
details: "app state는 ~/.boosapi/, user files는 ~/Documents/boosapi/에 저장되며 API keys는 AES-256 local master key로 보호됩니다."
- icon: desktop
title: "데스크톱 및 보안"
details: "app state는 ~/.boosapi/, user files는 ~/Documents/boosapi/에 저장되며 API keys는 AES-256 local master key로 보호됩니다."
---