1
0
forked from boos/BoosAPI

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
+74
View File
@@ -0,0 +1,74 @@
# Pasarela API
## ¿Qué es la pasarela API?
BoosApi incluye un servidor API local integrado que expone tus proveedores configurados como endpoints **compatibles con OpenAI**, **nativos de Claude** y **nativos de Gemini**. Cualquier herramienta o cliente que utilice uno de estos protocolos puede usar BoosApi como backend — sin claves API separadas ni servicios de relé requeridos.
Casos de uso:
- Ejecuta **Claude Code CLI**, **OpenAI Codex CLI**, **Gemini CLI** u **OpenCode** a través de BoosApi.
- Conecta tus extensiones IDE a un único endpoint gestionado localmente.
- Comparte un conjunto de claves de proveedor entre muchas herramientas con limitación de velocidad por clave.
---
## Comenzar
1. Abre **Configuración → Pasarela API** (o presiona <kbd>Cmd/Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>G</kbd>).
2. Haz clic en **Iniciar** para lanzar el servidor de pasarela.
3. Por defecto, el servidor escucha en `127.0.0.1:8080` (HTTP).
::: tip
Activa el **Inicio automático** en la configuración de la pasarela para iniciar el servidor automáticamente cuando BoosApi se inicie.
:::
---
## Gestión de claves API
1. Ve a la pestaña **Claves API**.
2. Haz clic en **Generar nueva clave**.
3. Añade opcionalmente una **descripción** para identificar cada clave.
4. Copia la clave — solo se muestra una vez.
---
## Plantillas de configuración
### 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
```
### Gemini CLI
```bash
export GEMINI_API_BASE=http://127.0.0.1:8080
export GEMINI_API_KEY=boosapi-xxxx
gemini
```
### Cliente personalizado
```
URL base: http://127.0.0.1:8080/v1
Clave API: boosapi-xxxx
```
---
## Próximos pasos
- [Inicio rápido](./getting-started) — volver a la guía de inicio rápido
- [Configurar proveedores](./providers) — añadir los proveedores upstream a los que enruta la pasarela
- [Servidores MCP](./mcp) — conectar herramientas externas para llamadas de herramientas IA
@@ -0,0 +1,128 @@
# Inicio rápido
## Instalación
Descarga el último instalador desde la [página de descarga](/es/download) o [GitHub Releases](https://github.com/BoosApi-Desktop/BoosApi/releases).
### macOS
| Chip | Archivo |
|------|---------|
| Apple Silicon (M1 / M2 / M3 / M4) | `BoosApi_x.x.x_aarch64.dmg` |
| Intel | `BoosApi_x.x.x_x64.dmg` |
1. Abre el `.dmg` y arrastra **BoosApi** a la carpeta **Aplicaciones**.
2. Inicia BoosApi. Si macOS bloquea la app, ve a **Configuración del Sistema → Privacidad y Seguridad** y haz clic en **Abrir de todas formas**.
::: warning macOS: "La app está dañada" o "No se puede verificar el desarrollador"
Si ves alguno de estos mensajes, abre Terminal y ejecuta:
```bash
xattr -c /Applications/BoosApi.app
```
Luego inicia la app de nuevo. Esto elimina la marca de cuarentena que macOS aplica a las descargas no firmadas.
:::
### Windows
| Arquitectura | Archivo |
|-------------|---------|
| x64 (la mayoría de PCs) | `BoosApi_x.x.x_x64-setup.exe` |
| ARM64 | `BoosApi_x.x.x_arm64-setup.exe` |
Ejecuta el instalador y sigue el asistente. Inicia BoosApi desde el menú Inicio o el acceso directo del escritorio.
### Linux
| Formato | Arquitectura | Archivo |
|---------|-------------|---------|
| 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` |
| Cualquier distro | x64 | `BoosApi_x.x.x_amd64.AppImage` |
| Cualquier distro | 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 (cualquier distro)
chmod +x BoosApi_x.x.x_amd64.AppImage
./BoosApi_x.x.x_amd64.AppImage
```
---
## Configuración inicial
### 1. Abrir configuración
Inicia BoosApi y haz clic en el **ícono de engranaje** en la parte inferior de la barra lateral, o presiona <kbd>Cmd/Ctrl</kbd>+<kbd>,</kbd>.
### 2. Añadir un proveedor
Navega a **Configuración → Proveedores** y haz clic en el botón **+**.
1. Introduce un nombre para mostrar (ej. *OpenAI*).
2. Selecciona el tipo de proveedor (OpenAI, Anthropic, Google Gemini, etc.).
3. Pega tu clave API.
4. Confirma la **URL base** — el endpoint oficial está prellenado para los tipos integrados.
::: tip
Puedes añadir tantos proveedores como quieras. Cada proveedor gestiona su propio conjunto de claves API y modelos de forma independiente.
:::
### 3. Obtener modelos
Haz clic en **Obtener modelos** para obtener la lista de modelos disponibles de la API del proveedor. También puedes añadir IDs de modelos manualmente si es necesario.
### 4. Establecer un modelo predeterminado
Ve a **Configuración → Modelo predeterminado** y elige el proveedor y el modelo que las nuevas conversaciones deben usar por defecto.
---
## Tu primera conversación
1. Haz clic en **Nuevo chat** en la barra lateral (o presiona <kbd>Cmd/Ctrl</kbd>+<kbd>N</kbd>).
2. Selecciona un modelo del selector de modelos en la parte superior del chat.
3. Escribe un mensaje y presiona <kbd>Enter</kbd>.
4. BoosApi transmite la respuesta en tiempo real. Los modelos que soportan bloques de pensamiento (ej. Claude, DeepSeek R1) muestran el proceso de razonamiento en una sección plegable.
---
## Atajos
| Atajo | Acción |
|-------|--------|
| <kbd>Cmd/Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>A</kbd> | Mostrar / ocultar ventana actual |
| <kbd>Cmd/Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>Alt</kbd>+<kbd>A</kbd> | Mostrar / ocultar todas las ventanas |
| <kbd>Cmd/Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>W</kbd> | Cerrar ventana |
| <kbd>Cmd/Ctrl</kbd>+<kbd>N</kbd> | Nueva conversación |
| <kbd>Cmd/Ctrl</kbd>+<kbd>,</kbd> | Abrir configuración |
| <kbd>Cmd/Ctrl</kbd>+<kbd>K</kbd> | Paleta de comandos |
| <kbd>Cmd/Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>G</kbd> | Alternar pasarela API |
---
## Datos y copia de seguridad
### Directorios de datos
| Ruta | Contenido |
|------|----------|
| `~/.boosapi/` | Estado de la aplicación — base de datos, claves de cifrado, base vectorial, certificados SSL |
| `~/Documents/boosapi/` | Archivos de usuario — imágenes, documentos, copias de seguridad |
---
## Próximos pasos
- [Configurar proveedores](./providers) — añadir y gestionar proveedores de IA
- [Servidores MCP](./mcp) — conectar herramientas externas para ampliar las capacidades de IA
- [Pasarela API](./gateway) — exponer tus proveedores como servidor API local
+64
View File
@@ -0,0 +1,64 @@
# Servidores MCP
## ¿Qué es MCP?
El [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) es un estándar abierto que permite a los modelos de IA interactuar con herramientas y fuentes de datos externas. BoosApi actúa como cliente MCP — añades servidores MCP y la IA puede llamar a las herramientas que exponen durante una conversación.
---
## Protocolos de transporte
BoosApi soporta tres protocolos de transporte para comunicarse con servidores MCP:
| Protocolo | Conexión | Caso de uso | Configuración |
|-----------|---------|------------|---------------|
| **Stdio** | Proceso local | Herramientas instaladas en tu máquina, lanzadas via `npx`, `uvx`, `python`, etc. | `command` + `args` + `env` opcional |
| **SSE** | Servidor remoto | Endpoint Server-Sent Events alojado en una máquina remota | `url` |
| **StreamableHTTP** | Servidor remoto | Endpoint HTTP streaming, alternativa más nueva a SSE | `url` |
---
## Añadir servidores MCP
### Creación por formulario
1. Ve a **Configuración → Servidores MCP**.
2. Haz clic en **Añadir servidor MCP**.
3. Introduce un nombre y selecciona el protocolo de transporte.
4. Completa los campos para tu protocolo elegido.
5. Haz clic en **Guardar**.
### Importación JSON
Haz clic en **Importar JSON** y pega un objeto de configuración:
```json
{
"mcpServers": {
"fetch": {
"command": "uvx",
"args": ["mcp-server-fetch"]
}
}
}
```
---
## Herramientas integradas
| Herramienta | Descripción |
|------------|-------------|
| **@boosapi/fetch** | Obtener páginas web y recursos HTTP |
| **@boosapi/search-file** | Buscar archivos en tu sistema de archivos local |
---
## Límite de bucle de herramientas
Settings -> MCP permite configurar el número máximo de iteraciones consecutivas de tool calls para una respuesta MCP. Baja el límite al probar servidores desconocidos o súbelo para workflows que encadenan varias herramientas.
## Próximos pasos
- [Pasarela API](./gateway) — exponer tus proveedores como servidor API local
- [Inicio rápido](./getting-started) — volver a la guía de inicio rápido
+147
View File
@@ -0,0 +1,147 @@
# Configurar proveedores
BoosApi se conecta simultáneamente a cualquier número de proveedores de IA. Cada proveedor tiene sus propias claves API, lista de modelos y parámetros predeterminados.
## Proveedores soportados
| Proveedor | Modelos ejemplo |
|----------|----------------|
| **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** | Serie Qwen |
| **Zhipu AI** | Serie GLM |
| **xAI** | Serie Grok |
| **API compatible OpenAI** | Ollama, vLLM, LiteLLM, relés de terceros, etc. |
---
## Añadir un proveedor
1. Ve a **Configuración → Proveedores**.
2. Haz clic en el botón **+** en la parte inferior izquierda.
3. Completa los detalles del proveedor:
| Campo | Descripción |
|-------|-------------|
| **Nombre** | Nombre para mostrar en la barra lateral (ej. *OpenAI*) |
| **Tipo** | Tipo de proveedor — determina la URL base predeterminada |
| **Ícono** | Ícono opcional para identificación visual |
| **Clave API** | La clave secreta del panel de tu proveedor |
| **URL base** | Endpoint API (prellenado para tipos integrados) |
| **Ruta API** | Ruta de solicitud — predeterminado `/v1/chat/completions` |
---
## Importar desde un enlace web
Los sitios de proveedores, paneles de servicios de relé, plataformas privadas de modelos o paneles de gateway local pueden ofrecer un enlace **Abrir en BoosApi**. Al hacer clic, el navegador abre la app de escritorio BoosApi, BoosApi va a **Configuración → Proveedores**, muestra un diálogo de confirmación e importa la configuración solo después de que el usuario confirme.
### Flujo de usuario
1. Instala y abre una versión de BoosApi compatible con enlaces de proveedor.
2. Haz clic en el enlace **Abrir en BoosApi** del proveedor en el navegador.
3. Confirma el nombre, la URL base, el tipo de proveedor y el prefijo de la clave API en BoosApi.
4. BoosApi reutiliza un proveedor existente con la misma **URL base + tipo**. Si no existe, crea uno nuevo y añade la clave API solo si aún no está guardada.
BoosApi no valida la clave ni obtiene modelos automáticamente. Después de importar, haz clic en **Obtener modelos** o añade modelos manualmente.
### Formato del enlace
```text
boosapi://providers?name=<name>&baseurl=<base-url>&apikey=<api-key>&type=<provider-type>
```
Ejemplo:
```text
boosapi://providers?name=OpenAI&baseurl=https%3A%2F%2Fapi.openai.com&apikey=sk-xxx&type=openai
```
### Parámetros
| Parámetro | Obligatorio | Descripción |
|-----------|-------------|-------------|
| `name` | Sí | Nombre visible en BoosApi, por ejemplo `OpenAI` o `My Relay` |
| `baseurl` | Sí | URL base codificada. Solo se aceptan `http` y `https`; se rechazan query y hash. |
| `apikey` | Sí | Clave API que se guardará en BoosApi. BoosApi solo muestra un prefijo en el diálogo. |
| `type` | Sí | Tipo de proveedor. Valores permitidos: `openai`, `openai_responses`, `anthropic`, `gemini`, `custom`. |
`baseurl` puede usar el sufijo de fuerza existente de BoosApi, por ejemplo `https://example.com!`. La importación por enlace no configura `api_path`; BoosApi seguirá usando la ruta predeterminada del tipo de proveedor seleccionado.
### Configuración del sitio web
Codifica todos los valores dinámicos con `encodeURIComponent` o `URLSearchParams`:
```html
<a id="open-boosapi" href="#">Abrir en 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>
```
Si tu servicio permite generar claves API, crea el enlace solo después de que el usuario haya iniciado sesión y haya elegido o creado una clave explícitamente.
::: warning Seguridad
Una clave API dentro de una URL puede quedar en el historial del navegador, logs, extensiones o herramientas de analítica. No pongas claves reales en páginas públicas, HTML estático ni redirecciones de terceros. Es preferible generar el enlace en una página privada de cuenta después de confirmación del usuario.
:::
::: tip Pruebas
`boosapi://` es un protocolo personalizado registrado por la app de escritorio instalada. Ejecutar solo el sitio web o el servidor de desarrollo Vite no registra el protocolo. Si el enlace no abre BoosApi, instala o recompila primero la app de escritorio más reciente.
:::
---
## Importar desde CC Switch
BoosApi puede escanear configuraciones de proveedores de CC Switch desde Settings -> Providers. Revisa cada candidato, selecciona las filas importables e importa proveedores, Base URLs, API keys y listas de modelos. Las entradas OAuth-only o sin claves reutilizables se omiten con un motivo visible.
## Cuerpo de solicitud avanzado por modelo
Cada modelo puede definir extra_body, un objeto JSON que se añade plano a las solicitudes OpenAI-compatible Chat Completions. Es útil para opciones específicas del proveedor como enable_thinking. BoosApi valida el JSON y bloquea la sobrescritura de model, messages, stream, tools y campos básicos de sampling.
## Rotación de claves múltiples
BoosApi soporta múltiples claves API por proveedor. Haz clic en **Añadir clave** en el panel de detalles del proveedor.
---
## Gestión de modelos
Haz clic en **Obtener modelos** para obtener la lista completa de modelos disponibles. También puedes añadir IDs de modelos manualmente.
Cada modelo puede tener sus propias anulaciones de parámetros predeterminados: temperatura, tokens máximos, Top P, penalización de frecuencia, penalización de presencia.
---
## Endpoints personalizados y locales
### Ollama (modelos locales)
1. Instala e inicia [Ollama](https://ollama.com/).
2. En BoosApi, crea un nuevo proveedor con tipo **OpenAI**.
3. Establece la **URL base** a `http://localhost:11434`.
4. Haz clic en **Obtener modelos** para descubrir los modelos descargados localmente.
---
## Próximos pasos
- [Servidores MCP](./mcp) — conectar herramientas externas para ampliar las capacidades de IA
- [Pasarela API](./gateway) — exponer tus proveedores como servidor API local