Skip to content

Latest commit

 

History

History
338 lines (208 loc) · 27.7 KB

FEATURES.md

File metadata and controls

338 lines (208 loc) · 27.7 KB

OmniRoute — Dashboard Features Gallery (Bahasa Indonesia)

🌐 Languages: 🇺🇸 English · 🇪🇹 am · 🇸🇦 ar · 🇦🇿 az · 🇧🇬 bg · 🇧🇩 bn · 🇧🇦 bs · 🇨🇿 cs · 🇩🇰 da · 🇩🇪 de · 🇬🇷 el · 🇪🇸 es · 🇪🇪 et · 🇮🇷 fa · 🇫🇮 fi · 🇫🇷 fr · 🇮🇪 ga · 🇮🇳 gu · 🇳🇬 ha · 🇮🇱 he · 🇮🇳 hi · 🇭🇷 hr · 🇭🇺 hu · 🇦🇲 hy · 🇳🇬 ig · 🇮🇹 it · 🇯🇵 ja · 🇬🇪 ka · 🇰🇭 km · 🇮🇳 kn · 🇰🇷 ko · 🇱🇹 lt · 🇱🇻 lv · 🇮🇳 ml · 🇮🇳 mr · 🇲🇾 ms · 🇲🇹 mt · 🇲🇲 my · 🇳🇵 ne · 🇳🇱 nl · 🇳🇴 no · 🇮🇳 or · 🇮🇳 pa · 🇵🇭 phi · 🇵🇱 pl · 🇵🇹 pt · 🇧🇷 pt-BR · 🇷🇴 ro · 🇷🇺 ru · 🇱🇰 si · 🇸🇰 sk · 🇸🇮 sl · 🇷🇸 sr · 🇸🇪 sv · 🇰🇪 sw · 🇮🇳 ta · 🇮🇳 te · 🇹🇭 th · 🇹🇷 tr · 🇺🇦 uk-UA · 🇵🇰 ur · 🇺🇿 uz · 🇻🇳 vi · 🇳🇬 yo · 🇨🇳 zh-CN · 🇹🇼 zh-TW


🌐 Languages: 🇺🇸 English · 🇪🇹 am · 🇸🇦 ar · 🇦🇿 az · 🇧🇬 bg · 🇧🇩 bn · 🇧🇦 bs · 🇨🇿 cs · 🇩🇰 da · 🇩🇪 de · 🇬🇷 el · 🇪🇸 es · 🇪🇪 et · 🇮🇷 fa · 🇫🇮 fi · 🇫🇷 fr · 🇮🇪 ga · 🇮🇳 gu · 🇳🇬 ha · 🇮🇱 he · 🇮🇳 hi · 🇭🇷 hr · 🇭🇺 hu · 🇦🇲 hy · 🇳🇬 ig · 🇮🇹 it · 🇯🇵 ja · 🇬🇪 ka · 🇰🇭 km · 🇮🇳 kn · 🇰🇷 ko · 🇱🇹 lt · 🇱🇻 lv · 🇮🇳 ml · 🇮🇳 mr · 🇲🇾 ms · 🇲🇹 mt · 🇲🇲 my · 🇳🇵 ne · 🇳🇱 nl · 🇳🇴 no · 🇮🇳 or · 🇮🇳 pa · 🇵🇭 phi · 🇵🇱 pl · 🇵🇹 pt · 🇧🇷 pt-BR · 🇷🇴 ro · 🇷🇺 ru · 🇱🇰 si · 🇸🇰 sk · 🇸🇮 sl · 🇷🇸 sr · 🇸🇪 sv · 🇰🇪 sw · 🇮🇳 ta · 🇮🇳 te · 🇹🇭 th · 🇹🇷 tr · 🇺🇦 uk-UA · 🇵🇰 ur · 🇺🇿 uz · 🇻🇳 vi · 🇳🇬 yo · 🇨🇳 zh-CN · 🇹🇼 zh-TW

Panduan visual untuk setiap bagian dasbor OmniRoute.

