Skip to content

Latest commit

 

History

History
441 lines (327 loc) · 16 KB

File metadata and controls

441 lines (327 loc) · 16 KB

Rujukan API

🌐 Languages: 🇺🇸 English | 🇧🇷 Português (Brasil) | 🇪🇸 Español | 🇫🇷 Français | 🇮🇹 Italiano | 🇷🇺 Русский | 🇨🇳 中文 (简体) | 🇩🇪 Deutsch | 🇮🇳 हिन्दी | 🇹🇭 ไทย | 🇺🇦 Українська | 🇸🇦 العربية | 🇯🇵 日本語 | 🇻🇳 Tiếng Việt | 🇧🇬 Български | 🇩🇰 Dansk | 🇫🇮 Suomi | 🇮🇱 עברית | 🇭🇺 Magyar | 🇮🇩 Bahasa Indonesia | 🇰🇷 한국어 | 🇲🇾 Bahasa Melayu | 🇳🇱 Nederlands | 🇳🇴 Norsk | 🇵🇹 Português (Portugal) | 🇷🇴 Română | 🇵🇱 Polski | 🇸🇰 Slovenčina | 🇸🇪 Svenska | 🇵🇭 Filipino

Rujukan lengkap untuk semua titik akhir API OmniRoute.


Jadual Kandungan


Selesai Sembang

POST /v1/chat/completions
Authorization: Bearer your-api-key
Content-Type: application/json

{
  "model": "cc/claude-opus-4-6",
  "messages": [
    {"role": "user", "content": "Write a function to..."}
  ],
  "stream": true
}

Pengepala Tersuai

Pengepala Arah Penerangan
X-OmniRoute-No-Cache Permintaan Tetapkan kepada true untuk memintas cache
X-OmniRoute-Progress Permintaan Tetapkan kepada true untuk acara kemajuan
Idempotency-Key Permintaan Kekunci dedup (tetingkap 5s)
X-Request-Id Permintaan Kunci pelupusan alternatif
X-OmniRoute-Cache Maklum balas HIT atau MISS (bukan penstriman)
X-OmniRoute-Idempotent Maklum balas true jika dinyahduplikasi
X-OmniRoute-Progress Maklum balas enabled jika penjejakan kemajuan pada

Pembenaman

POST /v1/embeddings
Authorization: Bearer your-api-key
Content-Type: application/json

{
  "model": "nebius/Qwen/Qwen3-Embedding-8B",
  "input": "The food was delicious"
}

Pembekal yang tersedia: Nebius, OpenAI, Mistral, Together AI, Fireworks, NVIDIA.

# List all embedding models
GET /v1/embeddings

Penjanaan Imej

POST /v1/images/generations
Authorization: Bearer your-api-key
Content-Type: application/json

{
  "model": "openai/dall-e-3",
  "prompt": "A beautiful sunset over mountains",
  "size": "1024x1024"
}

Pembekal tersedia: OpenAI (DALL-E), xAI (Grok Image), Together AI (FLUX), Fireworks AI.

# List all image models
GET /v1/images/generations

Senaraikan Model

GET /v1/models
Authorization: Bearer your-api-key

→ Returns all chat, embedding, and image models + combos in OpenAI format

Titik Akhir Keserasian

Kaedah Laluan Format
POS /v1/chat/completions OpenAI
POS /v1/messages Antroppik
POS /v1/responses Respons OpenAI
POS /v1/embeddings OpenAI
POS /v1/images/generations OpenAI
DAPATKAN /v1/models OpenAI
POS /v1/messages/count_tokens Antroppik
DAPATKAN /v1beta/models Gemini
POS /v1beta/models/{...path} Gemini menjanaKandungan
POS /v1/api/chat Ollama

Laluan Penyedia Khusus

POST /v1/providers/{provider}/chat/completions
POST /v1/providers/{provider}/embeddings
POST /v1/providers/{provider}/images/generations

Awalan pembekal ditambah secara automatik jika tiada. Model tidak sepadan mengembalikan 400.


Cache Semantik

# Get cache stats
GET /api/cache

# Clear all caches
DELETE /api/cache

Contoh jawapan:

{
  "semanticCache": {
    "memorySize": 42,
    "memoryMaxSize": 500,
    "dbSize": 128,
    "hitRate": 0.65
  },
  "idempotency": {
    "activeKeys": 3,
    "windowMs": 5000
  }
}

Papan Pemuka & Pengurusan

Pengesahan

