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
+147
View File
@@ -0,0 +1,147 @@
# Configurer les fournisseurs
BoosApi se connecte simultanément à n'importe quel nombre de fournisseurs IA. Chaque fournisseur a ses propres clés API, liste de modèles et paramètres par défaut.
## Fournisseurs supportés
| Fournisseur | Modèles exemple |
|------------|----------------|
| **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** | Série Qwen |
| **Zhipu AI** | Série GLM |
| **xAI** | Série Grok |
| **API compatible OpenAI** | Ollama, vLLM, LiteLLM, relais tiers, etc. |
---
## Ajouter un fournisseur
1. Allez dans **Paramètres → Fournisseurs**.
2. Cliquez sur le bouton **+** en bas à gauche.
3. Remplissez les détails du fournisseur :
| Champ | Description |
|-------|-------------|
| **Nom** | Nom d'affichage pour la barre latérale (ex. *OpenAI*) |
| **Type** | Type de fournisseur — détermine l'URL de base par défaut |
| **Icône** | Icône optionnelle pour l'identification visuelle |
| **Clé API** | La clé secrète du tableau de bord de votre fournisseur |
| **URL de base** | Endpoint API (pré-rempli pour les types intégrés) |
| **Chemin API** | Chemin de requête — par défaut `/v1/chat/completions` |
---
## Importer depuis un lien Web
Les sites de fournisseurs, tableaux de bord de services relais, plateformes de modèles privées ou pages de passerelle locale peuvent proposer un lien **Ouvrir dans BoosApi**. Lorsqu'un utilisateur clique dessus, le navigateur ouvre l'application de bureau BoosApi, BoosApi passe à **Paramètres → Fournisseurs**, affiche une boîte de confirmation et importe la configuration uniquement après confirmation.
### Parcours utilisateur
1. Installez et ouvrez une version d'BoosApi compatible avec les liens de fournisseur.
2. Cliquez sur le lien **Ouvrir dans BoosApi** fourni par le fournisseur dans le navigateur.
3. Vérifiez dans BoosApi le nom du fournisseur, l'URL de base, le type de fournisseur et le préfixe de la clé API.
4. BoosApi réutilise un fournisseur existant avec le même couple **URL de base + type**. S'il n'existe pas, BoosApi en crée un nouveau et ajoute la clé API seulement si elle n'est pas déjà présente.
BoosApi ne valide pas automatiquement la clé et ne récupère pas automatiquement les modèles. Après l'import, cliquez sur **Récupérer les modèles** ou ajoutez des modèles manuellement.
### Format du lien
```text
boosapi://providers?name=<name>&baseurl=<base-url>&apikey=<api-key>&type=<provider-type>
```
Exemple :
```text
boosapi://providers?name=OpenAI&baseurl=https%3A%2F%2Fapi.openai.com&apikey=sk-xxx&type=openai
```
### Paramètres
| Paramètre | Obligatoire | Description |
|-----------|-------------|-------------|
| `name` | Oui | Nom affiché dans BoosApi, par exemple `OpenAI` ou `My Relay` |
| `baseurl` | Oui | URL de base encodée. Seuls `http` et `https` sont acceptés ; query et hash sont refusés. |
| `apikey` | Oui | Clé API à enregistrer dans BoosApi. BoosApi n'affiche qu'un préfixe dans la boîte de confirmation. |
| `type` | Oui | Type de fournisseur. Valeurs autorisées : `openai`, `openai_responses`, `anthropic`, `gemini`, `custom`. |
`baseurl` peut utiliser le suffixe forcé existant d'BoosApi, par exemple `https://example.com!`. L'import par lien ne définit pas `api_path` ; BoosApi continue d'utiliser le chemin par défaut du type de fournisseur choisi.
### Configuration du site Web
Encodez toutes les valeurs dynamiques avec `encodeURIComponent` ou `URLSearchParams` :
```html
<a id="open-boosapi" href="#">Ouvrir dans 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 votre service permet de générer des clés API, créez le lien uniquement lorsque l'utilisateur est connecté et a explicitement choisi ou créé une clé.
::: warning Sécurité
Une clé API dans une URL peut être visible dans l'historique du navigateur, les journaux, les extensions ou les outils d'analyse. Ne placez pas de vraies clés sur des pages publiques, du HTML statique ou des redirections tierces. Préférez générer le lien sur une page privée du compte après confirmation de l'utilisateur.
:::
::: tip Test
`boosapi://` est un protocole personnalisé enregistré par l'application de bureau installée. Exécuter uniquement le site Web ou le serveur de développement Vite n'enregistre pas ce protocole. Si le lien n'ouvre pas BoosApi, installez ou reconstruisez d'abord la dernière application de bureau BoosApi.
:::
---
## Importer depuis CC Switch
BoosApi peut scanner les configurations fournisseur de CC Switch depuis Settings -> Providers. Vérifiez chaque candidat, sélectionnez les lignes importables, puis importez fournisseurs, Base URLs, clés API et listes de modèles. Les entrées OAuth-only ou sans clé réutilisable sont ignorées avec une raison visible.
## Corps de requête modèle avancé
Chaque modèle peut définir extra_body, un objet JSON ajouté à plat aux requêtes OpenAI-compatible Chat Completions. Il sert aux options propres aux fournisseurs comme enable_thinking. BoosApi valide le JSON et bloque l’écrasement de model, messages, stream, tools et des champs de sampling de base.
## Rotation de clés multiples
BoosApi supporte plusieurs clés API par fournisseur pour la distribution de charge et l'évitement des limites de débit. Cliquez sur **Ajouter une clé** dans le panneau de détails du fournisseur.
---
## Gestion des modèles
Cliquez sur **Récupérer les modèles** pour obtenir la liste complète des modèles disponibles depuis l'API du fournisseur. Vous pouvez également ajouter des IDs de modèles manuellement.
Chaque modèle peut avoir ses propres paramètres par défaut : température, tokens maximum, Top P, pénalité de fréquence, pénalité de présence.
---
## Endpoints personnalisés et locaux
### Ollama (modèles locaux)
1. Installez et démarrez [Ollama](https://ollama.com/).
2. Dans BoosApi, créez un nouveau fournisseur avec le type **OpenAI**.
3. Définissez l'**URL de base** à `http://localhost:11434`.
4. Cliquez sur **Récupérer les modèles** pour découvrir les modèles téléchargés localement.
---
## Prochaines étapes
- [Serveurs MCP](./mcp) — connecter des outils externes pour étendre les capacités IA
- [Passerelle API](./gateway) — exposer vos fournisseurs comme serveur API local