📅 Terakhir diperbarui: 2026-06-28 — v3.8.40


✨ Sorotan v3.8.0

Siklus v3.7.x → v3.8.0 menghadirkan perutean otomatis tanpa konfigurasi, penyedia baru, alur OAuth, ketahanan yang lebih mendalam, dan pengalaman CLI yang jauh lebih kaya. Fitur-fitur unggulan tercantum di bawah — detail lengkap tersedia lebih lanjut dalam dokumen ini dan spesifikasi yang ditautkan.

  • 🤖 Auto Combo / Perutean otomatis tanpa konfigurasi — gunakan prefiks auto/coding, auto/fast, auto/cheap, auto/offline, auto/smart, auto/lkgp, auto/chaos. Didukung oleh mesin penilaian 16 faktor dan 6 paket mode pilihan (ship-fast, cost-saver, quality-first, offline-friendly, reliability-first, chaos-mode)
  • 🆕 Penyedia Command Code (#2199) — pendaftaran kelas utama dengan katalog model dan pelacakan kuota
  • 🆕 Penyedia Z.AI — penyedia tingkat gratis baru dengan label kuota
  • 🎬 Ekspansi media KIE — katalog yang diperluas, termasuk model pembuatan video
  • 🔐 Autentikasi Devin — Desktop mengimpor kunci API Devin yang sudah ada; CLI menggunakan kredensial lokal devin auth login
  • 🆓 8 penyedia gratis baru — LLM7, Lepton, UncloseAI, BazaarLink, Completions, Enally, FreeTheAi, Command Code
  • 🎯 Perutean tingkat W1–W4 yang memahami manifes — manifes penyedia menentukan pemilihan tingkat berbobot
  • 🎨 Kesetaraan penuh Cursor dengan OpenAI — pemanggilan alat, streaming, dan pengelolaan sesi secara menyeluruh
  • 📊 Penggunaan paket Cursor Pro — data kuota & siklus ditampilkan di dasbor batas penyedia
  • ⚡ Perincian tingkat layanan / analitik tingkat cepat Codex — visibilitas konsumsi per tingkat
  • 📌 Perutean tetap per sesi — sesi Codex ditautkan ke akun yang sama di antara giliran
  • 🔊 Peningkatan TTS Inworld — katalog suara, streaming, dan peningkatan latensi
  • 🔑 Autentikasi headless Kiro — masuk melalui penyimpanan SQLite lokal kiro-cli, tanpa memerlukan peramban
  • 📉 Pemantauan kuota dan batas DeepSeek — penggunaan harian/bulanan ditampilkan melalui dasbor
  • 🔄 Strategi perutean yang memahami pengaturan ulang — combo kini memprioritaskan akun yang jendela kuotanya akan diatur ulang paling cepat
  • ⏱️ fallbackDelayMs dan deteksi batas alat dinamis — pengaturan waktu fallback yang lebih presisi + batas jumlah alat per penyedia
  • 🔧 Degradasi mode latar belakang (Responses API) — beralih ke mode sinkron dengan peringatan terstruktur saat layanan upstream tidak mendukung polling latar belakang
  • 🚦 Klasifikasi 429 per penyedia + opsi useUpstream429BreakerHints — perilaku breaker yang lebih presisi dengan menggunakan petunjuk batas laju upstream
  • 🩺 Dasbor cooldown model — amati penguncian per model dan aktifkan kembali secara manual dari UI
  • 🔒 Deteksi sertifikat Linux dinamis untuk MITM — berfungsi di Debian/Ubuntu, Fedora/RHEL, Arch, dan distro lainnya
  • 💻 Rangkaian peningkatan CLI — 20+ perintah, termasuk omniroute providers, omniroute combos, omniroute doctor, omniroute setup
  • 🔍 Penemuan model embedding Qdrant — pemeriksaan otomatis model penyimpanan vektor
  • 🔑 Kunci API / Kunci Bearer dengan cakupan manage — lakukan operasi admin secara terprogram melalui API
  • 🏥 Analitik kesehatan target combo + pembangun combo terstruktur — kesehatan per target & pembangun UI untuk menyusun langkah-langkah (provider, model, connection)
  • 🤝 Penyedia OAuth GitLab Duo — masuk dengan kredensial GitLab
  • 🧠 Cache Pemutaran Ulang Penalaran — persistensi jejak penalaran secara hibrida dalam memori + SQLite

📚 Dokumentasi terkait: Kerangka Kerja Skills · Sistem Memori · Agen Cloud · Webhook · Cache Pemutaran Ulang Penalaran


🔌 Penyedia

Kelola koneksi penyedia AI: penyedia OAuth (Claude Code, Codex), penyedia kunci API (Groq, DeepSeek, OpenRouter), dan penyedia gratis (Qoder, Kiro). Akun Kiro mencakup pelacakan saldo kredit — sisa kredit, total alokasi, dan tanggal perpanjangan dapat dilihat di Dasbor → Penggunaan.

Koneksi OpenRouter dapat menyimpan preset per koneksi di Pengaturan Lanjutan. Jika ditetapkan, OmniRoute akan mengirimkannya sebagai bidang permintaan tingkat teratas OpenRouter, misalnya "preset": "email-copywriter", kecuali permintaan klien telah menyediakan preset sendiri.

Dasbor Penyedia


🎨 Kombo

Buat kombo perutean model dengan 19 strategi publik: prioritas, berbobot, round-robin, context-relay, fill-first, p2c (pilihan dua pangkat), acak, paling jarang digunakan, dioptimalkan untuk biaya, reset-aware, reset-window, headroom, strict-random, otomatis, lkgp (penyedia terakhir yang diketahui berfungsi), dioptimalkan untuk konteks, dioptimalkan untuk cache, fusion (menyebarkan permintaan ke panel model secara paralel, lalu menyintesis satu jawaban melalui penilai), dan pipeline. Setiap kombo merangkai beberapa model dengan fallback otomatis serta mencakup templat cepat dan pemeriksaan kesiapan.

Peningkatan kombo terbaru:

  • Pembuat kombo terstruktur — buat setiap langkah dengan memilih penyedia, model, dan akun/koneksi yang tepat
  • Dukungan penyedia berulang — gunakan kembali penyedia yang sama berkali-kali dalam satu kombo selama tuple (provider, model, connection) unik
  • Kesehatan target kombo — tampilan analitik dan kesehatan kini membedakan setiap target/langkah kombo alih-alih menggabungkan semuanya menjadi string model
  • Urutan tingkat komposit — defaultTier -> fallbackTier kini memengaruhi urutan eksekusi/fallback saat runtime untuk langkah kombo tingkat teratas
  • Templat prompt sistem — system_message kombo mendukung placeholder sisi server {{MODEL_ID}}, {{PROVIDER_ID}}, {{ACCOUNT}}, dan {{FINGERPRINT}} yang diperluas berdasarkan target yang benar-benar dirutekan tepat sebelum pengiriman. Menggunakan daftar yang diizinkan dan tidak rekursif; placeholder yang tidak dikenal tetap literal; nilai kosong diperluas menjadi kosong; prompt sistem klien tidak pernah ditulis ulang. {{FINGERPRINT}} hanya di-resolve untuk penyedia gratis berbasis fingerprint dengan fingerprint yang disematkan atau dirotasi otomatis — nilainya diperluas menjadi kosong di tempat lain (misalnya koneksi dengan satu fingerprint, penyedia non-fp). Perluasan mencakup loop pengiriman standar, round-robin, dan sesi cache konteks yang disematkan; strategi fusion, chaos, pipeline, dan nested-execute belum memperluas placeholder.

Dasbor Kombo


📊 Analitik

Analitik penggunaan yang komprehensif dengan konsumsi token, estimasi biaya, peta panas aktivitas, grafik distribusi mingguan, dan perincian per penyedia.

Dasbor Analitik


🏥 Kesehatan Sistem

Pemantauan waktu nyata: waktu aktif, memori, versi, persentil latensi (p50/p95/p99), statistik cache, status circuit breaker penyedia, sesi aktif yang dipantau kuotanya, dan kesehatan target kombo.

Dasbor Kesehatan


🔧 Playground Penerjemah

Empat mode untuk men-debug terjemahan API: Playground (konverter format), Penguji Chat (permintaan langsung), Bangku Uji (pengujian batch), dan Monitor Langsung (stream waktu nyata).

Playground Penerjemah


🎮 Playground Model (v2.0.9+)

Uji model apa pun secara langsung dari dasbor. Pilih penyedia, model, dan endpoint, tulis prompt dengan Monaco Editor, stream respons secara waktu nyata, hentikan di tengah stream, dan lihat metrik waktu.


🎨 Tema (v2.0.5+)

Tema warna yang dapat disesuaikan untuk seluruh dasbor. Pilih dari 7 warna prasetel (Koral, Biru, Merah, Hijau, Violet, Oranye, Sian) atau buat tema khusus dengan memilih warna hex apa pun. Mendukung mode terang, gelap, dan sistem.


⚙️ Pengaturan

Panel pengaturan komprehensif dengan 7 tab:

  • Umum — Penyimpanan sistem, pengelolaan cadangan (ekspor/impor basis data)
  • Tampilan — Pemilih tema (gelap/terang/sistem), prasetel tema warna dan warna khusus, visibilitas log kesehatan, kontrol visibilitas item bilah samping dan pemisah grup, kontrol visibilitas tunnel Endpoint
  • AI — Fitur asisten AI, prasetel perutean default (Kombinasi Otomatis auto/coding, auto/fast, auto/cheap, auto/smart), cache pemutaran ulang penalaran, serta tombol aktif/nonaktif keterampilan/memori
  • Keamanan — Perlindungan endpoint API, pemblokiran penyedia khusus, pemfilteran IP, informasi sesi
  • Perutean — Alias model, degradasi tugas latar belakang, perutean tingkat berbasis manifest (W1–W4), fallbackDelayMs, perutean persisten per sesi
  • Ketahanan — Persistensi batas laju, penyesuaian circuit breaker, penonaktifan otomatis akun yang diblokir, pemantauan masa berlaku penyedia, ambang serah terima Context Relay dan konfigurasi model ringkasan, klasifikasi 429 per penyedia & tombol aktif/nonaktif useUpstream429BreakerHints, cooldown model
  • Lanjutan — Penimpaan konfigurasi, jejak audit konfigurasi, mode degradasi fallback, degradasi mode latar belakang untuk Responses API

Dasbor Pengaturan


🔧 Alat CLI

Konfigurasi sekali klik untuk alat pengodean AI: Claude Code, Codex CLI, OpenClaw, Kilo Code, Antigravity, Cline, Continue, Cursor, dan Factory Droid. Menyediakan penerapan/pengaturan ulang konfigurasi otomatis, profil koneksi, dan pemetaan model.

Dasbor Alat CLI


🤖 Agen CLI (v2.0.11+)

Dasbor untuk menemukan dan mengelola agen CLI. Menampilkan kisi berisi 16 agen bawaan (Codex, Claude, Goose, OpenClaw, Aider, OpenCode, Cline, ForgeCode, Amazon Q, Open Interpreter, Cursor CLI, Warp, Windsurf, Devin CLI, Kimi Coding, Command Code) dengan:

  • Status instalasi — Terinstal / Tidak Ditemukan dengan deteksi versi
  • Lencana protokol — stdio, HTTP, dll.
  • Agen khusus — Daftarkan alat CLI apa pun melalui formulir (nama, biner, perintah versi, argumen spawn)
  • Pencocokan Sidik Jari CLI — Tombol aktif/nonaktif per penyedia untuk mencocokkan tanda tangan permintaan CLI native, sehingga mengurangi risiko pemblokiran sambil mempertahankan IP proksi
  • Autentikasi Devin lokal — Devin CLI menggunakan devin auth login; tidak diperlukan alur OAuth browser

🔗 Relay Konteks (v3.5.5+)

Strategi kombo yang mempertahankan kesinambungan sesi ketika rotasi akun terjadi di tengah percakapan. Sebelum akun aktif kehabisan kuota, OmniRoute menghasilkan ringkasan serah terima terstruktur di latar belakang. Setelah permintaan berikutnya dialihkan ke akun lain, ringkasan tersebut disisipkan sebagai pesan sistem agar akun baru dapat melanjutkan dengan konteks lengkap.

Dapat dikonfigurasi melalui pengaturan tingkat kombo atau global:

  • Ambang Serah Terima — Persentase penggunaan kuota yang memicu pembuatan ringkasan (nilai bawaan 85%)
  • Jumlah Maksimal Pesan untuk Ringkasan — Banyaknya riwayat terbaru yang akan diringkas
  • Model Ringkasan — Model pengganti opsional untuk menghasilkan ringkasan serah terima

Saat ini mendukung rotasi akun Codex. Lihat dokumentasi Relay Konteks.


🗜️ Kompresi Prompt (v3.7.9+)

Konteks & Cache kini menyediakan halaman khusus untuk Caveman, RTK, dan Kombo Kompresi:

  • Caveman — paket aturan yang memahami bahasa, pratinjau, kontrol mode keluaran, dan analitik
  • RTK — kompresi yang memahami perintah untuk keluaran shell, git, pengujian, build, paket, Docker, infrastruktur, JSON, dan stack trace
  • Kombo Kompresi — pipeline bernama seperti rtk -> caveman yang ditetapkan ke kombo perutean; perhitungan bertumpuk bawaan mencapai rata-rata ~89% dan penghematan konteks yang memenuhi syarat sebesar 78-95% ketika kedua mesin diterapkan
  • Pemulihan keluaran mentah — penunjuk opsional ke keluaran mentah RTK yang telah disunting untuk men-debug kegagalan terkompresi

Lihat Panduan Kompresi, Kompresi RTK, dan Mesin Kompresi.


🛡️ Penguatan Proksi (v3.5.5+)

Penerapan konfigurasi proksi yang menyeluruh di seluruh pipeline permintaan:

  • Pemeriksaan Kesehatan Token — Penyegaran OAuth di latar belakang kini menentukan konfigurasi proksi untuk setiap koneksi, sehingga mencegah kegagalan di lingkungan yang mewajibkan proksi
  • Validasi Kunci API — Validasi kunci penyedia (POST /api/providers/validate) dirutekan melalui runWithProxyContext, dengan mematuhi pengaturan proksi tingkat penyedia dan global
  • Perbaikan Dispatcher undici — Dispatcher proksi menggunakan implementasi fetch milik undici, bukan fetch bawaan Node, sehingga mengatasi galat invalid onRequestStart method pada Node.js 22
  • Deteksi Versi Node.js — Halaman masuk secara proaktif mendeteksi versi Node.js yang tidak kompatibel (24+) dan menampilkan spanduk peringatan beserta petunjuk untuk menggunakan Node 22 LTS

📧 Penyamaran Privasi Email (v3.5.6+)

Email akun OAuth disamarkan secara bawaan (misalnya di*****@g****.com) untuk mencegah paparan yang tidak disengaja saat membagikan tangkapan layar atau merekam demo. Gunakan Pengaturan → Tampilan → Visibilitas email akun untuk menampilkan atau menyamarkan email akun lengkap secara global di seluruh layar penyedia, kombo, log, kuota, dan playground.


👁️ Tombol Visibilitas Model (v3.5.6+)

Daftar model pada halaman penyedia kini mencakup:

  • Bilah pencarian/filter waktu nyata — Temukan model tertentu dengan cepat
  • Tombol visibilitas per model (ikon 👁) — Model tersembunyi ditampilkan dalam warna abu-abu dan dikecualikan dari katalog /v1/models
  • Lencana jumlah aktif (N/M aktif) — Menampilkan secara sekilas jumlah model yang diaktifkan dibandingkan jumlah keseluruhan

🔧 Perbaikan Env OAuth (v3.6.1+)

Tindakan "Repair env" sekali klik untuk penyedia OAuth yang memulihkan variabel lingkungan yang hilang dan memperbaiki status autentikasi yang rusak. Dapat diakses melalui Dashboard → Providers → [OAuth Provider] → Repair env. Secara otomatis mendeteksi dan memperbaiki:

  • Kredensial klien OAuth yang hilang
  • Entri file env yang rusak
  • Sanitasi jalur pencadangan

🗑️ Penghapusan Instalasi / Penghapusan Instalasi Penuh (v3.6.2+)

Skrip penghapusan bersih untuk semua metode instalasi:

Perintah Tindakan
npm run uninstall Menghapus aplikasi sistem, tetapi mempertahankan DB dan konfigurasi Anda di ~/.omniroute.
npm run uninstall:full Menghapus aplikasi DAN secara permanen menghapus semua konfigurasi, kunci, dan basis data.

🖼️ Media (v2.0.3+)

Buat gambar, video, dan musik dari dasbor. Mendukung OpenAI, xAI, Together, Hyperbolic, SD WebUI, ComfyUI, AnimateDiff, Stable Audio Open, dan MusicGen.


📝 Log Permintaan

Pencatatan permintaan secara real-time dengan pemfilteran berdasarkan penyedia, model, akun, dan kunci API. Menampilkan kode status, penggunaan token, latensi, dan detail respons.

Log Penggunaan


🌐 Endpoint API

Endpoint API terpadu Anda dengan perincian kemampuan: Penyelesaian Obrolan, API Respons, Embedding, Pembuatan Gambar, Pemeringkatan Ulang, Transkripsi Audio, Teks-ke-Ucapan, Moderasi, dan kunci API yang terdaftar. Dukungan Cloudflare Quick Tunnel, Tailscale Funnel, ngrok Tunnel, dan proksi cloud tersedia untuk akses jarak jauh.

Dasbor Endpoint


🔑 Pengelolaan Kunci API

Buat, batasi cakupan, dan cabut kunci API. Setiap kunci dapat dibatasi untuk model/penyedia tertentu dengan akses penuh atau izin hanya-baca. Pengelolaan kunci secara visual dengan pelacakan penggunaan.


📋 Log Audit

Pelacakan tindakan administratif dengan pemfilteran berdasarkan jenis tindakan, pelaku, target, alamat IP, dan stempel waktu. Riwayat lengkap peristiwa keamanan.


🖥️ Aplikasi Desktop

Aplikasi desktop Electron native untuk Windows, macOS, dan Linux. Jalankan OmniRoute sebagai aplikasi mandiri dengan integrasi baki sistem, dukungan offline, pembaruan otomatis, dan instalasi sekali klik.

Fitur utama:

  • Polling kesiapan server (tanpa layar kosong saat dimulai dari kondisi dingin)
  • Baki sistem dengan pengelolaan port
  • Kebijakan Keamanan Konten
  • Penguncian instans tunggal
  • Pembaruan otomatis saat dimulai ulang
  • UI kondisional berdasarkan platform (tombol lampu lalu lintas macOS, bilah judul default Windows/Linux)
  • Pengemasan build Electron yang diperkuat — node_modules yang ditautkan secara simbolis dalam bundel mandiri dideteksi dan ditolak sebelum pengemasan, sehingga mencegah ketergantungan runtime pada mesin build (v2.5.5+)
  • Penonaktifan yang mulus — before-quit Electron mematikan Next.js dengan bersih, sehingga mencegah penguncian basis data SQLite WAL (v3.6.2+)

📖 Lihat electron/README.md untuk dokumentasi lengkap.


🌐 Jembatan WebSocket V1 (v3.6.6+)

OmniRoute kini mendukung klien WebSocket yang kompatibel dengan OpenAI melalui endpoint peningkatan /v1/ws. Server scripts/dev/v1-ws-bridge.mjs khusus membungkus Next.js dan meningkatkan koneksi WS menjadi sesi streaming dua arah penuh. Autentikasi menggunakan kunci API atau cookie sesi yang sama seperti permintaan HTTP.

Perilaku utama:

  • Peningkatan WS divalidasi oleh src/lib/ws/handshake.ts sebelum koneksi dibuat
  • Stream dihentikan dengan bersih saat sesi ditutup atau terjadi kesalahan upstream
  • Berfungsi secara bersamaan dengan jalur streaming HTTP+SSE yang sudah ada

🔑 Token Sinkronisasi & Bundel Konfigurasi (v3.6.6+)

Akses multi-perangkat dan operator eksternal kini dimungkinkan melalui token sinkronisasi dengan cakupan tertentu:

  • POST /api/sync/tokens — Terbitkan token sinkronisasi baru (dengan cakupan tertentu dan masa berlaku opsional)
  • DELETE /api/sync/tokens/:id — Cabut token
  • GET /api/sync/bundle — Unduh snapshot JSON berversi dan berkunci ETag dari semua pengaturan non-sensitif (kata sandi disamarkan)

Bundel konfigurasi dibuat oleh src/lib/sync/bundle.ts. Konsumen membandingkan header respons ETag untuk mendeteksi perubahan tanpa mengunduh ulang seluruh payload.


🧠 Preset GLM Thinking (v3.6.6+)

GLM Thinking (glmt) kini merupakan penyedia utama yang terdaftar: maksimal 65 536 token keluaran, anggaran berpikir 24 576, batas waktu default 900 dtk, format API yang kompatibel dengan Claude, dan sinkronisasi penggunaan bersama keluarga GLM.

Penghitungan token hibrida juga hadir di v3.6.6: ketika penyedia yang kompatibel dengan Claude menyediakan /messages/count_tokens, OmniRoute memanggilnya sebelum permintaan besar, dengan fallback estimasi yang mulus.


🛡️ Pengambilan Data Keluar yang Aman & Perlindungan SSRF (v3.6.6+)

Semua panggilan validasi penyedia dan penemuan model kini melalui perlindungan keluar dua lapis:

  1. Perlindungan URL (src/shared/network/outboundUrlGuard.ts) — Memblokir rentang IP privat/loopback/link-local sebelum soket dibuka.
  2. Pembungkus pengambilan aman (src/shared/network/safeOutboundFetch.ts) — Menerapkan perlindungan URL, menormalisasi batas waktu, dan mencoba kembali kesalahan sementara dengan backoff eksponensial.

Pelanggaran perlindungan ditampilkan sebagai HTTP 422 (URL_GUARD_BLOCKED) dan ditulis ke log audit kepatuhan melalui providerAudit.ts.


🔄 Percobaan Ulang yang Mempertimbangkan Masa Jeda (v3.6.6+)

Permintaan chat kini secara otomatis dicoba ulang ketika penyedia upstream mengembalikan masa jeda yang berlaku untuk model tertentu. Dapat dikonfigurasi melalui REQUEST_RETRY (default: 2) dan MAX_RETRY_INTERVAL_SEC (default: 30 dtk). Pembelajaran header batas laju telah ditingkatkan untuk x-ratelimit-reset-requests, x-ratelimit-reset-tokens, dan Retry-After — status masa jeda per model dapat dilihat di dasbor Resilience.


📋 Audit Kepatuhan v2 (v3.6.6+)

Log audit telah diperluas dengan paginasi berbasis kursor, pengayaan konteks permintaan (ID permintaan, agen pengguna, IP), peristiwa autentikasi terstruktur, peristiwa CRUD penyedia dengan konteks perbedaan, serta pencatatan validasi yang diblokir SSRF. Peristiwa baru dihasilkan oleh src/lib/compliance/providerAudit.ts.