Titik akhir Kaedah Penerangan
/api/auth/login POS Log masuk
/api/auth/logout POS Log keluar
/api/settings/require-login DAPATKAN/LETAK Togol log masuk diperlukan

Pengurusan Pembekal

Titik akhir Kaedah Penerangan
/api/providers DAPATKAN/POS Senaraikan / buat pembekal
/api/providers/[id] DAPATKAN/LETAK/PADAM Urus pembekal
/api/providers/[id]/test POS Sambungan pembekal ujian
/api/providers/[id]/models DAPATKAN Senaraikan model pembekal
/api/providers/validate POS Sahkan konfigurasi pembekal
/api/provider-nodes* Pelbagai Pengurusan nod pembekal
/api/provider-models DAPATKAN/POST/PADAM Model tersuai

Aliran OAuth

Titik akhir Kaedah Penerangan
/api/oauth/[provider]/[action] Pelbagai OAuth khusus pembekal

Penghalaan & Konfigurasi

Titik akhir Kaedah Penerangan
/api/models/alias DAPATKAN/POS Alias ​​model
/api/models/catalog DAPATKAN Semua model mengikut pembekal + jenis
/api/combos* Pelbagai Pengurusan kombo
/api/keys* Pelbagai Pengurusan kunci API
/api/pricing DAPATKAN Harga model

Penggunaan & Analitis

Titik akhir Kaedah Penerangan
/api/usage/history DAPATKAN Sejarah penggunaan
/api/usage/logs DAPATKAN Log penggunaan
/api/usage/request-logs DAPATKAN Log peringkat permintaan
/api/usage/[connectionId] DAPATKAN Penggunaan setiap sambungan

Tetapan

Titik akhir Kaedah Penerangan
/api/settings DAPATKAN/LETAK Tetapan umum
/api/settings/proxy DAPATKAN/LETAK Konfigurasi proksi rangkaian
/api/settings/proxy/test POS Uji sambungan proksi
/api/settings/ip-filter DAPATKAN/LETAK Senarai dibenarkan/senarai sekatan IP
/api/settings/thinking-budget DAPATKAN/LETAK Belanjawan token penaakulan
/api/settings/system-prompt DAPATKAN/LETAK Gesaan sistem global

Pemantauan

Titik akhir Kaedah Penerangan
/api/sessions DAPATKAN Penjejakan sesi aktif
/api/rate-limits DAPATKAN Had kadar setiap akaun
/api/monitoring/health DAPATKAN Pemeriksaan kesihatan
/api/cache DAPATKAN/PADAM Statistik cache / kosongkan

Sandaran & Eksport/Import

Titik akhir Kaedah Penerangan
/api/db-backups DAPATKAN Senaraikan sandaran yang tersedia
/api/db-backups LETAK Buat sandaran manual
/api/db-backups POS Pulihkan daripada sandaran khusus
/api/db-backups/export DAPATKAN Muat turun pangkalan data sebagai fail .sqlite
/api/db-backups/import POS Muat naik fail .sqlite untuk menggantikan pangkalan data
/api/db-backups/exportAll DAPATKAN Muat turun sandaran penuh sebagai arkib .tar.gz

Penyegerakan Awan

