docs: comprehensive docs review + i18n sync

- Fix .gitignore: add a2a-server.md, auto-combo.md, mcp-server.md, new-features/ to whitelist
- Rewrite FEATURES.md: 18 sections covering v2.0.12 state (Playground, Themes, CLI Agents, Media, API Keys, Audit Log)
- API_REFERENCE.md: add ACP Agents endpoints (/api/acp/agents GET/POST/DELETE)
- Sync all 6 root docs to 29 i18n directories (174 files)
- Remove stale git-tracked docs (adr/, i18n-tasks/)
This commit is contained in:
diegosouzapw 2026-03-07 12:18:17 -03:00
parent 2306081dab
commit 91f3bd4056
210 changed files with 37754 additions and 31332 deletions

View file

@ -1,12 +1,12 @@
# Référence API
# API Reference
🌐 **Languages:** 🇺🇸 [English](../../API_REFERENCE.md) | 🇧🇷 [Português (Brasil)](../pt-BR/API_REFERENCE.md) | 🇪🇸 [Español](../es/API_REFERENCE.md) | 🇫🇷 [Français](../fr/API_REFERENCE.md) | 🇮🇹 [Italiano](../it/API_REFERENCE.md) | 🇷🇺 [Русский](../ru/API_REFERENCE.md) | 🇨🇳 [中文 (简体)](../zh-CN/API_REFERENCE.md) | 🇩🇪 [Deutsch](../de/API_REFERENCE.md) | 🇮🇳 [हिन्दी](../in/API_REFERENCE.md) | 🇹🇭 [ไทย](../th/API_REFERENCE.md) | 🇺🇦 [Українська](../uk-UA/API_REFERENCE.md) | 🇸🇦 [العربية](../ar/API_REFERENCE.md) | 🇯🇵 [日本語](../ja/API_REFERENCE.md) | 🇻🇳 [Tiếng Việt](../vi/API_REFERENCE.md) | 🇧🇬 [Български](../bg/API_REFERENCE.md) | 🇩🇰 [Dansk](../da/API_REFERENCE.md) | 🇫🇮 [Suomi](../fi/API_REFERENCE.md) | 🇮🇱 [עברית](../he/API_REFERENCE.md) | 🇭🇺 [Magyar](../hu/API_REFERENCE.md) | 🇮🇩 [Bahasa Indonesia](../id/API_REFERENCE.md) | 🇰🇷 [한국어](../ko/API_REFERENCE.md) | 🇲🇾 [Bahasa Melayu](../ms/API_REFERENCE.md) | 🇳🇱 [Nederlands](../nl/API_REFERENCE.md) | 🇳🇴 [Norsk](../no/API_REFERENCE.md) | 🇵🇹 [Português (Portugal)](../pt/API_REFERENCE.md) | 🇷🇴 [Română](../ro/API_REFERENCE.md) | 🇵🇱 [Polski](../pl/API_REFERENCE.md) | 🇸🇰 [Slovenčina](../sk/API_REFERENCE.md) | 🇸🇪 [Svenska](../sv/API_REFERENCE.md) | 🇵🇭 [Filipino](../phi/API_REFERENCE.md)
🌐 **Languages:** 🇺🇸 [English](API_REFERENCE.md) | 🇧🇷 [Português (Brasil)](i18n/pt-BR/API_REFERENCE.md) | 🇪🇸 [Español](i18n/es/API_REFERENCE.md) | 🇫🇷 [Français](i18n/fr/API_REFERENCE.md) | 🇮🇹 [Italiano](i18n/it/API_REFERENCE.md) | 🇷🇺 [Русский](i18n/ru/API_REFERENCE.md) | 🇨🇳 [中文 (简体)](i18n/zh-CN/API_REFERENCE.md) | 🇩🇪 [Deutsch](i18n/de/API_REFERENCE.md) | 🇮🇳 [हिन्दी](i18n/in/API_REFERENCE.md) | 🇹🇭 [ไทย](i18n/th/API_REFERENCE.md) | 🇺🇦 [Українська](i18n/uk-UA/API_REFERENCE.md) | 🇸🇦 [العربية](i18n/ar/API_REFERENCE.md) | 🇯🇵 [日本語](i18n/ja/API_REFERENCE.md) | 🇻🇳 [Tiếng Việt](i18n/vi/API_REFERENCE.md) | 🇧🇬 [Български](i18n/bg/API_REFERENCE.md) | 🇩🇰 [Dansk](i18n/da/API_REFERENCE.md) | 🇫🇮 [Suomi](i18n/fi/API_REFERENCE.md) | 🇮🇱 [עברית](i18n/he/API_REFERENCE.md) | 🇭🇺 [Magyar](i18n/hu/API_REFERENCE.md) | 🇮🇩 [Bahasa Indonesia](i18n/id/API_REFERENCE.md) | 🇰🇷 [한국어](i18n/ko/API_REFERENCE.md) | 🇲🇾 [Bahasa Melayu](i18n/ms/API_REFERENCE.md) | 🇳🇱 [Nederlands](i18n/nl/API_REFERENCE.md) | 🇳🇴 [Norsk](i18n/no/API_REFERENCE.md) | 🇵🇹 [Português (Portugal)](i18n/pt/API_REFERENCE.md) | 🇷🇴 [Română](i18n/ro/API_REFERENCE.md) | 🇵🇱 [Polski](i18n/pl/API_REFERENCE.md) | 🇸🇰 [Slovenčina](i18n/sk/API_REFERENCE.md) | 🇸🇪 [Svenska](i18n/sv/API_REFERENCE.md) | 🇵🇭 [Filipino](i18n/phi/API_REFERENCE.md)
Référence complète pour tous les points de terminaison de l'API OmniRoute.
Complete reference for all OmniRoute API endpoints.
---
## Table des matières
## Table of Contents
- [Chat Completions](#chat-completions)
- [Embeddings](#embeddings)
@ -20,7 +20,7 @@ Référence complète pour tous les points de terminaison de l'API OmniRoute.
---
## Fins de chat
## Chat Completions
```bash
POST /v1/chat/completions
@ -36,21 +36,21 @@ Content-Type: application/json
}
```
### En-têtes personnalisés
### Custom Headers
| En-tête | Itinéraire | Descriptif |
| ------------------------ | ---------- | ---------------------------------------------------- |
| `X-OmniRoute-No-Cache` | Demande | Défini sur `true` pour contourner le cache |
| `X-OmniRoute-Progress` | Demande | Défini sur `true` pour les événements de progression |
| `Idempotency-Key` | Demande | Clé de déduplication (fenêtre 5s) |
| `X-Request-Id` | Demande | Clé de déduplication alternative |
| `X-OmniRoute-Cache` | Réponse | `HIT` ou `MISS` (sans streaming) |
| `X-OmniRoute-Idempotent` | Réponse | `true` si dédupliqué |
| `X-OmniRoute-Progress` | Réponse | `enabled` si le suivi des progrès est activé |
| Header | Direction | Description |
| ------------------------ | --------- | --------------------------------- |
| `X-OmniRoute-No-Cache` | Request | Set to `true` to bypass cache |
| `X-OmniRoute-Progress` | Request | Set to `true` for progress events |
| `Idempotency-Key` | Request | Dedup key (5s window) |
| `X-Request-Id` | Request | Alternative dedup key |
| `X-OmniRoute-Cache` | Response | `HIT` or `MISS` (non-streaming) |
| `X-OmniRoute-Idempotent` | Response | `true` if deduplicated |
| `X-OmniRoute-Progress` | Response | `enabled` if progress tracking on |
---
## Intégrations
## Embeddings
```bash
POST /v1/embeddings
@ -63,7 +63,7 @@ Content-Type: application/json
}
```
Fournisseurs disponibles : Nebius, OpenAI, Mistral, Together AI, Fireworks, NVIDIA.
Available providers: Nebius, OpenAI, Mistral, Together AI, Fireworks, NVIDIA.
```bash
# List all embedding models
@ -72,7 +72,7 @@ GET /v1/embeddings
---
## Génération d'images
## Image Generation
```bash
POST /v1/images/generations
@ -86,7 +86,7 @@ Content-Type: application/json
}
```
Fournisseurs disponibles : OpenAI (DALL-E), xAI (Grok Image), Together AI (FLUX), Fireworks AI.
Available providers: OpenAI (DALL-E), xAI (Grok Image), Together AI (FLUX), Fireworks AI.
```bash
# List all image models
@ -95,7 +95,7 @@ GET /v1/images/generations
---
## Liste des modèles
## List Models
```bash
GET /v1/models
@ -106,22 +106,22 @@ Authorization: Bearer your-api-key
---
## Points de terminaison de compatibilité
## Compatibility Endpoints
| Méthode | Chemin | Formater |
| ------- | --------------------------- | -------------------------- |
| POSTER | `/v1/chat/completions` | OpenAI |
| POSTER | `/v1/messages` | Anthropique |
| POSTER | `/v1/responses` | Réponses OpenAI |
| POSTER | `/v1/embeddings` | OpenAI |
| POSTER | `/v1/images/generations` | OpenAI |
| OBTENIR | `/v1/models` | OpenAI |
| POSTER | `/v1/messages/count_tokens` | Anthropique |
| OBTENIR | `/v1beta/models` | Gémeaux |
| POSTER | `/v1beta/models/{...path}` | Gémeaux générer du contenu |
| POSTER | `/v1/api/chat` | Ollama |
| Method | Path | Format |
| ------ | --------------------------- | ---------------------- |
| POST | `/v1/chat/completions` | OpenAI |
| POST | `/v1/messages` | Anthropic |
| POST | `/v1/responses` | OpenAI Responses |
| POST | `/v1/embeddings` | OpenAI |
| POST | `/v1/images/generations` | OpenAI |
| GET | `/v1/models` | OpenAI |
| POST | `/v1/messages/count_tokens` | Anthropic |
| GET | `/v1beta/models` | Gemini |
| POST | `/v1beta/models/{...path}` | Gemini generateContent |
| POST | `/v1/api/chat` | Ollama |
### Itinéraires de fournisseurs dédiés
### Dedicated Provider Routes
```bash
POST /v1/providers/{provider}/chat/completions
@ -129,11 +129,11 @@ POST /v1/providers/{provider}/embeddings
POST /v1/providers/{provider}/images/generations
```
Le préfixe du fournisseur est ajouté automatiquement s'il est manquant. Les modèles incompatibles renvoient `400`.
The provider prefix is auto-added if missing. Mismatched models return `400`.
---
## Cache sémantique
## Semantic Cache
```bash
# Get cache stats
@ -143,7 +143,7 @@ GET /api/cache
DELETE /api/cache
```
Exemple de réponse :
Response example:
```json
{
@ -162,154 +162,164 @@ Exemple de réponse :
---
## Tableau de bord et gestion
## Dashboard & Management
### Authentification
### Authentication
| Point de terminaison | Méthode | Descriptif |
| ----------------------------- | -------------- | ----------------------------- |
| `/api/auth/login` | POSTER | Connexion |
| `/api/auth/logout` | POSTER | Déconnexion |
| `/api/settings/require-login` | OBTENIR/METTRE | Basculer la connexion requise |
| Endpoint | Method | Description |
| ----------------------------- | ------- | --------------------- |
| `/api/auth/login` | POST | Login |
| `/api/auth/logout` | POST | Logout |
| `/api/settings/require-login` | GET/PUT | Toggle login required |
### Gestion des fournisseurs
### Provider Management
| Point de terminaison | Méthode | Descriptif |
| ---------------------------- | ------------------------ | --------------------------------------- |
| `/api/providers` | OBTENIR/POST | Lister/créer des prestataires |
| `/api/providers/[id]` | OBTENIR/METTRE/SUPPRIMER | Gérer un fournisseur |
| `/api/providers/[id]/test` | POSTER | Connexion du fournisseur de test |
| `/api/providers/[id]/models` | OBTENIR | Liste des modèles de fournisseurs |
| `/api/providers/validate` | POSTER | Valider la configuration du fournisseur |
| `/api/provider-nodes*` | Divers | Gestion des nœuds de fournisseur |
| `/api/provider-models` | OBTENIR/POST/DELETE | Modèles personnalisés |
| Endpoint | Method | Description |
| ---------------------------- | --------------- | ------------------------ |
| `/api/providers` | GET/POST | List / create providers |
| `/api/providers/[id]` | GET/PUT/DELETE | Manage a provider |
| `/api/providers/[id]/test` | POST | Test provider connection |
| `/api/providers/[id]/models` | GET | List provider models |
| `/api/providers/validate` | POST | Validate provider config |
| `/api/provider-nodes*` | Various | Provider node management |
| `/api/provider-models` | GET/POST/DELETE | Custom models |
### Flux OAuth
### OAuth Flows
| Point de terminaison | Méthode | Descriptif |
| -------------------------------- | ------- | ------------------------------- |
| `/api/oauth/[provider]/[action]` | Divers | OAuth spécifique au fournisseur |
| Endpoint | Method | Description |
| -------------------------------- | ------- | ----------------------- |
| `/api/oauth/[provider]/[action]` | Various | Provider-specific OAuth |
### Routage et configuration
### Routing & Config
| Point de terminaison | Méthode | Descriptif |
| --------------------- | ------------ | --------------------------------------- |
| `/api/models/alias` | OBTENIR/POST | Alias du modèle |
| `/api/models/catalog` | OBTENIR | Tous les modèles par fournisseur + type |
| `/api/combos*` | Divers | Gestion des combos |
| `/api/keys*` | Divers | Gestion des clés API |
| `/api/pricing` | OBTENIR | Tarification du modèle |
| Endpoint | Method | Description |
| --------------------- | -------- | ----------------------------- |
| `/api/models/alias` | GET/POST | Model aliases |
| `/api/models/catalog` | GET | All models by provider + type |
| `/api/combos*` | Various | Combo management |
| `/api/keys*` | Various | API key management |
| `/api/pricing` | GET | Model pricing |
### Utilisation et analyses
### Usage & Analytics
| Point de terminaison | Méthode | Descriptif |
| --------------------------- | ------- | -------------------------------- |
| `/api/usage/history` | OBTENIR | Historique d'utilisation |
| `/api/usage/logs` | OBTENIR | Journaux d'utilisation |
| `/api/usage/request-logs` | OBTENIR | Journaux au niveau de la demande |
| `/api/usage/[connectionId]` | OBTENIR | Utilisation par connexion |
| Endpoint | Method | Description |
| --------------------------- | ------ | -------------------- |
| `/api/usage/history` | GET | Usage history |
| `/api/usage/logs` | GET | Usage logs |
| `/api/usage/request-logs` | GET | Request-level logs |
| `/api/usage/[connectionId]` | GET | Per-connection usage |
### Paramètres
### Settings
| Point de terminaison | Méthode | Descriptif |
| ------------------------------- | -------------- | ---------------------------------------- |
| `/api/settings` | OBTENIR/METTRE | Paramètres généraux |
| `/api/settings/proxy` | OBTENIR/METTRE | Configuration du proxy réseau |
| `/api/settings/proxy/test` | POSTER | Tester la connexion proxy |
| `/api/settings/ip-filter` | OBTENIR/METTRE | Liste d'autorisation/liste de blocage IP |
| `/api/settings/thinking-budget` | OBTENIR/METTRE | Budget symbolique de raisonnement |
| `/api/settings/system-prompt` | OBTENIR/METTRE | Invite système globale |
| Endpoint | Method | Description |
| ------------------------------- | ------- | ---------------------- |
| `/api/settings` | GET/PUT | General settings |
| `/api/settings/proxy` | GET/PUT | Network proxy config |
| `/api/settings/proxy/test` | POST | Test proxy connection |
| `/api/settings/ip-filter` | GET/PUT | IP allowlist/blocklist |
| `/api/settings/thinking-budget` | GET/PUT | Reasoning token budget |
| `/api/settings/system-prompt` | GET/PUT | Global system prompt |
### Surveillance
### Monitoring
| Point de terminaison | Méthode | Descriptif |
| ------------------------ | ----------------- | ------------------------------- |
| `/api/sessions` | OBTENIR | Suivi de session active |
| `/api/rate-limits` | OBTENIR | Limites de taux par compte |
| `/api/monitoring/health` | OBTENIR | Bilan de santé |
| `/api/cache` | OBTENIR/SUPPRIMER | Statistiques du cache / effacer |
| Endpoint | Method | Description |
| ------------------------ | ---------- | ----------------------- |
| `/api/sessions` | GET | Active session tracking |
| `/api/rate-limits` | GET | Per-account rate limits |
| `/api/monitoring/health` | GET | Health check |
| `/api/cache` | GET/DELETE | Cache stats / clear |
### Sauvegarde et exportation/importation
### Backup & Export/Import
| Point de terminaison | Méthode | Descriptif |
| --------------------------- | ------- | ---------------------------------------------------------------- |
| `/api/db-backups` | OBTENIR | Liste des sauvegardes disponibles |
| `/api/db-backups` | METTRE | Créer une sauvegarde manuelle |
| `/api/db-backups` | POSTER | Restaurer à partir d'une sauvegarde spécifique |
| `/api/db-backups/export` | OBTENIR | Télécharger la base de données sous forme de fichier .sqlite |
| `/api/db-backups/import` | POSTER | Téléchargez le fichier .sqlite pour remplacer la base de données |
| `/api/db-backups/exportAll` | OBTENIR | Télécharger la sauvegarde complète sous forme d'archive .tar.gz |
| Endpoint | Method | Description |
| --------------------------- | ------ | --------------------------------------- |
| `/api/db-backups` | GET | List available backups |
| `/api/db-backups` | PUT | Create a manual backup |
| `/api/db-backups` | POST | Restore from a specific backup |
| `/api/db-backups/export` | GET | Download database as .sqlite file |
| `/api/db-backups/import` | POST | Upload .sqlite file to replace database |
| `/api/db-backups/exportAll` | GET | Download full backup as .tar.gz archive |
### Synchronisation avec le cloud
### Cloud Sync
| Point de terminaison | Méthode | Descriptif |
| ---------------------- | ------- | ----------------------------------- |
| `/api/sync/cloud` | Divers | Opérations de synchronisation cloud |
| `/api/sync/initialize` | POSTER | Initialiser la synchronisation |
| `/api/cloud/*` | Divers | Gestion du cloud |
| Endpoint | Method | Description |
| ---------------------- | ------- | --------------------- |
| `/api/sync/cloud` | Various | Cloud sync operations |
| `/api/sync/initialize` | POST | Initialize sync |
| `/api/cloud/*` | Various | Cloud management |
### Outils CLI
### CLI Tools
| Point de terminaison | Méthode | Descriptif |
| ---------------------------------- | ------- | -------------------------- |
| `/api/cli-tools/claude-settings` | OBTENIR | Statut CLI de Claude |
| `/api/cli-tools/codex-settings` | OBTENIR | Statut CLI du Codex |
| `/api/cli-tools/droid-settings` | OBTENIR | Statut de la CLI du droïde |
| `/api/cli-tools/openclaw-settings` | OBTENIR | Statut de la CLI OpenClaw |
| `/api/cli-tools/runtime/[toolId]` | OBTENIR | Exécution CLI générique |
| Endpoint | Method | Description |
| ---------------------------------- | ------ | ------------------- |
| `/api/cli-tools/claude-settings` | GET | Claude CLI status |
| `/api/cli-tools/codex-settings` | GET | Codex CLI status |
| `/api/cli-tools/droid-settings` | GET | Droid CLI status |
| `/api/cli-tools/openclaw-settings` | GET | OpenClaw CLI status |
| `/api/cli-tools/runtime/[toolId]` | GET | Generic CLI runtime |
Les réponses CLI incluent : `installed`, `runnable`, `command`, `commandPath`, `runtimeMode`, `reason`.
CLI responses include: `installed`, `runnable`, `command`, `commandPath`, `runtimeMode`, `reason`.
### Résilience et limites de taux
### ACP Agents
| Point de terminaison | Méthode | Descriptif |
| ----------------------- | -------------- | ----------------------------------------------- |
| `/api/resilience` | OBTENIR/METTRE | Obtenir/mettre à jour les profils de résilience |
| `/api/resilience/reset` | POSTER | Réinitialiser les disjoncteurs |
| `/api/rate-limits` | OBTENIR | Statut de limite de débit par compte |
| `/api/rate-limit` | OBTENIR | Configuration de la limite de débit globale |
| Endpoint | Method | Description |
| ----------------- | ------ | -------------------------------------------------------- |
| `/api/acp/agents` | GET | List all detected agents (built-in + custom) with status |
| `/api/acp/agents` | POST | Add custom agent or refresh detection cache |
| `/api/acp/agents` | DELETE | Remove a custom agent by `id` query param |
### Évaluations
GET response includes `agents[]` (id, name, binary, version, installed, protocol, isCustom) and `summary` (total, installed, notFound, builtIn, custom).
| Point de terminaison | Méthode | Descriptif |
| -------------------- | ------------ | --------------------------------------------------------- |
| `/api/evals` | OBTENIR/POST | Répertorier les suites d'évaluation/exécuter l'évaluation |
### Resilience & Rate Limits
### Politiques
| Endpoint | Method | Description |
| ----------------------- | ------- | ------------------------------- |
| `/api/resilience` | GET/PUT | Get/update resilience profiles |
| `/api/resilience/reset` | POST | Reset circuit breakers |
| `/api/rate-limits` | GET | Per-account rate limit status |
| `/api/rate-limit` | GET | Global rate limit configuration |
| Point de terminaison | Méthode | Descriptif |
| -------------------- | ------------------- | ------------------------------- |
| `/api/policies` | OBTENIR/POST/DELETE | Gérer les politiques de routage |
### Evals
### Conformité
| Endpoint | Method | Description |
| ------------ | -------- | --------------------------------- |
| `/api/evals` | GET/POST | List eval suites / run evaluation |
| Point de terminaison | Méthode | Descriptif |
| --------------------------- | ------- | ----------------------------------------- |
| `/api/compliance/audit-log` | OBTENIR | Journal d'audit de conformité (dernier N) |
### Policies
### v1beta (compatible Gemini)
| Endpoint | Method | Description |
| --------------- | --------------- | ----------------------- |
| `/api/policies` | GET/POST/DELETE | Manage routing policies |
| Point de terminaison | Méthode | Descriptif |
| -------------------------- | ------- | --------------------------------------------- |
| `/v1beta/models` | OBTENIR | Liste des modèles au format Gemini |
| `/v1beta/models/{...path}` | POSTER | Point de terminaison Gemini `generateContent` |
### Compliance
Ces points de terminaison reflètent le format API de Gemini pour les clients qui attendent une compatibilité native avec le SDK Gemini.
| Endpoint | Method | Description |
| --------------------------- | ------ | ----------------------------- |
| `/api/compliance/audit-log` | GET | Compliance audit log (last N) |
### API internes/système
### v1beta (Gemini-Compatible)
| Point de terminaison | Méthode | Descriptif |
| -------------------- | ------- | ------------------------------------------------------------------------------------------ |
| `/api/init` | OBTENIR | Vérification de l'initialisation de l'application (utilisée lors de la première exécution) |
| `/api/tags` | OBTENIR | Balises de modèle compatibles Ollama (pour les clients Ollama) |
| `/api/restart` | POSTER | Déclencher un redémarrage progressif du serveur |
| `/api/shutdown` | POSTER | Déclencher l'arrêt progressif du serveur |
| Endpoint | Method | Description |
| -------------------------- | ------ | --------------------------------- |
| `/v1beta/models` | GET | List models in Gemini format |
| `/v1beta/models/{...path}` | POST | Gemini `generateContent` endpoint |
> **Remarque :** Ces points de terminaison sont utilisés en interne par le système ou pour la compatibilité du client Ollama. Ils ne sont généralement pas appelés par les utilisateurs finaux.
These endpoints mirror Gemini's API format for clients that expect native Gemini SDK compatibility.
### Internal / System APIs
| Endpoint | Method | Description |
| --------------- | ------ | ---------------------------------------------------- |
| `/api/init` | GET | Application initialization check (used on first run) |
| `/api/tags` | GET | Ollama-compatible model tags (for Ollama clients) |
| `/api/restart` | POST | Trigger graceful server restart |
| `/api/shutdown` | POST | Trigger graceful server shutdown |
> **Note:** These endpoints are used internally by the system or for Ollama client compatibility. They are not typically called by end users.
---
## Transcription audio
## Audio Transcription
```bash
POST /v1/audio/transcriptions
@ -317,9 +327,9 @@ Authorization: Bearer your-api-key
Content-Type: multipart/form-data
```
Transcrivez des fichiers audio à l'aide de Deepgram ou AssemblyAI.
Transcribe audio files using Deepgram or AssemblyAI.
**Demande :**
**Request:**
```bash
curl -X POST http://localhost:20128/v1/audio/transcriptions \
@ -328,7 +338,7 @@ curl -X POST http://localhost:20128/v1/audio/transcriptions \
-F "model=deepgram/nova-3"
```
**Réponse :**
**Response:**
```json
{
@ -339,15 +349,15 @@ curl -X POST http://localhost:20128/v1/audio/transcriptions \
}
```
**Fournisseurs pris en charge :** `deepgram/nova-3`, `assemblyai/best`.
**Supported providers:** `deepgram/nova-3`, `assemblyai/best`.
**Formats pris en charge :** `mp3`, `wav`, `m4a`, `flac`, `ogg`, `webm`.
**Supported formats:** `mp3`, `wav`, `m4a`, `flac`, `ogg`, `webm`.
---
## Compatibilité Ollama
## Ollama Compatibility
Pour les clients qui utilisent le format API d'Ollama :
For clients that use Ollama's API format:
```bash
# Chat endpoint (Ollama format)
@ -357,18 +367,18 @@ POST /v1/api/chat
GET /api/tags
```
Les demandes sont automatiquement traduites entre Ollama et les formats internes.
Requests are automatically translated between Ollama and internal formats.
---
## Télémétrie
## Telemetry
```bash
# Get latency telemetry summary (p50/p95/p99 per provider)
GET /api/telemetry/summary
```
**Réponse :**
**Response:**
```json
{
@ -400,7 +410,7 @@ Content-Type: application/json
---
## Disponibilité du modèle
## Model Availability
```bash
# Get real-time model availability across all providers
@ -417,25 +427,25 @@ Content-Type: application/json
---
## Traitement des demandes
## Request Processing
1. Le client envoie la demande à `/v1/*`
2. Le gestionnaire de route appelle `handleChat`, `handleEmbedding`, `handleAudioTranscription` ou `handleImageGeneration`
3. Le modèle est résolu (fournisseur/modèle direct ou alias/combo)
4. Informations d'identification sélectionnées dans la base de données locale avec filtrage de la disponibilité des comptes
5. Pour le chat : `handleChatCore` — détection de format, traduction, vérification du cache, vérification de l'idempotence
6. L'exécuteur du fournisseur envoie une requête en amont
7. Réponse traduite au format client (chat) ou renvoyée telle quelle (intégrations/images/audio)
8. Utilisation/journalisation enregistrée
9. Le repli s'applique aux erreurs selon les règles de combo
1. Client sends request to `/v1/*`
2. Route handler calls `handleChat`, `handleEmbedding`, `handleAudioTranscription`, or `handleImageGeneration`
3. Model is resolved (direct provider/model or alias/combo)
4. Credentials selected from local DB with account availability filtering
5. For chat: `handleChatCore` — format detection, translation, cache check, idempotency check
6. Provider executor sends upstream request
7. Response translated back to client format (chat) or returned as-is (embeddings/images/audio)
8. Usage/logging recorded
9. Fallback applies on errors according to combo rules
Référence complète de l'architecture : [link](ARCHITECTURE.md)
Full architecture reference: [`ARCHITECTURE.md`](ARCHITECTURE.md)
---
## Authentification
## Authentication
- Les itinéraires du tableau de bord (`/dashboard/*`) utilisent le cookie `auth_token`
- La connexion utilise le hachage du mot de passe enregistré ; retour à `INITIAL_PASSWORD`
- `requireLogin` basculable via `/api/settings/require-login`
- Les routes `/v1/*` nécessitent éventuellement une clé API Bearer lorsque `REQUIRE_API_KEY=true`
- Dashboard routes (`/dashboard/*`) use `auth_token` cookie
- Login uses saved password hash; fallback to `INITIAL_PASSWORD`
- `requireLogin` toggleable via `/api/settings/require-login`
- `/v1/*` routes optionally require Bearer API key when `REQUIRE_API_KEY=true`