Titik akhir Kaedah Penerangan
/api/sync/cloud Pelbagai Operasi penyegerakan awan
/api/sync/initialize POS Mulakan penyegerakan
/api/cloud/* Pelbagai Pengurusan awan

Alat CLI

Titik akhir Kaedah Penerangan
/api/cli-tools/claude-settings DAPATKAN Status CLI Claude
/api/cli-tools/codex-settings DAPATKAN Status Codex CLI
/api/cli-tools/droid-settings DAPATKAN Status Droid CLI
/api/cli-tools/openclaw-settings DAPATKAN Status OpenClaw CLI
/api/cli-tools/runtime/[toolId] DAPATKAN Masa jalan CLI generik

Respons CLI termasuk: installed, runnable, command, commandPath, runtimeMode, reason.

Had Ketahanan & Kadar

Titik akhir Kaedah Penerangan
/api/resilience DAPATKAN/LETAK Dapatkan/kemas kini profil ketahanan
/api/resilience/reset POS Tetapkan semula pemutus litar
/api/rate-limits DAPATKAN Status had kadar setiap akaun
/api/rate-limit DAPATKAN Konfigurasi had kadar global

Evals

Titik akhir Kaedah Penerangan
/api/evals DAPATKAN/POS Senaraikan suite eval / penilaian jalankan

Dasar

Titik akhir Kaedah Penerangan
/api/policies DAPATKAN/POST/PADAM Urus dasar penghalaan

Pematuhan

Titik akhir Kaedah Penerangan
/api/compliance/audit-log DAPATKAN Log audit pematuhan (N terakhir)

v1beta (Serasi Gemini)

Titik akhir Kaedah Penerangan
/v1beta/models DAPATKAN Senaraikan model dalam format Gemini
/v1beta/models/{...path} POS Gemini generateContent titik akhir

Titik akhir ini mencerminkan format API Gemini untuk pelanggan yang mengharapkan keserasian SDK Gemini asli.

API Dalaman / Sistem

Titik akhir Kaedah Penerangan
/api/init DAPATKAN Semakan permulaan aplikasi (digunakan pada larian pertama)
/api/tags DAPATKAN Tag model yang serasi dengan Ollama (untuk pelanggan Ollama)
/api/restart POS Pencetus pelayan anggun mulakan semula
/api/shutdown POS Cetuskan penutupan pelayan yang anggun

Nota: Titik akhir ini digunakan secara dalaman oleh sistem atau untuk keserasian pelanggan Ollama. Mereka biasanya tidak dipanggil oleh pengguna akhir.


Transkripsi Audio

POST /v1/audio/transcriptions
Authorization: Bearer your-api-key
Content-Type: multipart/form-data

Transkripsikan fail audio menggunakan Deepgram atau AssemblyAI.

Permintaan:

curl -X POST http://localhost:20128/v1/audio/transcriptions \
  -H "Authorization: Bearer your-api-key" \
  -F "file=@recording.mp3" \
  -F "model=deepgram/nova-3"

Jawapan:

{
  "text": "Hello, this is the transcribed audio content.",
  "task": "transcribe",
  "language": "en",
  "duration": 12.5
}

Pembekal yang disokong: deepgram/nova-3, assemblyai/best.

Format yang disokong: mp3, wav, m4a, flac, ogg, webm.


Keserasian Ollama

Untuk pelanggan yang menggunakan format API Ollama:

# Chat endpoint (Ollama format)
POST /v1/api/chat

# Model listing (Ollama format)
GET /api/tags

Permintaan diterjemahkan secara automatik antara Ollama dan format dalaman.


Telemetri

# Get latency telemetry summary (p50/p95/p99 per provider)
GET /api/telemetry/summary

Jawapan:

{
  "providers": {
    "claudeCode": { "p50": 245, "p95": 890, "p99": 1200, "count": 150 },
    "github": { "p50": 180, "p95": 620, "p99": 950, "count": 320 }
  }
}

Belanjawan

# Get budget status for all API keys
GET /api/usage/budget

# Set or update a budget
POST /api/usage/budget
Content-Type: application/json

{
  "keyId": "key-123",
  "limit": 50.00,
  "period": "monthly"
}

Ketersediaan Model

# Get real-time model availability across all providers
GET /api/models/availability

# Check availability for a specific model
POST /api/models/availability
Content-Type: application/json

{
  "model": "claude-sonnet-4-5-20250929"
}

Pemprosesan Permintaan

  1. Pelanggan menghantar permintaan kepada /v1/*
  2. Pengendali laluan memanggil handleChat, handleEmbedding, handleAudioTranscription atau handleImageGeneration
  3. Model telah diselesaikan (pembekal langsung/model atau alias/kombo)
  4. Bukti kelayakan dipilih daripada DB tempatan dengan penapisan ketersediaan akaun
  5. Untuk sembang: handleChatCore — pengesanan format, terjemahan, semakan cache, semakan idempotensi
  6. Pelaksana pembekal menghantar permintaan huluan
  7. Respons diterjemahkan kembali kepada format pelanggan (sembang) atau dikembalikan seperti sedia ada (benam/imej/audio)
  8. Penggunaan / pembalakan direkodkan
  9. Fallback terpakai pada ralat mengikut peraturan kombo

Rujukan seni bina penuh: link


Pengesahan

  • Laluan papan pemuka (/dashboard/*) gunakan kuki auth_token
  • Log masuk menggunakan cincang kata laluan yang disimpan; sandar kepada INITIAL_PASSWORD
  • requireLogin boleh togol melalui /api/settings/require-login
  • /v1/* laluan secara pilihan memerlukan kunci API Pembawa apabila REQUIRE_API_KEY=true