omniroute 1.4.10 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.ar.md +1153 -0
- package/README.bg.md +1238 -0
- package/README.da.md +1238 -0
- package/README.de.md +1 -1
- package/README.es.md +1 -1
- package/README.fi.md +1238 -0
- package/README.fr.md +1 -1
- package/README.he.md +1238 -0
- package/README.hu.md +1238 -0
- package/README.id.md +1238 -0
- package/README.in.md +952 -0
- package/README.it.md +1 -1
- package/README.ja.md +1152 -0
- package/README.ko.md +1238 -0
- package/README.md +25 -20
- package/README.ms.md +1238 -0
- package/README.nl.md +1238 -0
- package/README.no.md +1238 -0
- package/README.phi.md +1238 -0
- package/README.pl.md +1238 -0
- package/README.pt-BR.md +16 -12
- package/README.pt.md +1238 -0
- package/README.ro.md +1238 -0
- package/README.ru.md +1 -1
- package/README.sk.md +1239 -0
- package/README.sv.md +1238 -0
- package/README.th.md +1229 -0
- package/README.uk-UA.md +1240 -0
- package/README.vi.md +1238 -0
- package/README.zh-CN.md +1 -1
- package/app/.next/BUILD_ID +1 -1
- package/app/.next/app-path-routes-manifest.json +39 -39
- package/app/.next/build-manifest.json +2 -2
- package/app/.next/prerender-manifest.json +3 -3
- package/app/.next/server/app/(dashboard)/dashboard/analytics/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/analytics/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/analytics/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/api-manager/page.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/api-manager/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/api-manager/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/audit-log/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/audit-log/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/audit-log/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page.js +6 -6
- package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/combos/page.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/costs/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/costs/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/costs/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/endpoint/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/health/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/health/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/health/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/limits/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/limits/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/limits/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/logs/page.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/logs/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/logs/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/onboarding/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/onboarding/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/onboarding/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/profile/page.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/new/page.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/page.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/settings/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/settings/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/settings/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/settings/pricing/page.js +2 -2
- package/app/.next/server/app/(dashboard)/dashboard/settings/pricing/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/translator/page.js +4 -4
- package/app/.next/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/usage/page.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/_global-error.html +2 -2
- package/app/.next/server/app/_global-error.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/app/.next/server/app/_not-found/page.js +1 -1
- package/app/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/app/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/auth/login/route.js +1 -1
- package/app/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cache/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cache/stats/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/antigravity-mitm/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/antigravity-mitm/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/backups/route.js +1 -1
- package/app/.next/server/app/api/cli-tools/backups/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/claude-settings/route.js +1 -1
- package/app/.next/server/app/api/cli-tools/claude-settings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/cline-settings/route.js +1 -1
- package/app/.next/server/app/api/cli-tools/cline-settings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/codex-profiles/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/codex-profiles/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/codex-settings/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/codex-settings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/droid-settings/route.js +1 -1
- package/app/.next/server/app/api/cli-tools/droid-settings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/guide-settings/[toolId]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/kilo-settings/route.js +1 -1
- package/app/.next/server/app/api/cli-tools/kilo-settings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/openclaw-settings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/runtime/[toolId]/route.js +2 -2
- package/app/.next/server/app/api/cli-tools/runtime/[toolId]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cli-tools/status/route.js +1 -1
- package/app/.next/server/app/api/cli-tools/status/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cloud/auth/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cloud/credentials/update/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cloud/model/resolve/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/cloud/models/alias/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/combos/[id]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/combos/metrics/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/combos/route.js +1 -1
- package/app/.next/server/app/api/combos/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/combos/test/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/compliance/audit-log/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/db-backups/export/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/db-backups/exportAll/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/db-backups/import/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/db-backups/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/evals/[suiteId]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/evals/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/fallback/chains/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/init/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/keys/[id]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/keys/route.js +1 -1
- package/app/.next/server/app/api/keys/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/logs/console/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/models/alias/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/models/availability/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/models/catalog/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/models/route.js +1 -1
- package/app/.next/server/app/api/models/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/monitoring/health/route.js +1 -1
- package/app/.next/server/app/api/monitoring/health/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/oauth/[provider]/[action]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/oauth/cursor/auto-import/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/oauth/cursor/import/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/oauth/kiro/auto-import/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/oauth/kiro/import/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/oauth/kiro/social-authorize/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/oauth/kiro/social-exchange/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/policies/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/pricing/defaults/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/pricing/models/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/pricing/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/provider-metrics/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/provider-models/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/provider-nodes/[id]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/provider-nodes/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/provider-nodes/validate/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/providers/[id]/models/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/providers/[id]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/providers/[id]/test/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/providers/client/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/providers/route.js +1 -1
- package/app/.next/server/app/api/providers/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/providers/test-batch/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/providers/validate/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/rate-limit/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/rate-limits/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/resilience/reset/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/resilience/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/restart/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/sessions/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/settings/combo-defaults/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/settings/ip-filter/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/settings/proxy/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/settings/proxy/test/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/settings/require-login/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/settings/route.js +1 -1
- package/app/.next/server/app/api/settings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/settings/system-prompt/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/settings/thinking-budget/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/shutdown/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/storage/health/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/sync/cloud/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/sync/initialize/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/tags/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/telemetry/summary/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/token-health/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/translator/detect/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/translator/history/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/translator/load/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/translator/save/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/translator/send/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/translator/translate/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/[connectionId]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/analytics/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/budget/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/call-logs/[id]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/call-logs/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/history/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/logs/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/proxy-logs/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/usage/request-logs/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/api/chat/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/audio/speech/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/audio/transcriptions/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/chat/completions/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/embeddings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/images/generations/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/messages/count_tokens/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/messages/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/models/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/moderations/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/providers/[provider]/chat/completions/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/providers/[provider]/embeddings/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/providers/[provider]/images/generations/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/rerank/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/responses/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1beta/models/[...path]/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/v1beta/models/route_client-reference-manifest.js +1 -1
- package/app/.next/server/app/callback/page.js +2 -2
- package/app/.next/server/app/callback/page.js.nft.json +1 -1
- package/app/.next/server/app/callback/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/docs/page.js +2 -2
- package/app/.next/server/app/docs/page.js.nft.json +1 -1
- package/app/.next/server/app/docs/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/forbidden/page.js +2 -2
- package/app/.next/server/app/forbidden/page.js.nft.json +1 -1
- package/app/.next/server/app/forbidden/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/forgot-password/page.js +2 -2
- package/app/.next/server/app/forgot-password/page.js.nft.json +1 -1
- package/app/.next/server/app/forgot-password/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/landing/page.js +2 -2
- package/app/.next/server/app/landing/page.js.nft.json +1 -1
- package/app/.next/server/app/landing/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/login/page.js +2 -2
- package/app/.next/server/app/login/page.js.nft.json +1 -1
- package/app/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/page.js +1 -1
- package/app/.next/server/app/page.js.nft.json +1 -1
- package/app/.next/server/app/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/privacy/page.js +2 -2
- package/app/.next/server/app/privacy/page.js.nft.json +1 -1
- package/app/.next/server/app/privacy/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/terms/page.js +2 -2
- package/app/.next/server/app/terms/page.js.nft.json +1 -1
- package/app/.next/server/app/terms/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app-paths-manifest.json +39 -39
- package/app/.next/server/chunks/1248.js +1 -0
- package/app/.next/server/chunks/{3994.js → 1465.js} +2 -2
- package/app/.next/server/chunks/1526.js +1 -0
- package/app/.next/server/chunks/1584.js +1 -0
- package/app/.next/server/chunks/1623.js +1 -0
- package/app/.next/server/chunks/1880.js +1 -0
- package/app/.next/server/chunks/1960.js +1 -1
- package/app/.next/server/chunks/1990.js +1 -1
- package/app/.next/server/chunks/2214.js +1 -0
- package/app/.next/server/chunks/2372.js +1 -0
- package/app/.next/server/chunks/2594.js +1 -0
- package/app/.next/server/chunks/3371.js +1 -0
- package/app/.next/server/chunks/3498.js +5 -3
- package/app/.next/server/chunks/3911.js +1 -0
- package/app/.next/server/chunks/438.js +1 -0
- package/app/.next/server/chunks/496.js +1 -0
- package/app/.next/server/chunks/5047.js +1 -0
- package/app/.next/server/chunks/5094.js +1 -0
- package/app/.next/server/chunks/5097.js +1 -0
- package/app/.next/server/chunks/5393.js +2 -0
- package/app/.next/server/chunks/5521.js +1 -0
- package/app/.next/server/chunks/5945.js +1 -0
- package/app/.next/server/chunks/6118.js +1 -0
- package/app/.next/server/chunks/6930.js +1 -0
- package/app/.next/server/chunks/7011.js +1 -0
- package/app/.next/server/chunks/708.js +1 -0
- package/app/.next/server/chunks/7650.js +1 -0
- package/app/.next/server/chunks/8220.js +1 -0
- package/app/.next/server/chunks/8464.js +1 -0
- package/app/.next/server/chunks/8706.js +1 -0
- package/app/.next/server/chunks/8976.js +1 -0
- package/app/.next/server/chunks/9119.js +1 -0
- package/app/.next/server/chunks/944.js +1 -0
- package/app/.next/server/chunks/9824.js +2 -2
- package/app/.next/server/chunks/9837.js +1 -0
- package/app/.next/server/pages/500.html +2 -2
- package/app/.next/server/server-reference-manifest.js +1 -1
- package/app/.next/server/server-reference-manifest.json +1 -1
- package/app/.next/static/chunks/{6458-085536744d592424.js → 1149-fefe7f95f0e9842f.js} +1 -1
- package/app/.next/static/chunks/{5846-bac355f56b136439.js → 5846-c6bffec2bf9757fa.js} +1 -1
- package/app/.next/static/chunks/{782-5e138760b7f7bf48.js → 8055-5844ff783b2e8a99.js} +3 -3
- package/app/.next/static/chunks/{993-961f6e199b93539a.js → 993-cf9fe6c017bc7e67.js} +3 -3
- package/app/.next/static/chunks/app/(dashboard)/dashboard/analytics/page-52f76c7c91444ec2.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/api-manager/page-1dd4d0c348a7b0a6.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/audit-log/page-e5bf8955e7b9a4f5.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/cli-tools/page-ce332ffdb491a4d8.js +15 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/combos/{page-ede2315b6918315e.js → page-6abed29d64c46388.js} +1 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/costs/page-3ed2a7685adf9b91.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/endpoint/page-1420c3ca376f1585.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/health/page-9a6519bf1468f16e.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/limits/page-f4a2d6d07df5ddc4.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/logs/{page-6ee69634597daee0.js → page-833d24f322a20f5a.js} +1 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/onboarding/page-ec914ae79f085e6f.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/page-388840686801f3f5.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-9c8ffb212f855704.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/new/page-31cdb6e15134d8c2.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/page-1f022385b812b987.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/settings/page-1393d4935fc087cf.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/settings/pricing/{page-77158451270c1852.js → page-f10a8d4bb8236913.js} +1 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/translator/page-83b07523f81d6282.js +4 -0
- package/app/.next/static/chunks/app/(dashboard)/dashboard/usage/page-9cc99ab874fc36e7.js +1 -0
- package/app/.next/static/chunks/app/(dashboard)/{layout-b23c2c5427e04dcf.js → layout-00d5d56af65098a9.js} +1 -1
- package/app/.next/static/chunks/app/callback/page-585a53f7dc6a30f1.js +1 -0
- package/app/.next/static/chunks/app/docs/page-2fe9dcbeb3f738c0.js +1 -0
- package/app/.next/static/chunks/app/forbidden/{page-4a39fedc08aaaf55.js → page-df886dfa2d5bd9fa.js} +1 -1
- package/app/.next/static/chunks/app/forgot-password/page-2a495f0b0c653ab4.js +1 -0
- package/app/.next/static/chunks/app/landing/page-9d540ab1716f8e3e.js +1 -0
- package/app/.next/static/chunks/app/login/page-121c612ee459e7c2.js +1 -0
- package/app/.next/static/chunks/app/privacy/page-2fe9dcbeb3f738c0.js +1 -0
- package/app/.next/static/chunks/app/terms/page-2fe9dcbeb3f738c0.js +1 -0
- package/app/.next/static/css/6f101b114a4a7286.css +1 -0
- package/app/package.json +1 -1
- package/package.json +1 -1
- package/app/.next/server/chunks/1259.js +0 -2
- package/app/.next/server/chunks/4509.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/analytics/page-3fcbbdb2221f0b0c.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/api-manager/page-d806e4f28c15636a.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/audit-log/page-27bc511cf3930e1e.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/cli-tools/page-ad885fdf9806e9a6.js +0 -15
- package/app/.next/static/chunks/app/(dashboard)/dashboard/costs/page-f256689b8410bd74.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/endpoint/page-6e4f3ca7ac9778be.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/health/page-8725f1a181e558a3.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/limits/page-a5a48afa8c125ada.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/onboarding/page-931fa0c45dca76c9.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/page-04bc41f9e9de17ef.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-6b6d62c5872aee46.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/new/page-2dc2a865e90681dd.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/page-ac85ce5066cd9044.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/settings/page-88cac9e6f2fbe335.js +0 -1
- package/app/.next/static/chunks/app/(dashboard)/dashboard/translator/page-75c8b38a55e13042.js +0 -4
- package/app/.next/static/chunks/app/(dashboard)/dashboard/usage/page-f0809c7842e4f5b4.js +0 -1
- package/app/.next/static/chunks/app/callback/page-e439cd5a287000d8.js +0 -1
- package/app/.next/static/chunks/app/docs/page-8f74097544a61b9d.js +0 -1
- package/app/.next/static/chunks/app/forgot-password/page-057ea91c6f140e0b.js +0 -1
- package/app/.next/static/chunks/app/landing/page-09741814aaca7548.js +0 -1
- package/app/.next/static/chunks/app/login/page-c1d7bfab91a7877c.js +0 -1
- package/app/.next/static/chunks/app/privacy/page-8f74097544a61b9d.js +0 -1
- package/app/.next/static/chunks/app/terms/page-8f74097544a61b9d.js +0 -1
- package/app/.next/static/css/e90887a86e63903f.css +0 -1
- /package/app/.next/static/{8UAle4UTGR7gIVofXmh_1 → XOdkUGO-Pm15MwsN4s6B3}/_buildManifest.js +0 -0
- /package/app/.next/static/{8UAle4UTGR7gIVofXmh_1 → XOdkUGO-Pm15MwsN4s6B3}/_ssgManifest.js +0 -0
package/README.bg.md
ADDED
|
@@ -0,0 +1,1238 @@
|
|
|
1
|
+
<div align="center">
|
|
2
|
+
<img src="./docs/screenshots/MainOmniRoute.png" alt="OmniRoute Dashboard" width="800"/>
|
|
3
|
+
|
|
4
|
+
# 🚀 OmniRoute — Безплатният AI Gateway
|
|
5
|
+
|
|
6
|
+
🌐 **[English](#-omniroute--the-free-ai-gateway)** | **[Português (BR)](#-omniroute--gateway-de-ia-gratuito)**
|
|
7
|
+
|
|
8
|
+
### Никога не спирайте да кодирате. Интелигентно маршрутизиране към **БЕЗПЛАТНИ и евтини AI модели** с автоматичен резервен вариант.
|
|
9
|
+
|
|
10
|
+
_Вашият универсален API прокси — една крайна точка, 36+ доставчици, нулев престой._
|
|
11
|
+
|
|
12
|
+
**Завършвания на чат • Вграждания • Генериране на изображения • Аудио • Прекласиране • 100% TypeScript**
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
### 🤖 Безплатен доставчик на AI за вашите любими кодиращи агенти
|
|
17
|
+
|
|
18
|
+
_Свържете всеки базиран на AI IDE или CLI инструмент чрез OmniRoute — безплатен API шлюз за неограничено кодиране._
|
|
19
|
+
|
|
20
|
+
<table>
|
|
21
|
+
<tr>
|
|
22
|
+
<td align="center" width="110">
|
|
23
|
+
<a href="https://github.com/cline/cline">
|
|
24
|
+
<img src="./public/providers/openclaw.png" alt="OpenClaw" width="48"/><br/>
|
|
25
|
+
<b>OpenClaw</b>
|
|
26
|
+
</a><br/>
|
|
27
|
+
<sub>⭐ 205K</sub>
|
|
28
|
+
</td>
|
|
29
|
+
<td align="center" width="110">
|
|
30
|
+
<a href="https://github.com/HKUDS/nanobot">
|
|
31
|
+
<img src="./public/providers/nanobot.png" alt="NanoBot" width="48"/><br/>
|
|
32
|
+
<b>NanoBot</b>
|
|
33
|
+
</a><br/>
|
|
34
|
+
<sub>⭐ 20.9K</sub>
|
|
35
|
+
</td>
|
|
36
|
+
<td align="center" width="110">
|
|
37
|
+
<a href="https://github.com/sipeed/picoclaw">
|
|
38
|
+
<img src="./public/providers/picoclaw.jpg" alt="PicoClaw" width="48"/><br/>
|
|
39
|
+
<b>PicoClaw</b>
|
|
40
|
+
</a><br/>
|
|
41
|
+
<sub>⭐ 14.6K</sub>
|
|
42
|
+
</td>
|
|
43
|
+
<td align="center" width="110">
|
|
44
|
+
<a href="https://github.com/zeroclaw-labs/zeroclaw">
|
|
45
|
+
<img src="./public/providers/zeroclaw.png" alt="ZeroClaw" width="48"/><br/>
|
|
46
|
+
<b>ZeroClaw</b>
|
|
47
|
+
</a><br/>
|
|
48
|
+
<sub>⭐ 9.9K</sub>
|
|
49
|
+
</td>
|
|
50
|
+
<td align="center" width="110">
|
|
51
|
+
<a href="https://github.com/nearai/ironclaw">
|
|
52
|
+
<img src="./public/providers/ironclaw.png" alt="IronClaw" width="48"/><br/>
|
|
53
|
+
<b>IronClaw</b>
|
|
54
|
+
</a><br/>
|
|
55
|
+
<sub>⭐ 2.1K</sub>
|
|
56
|
+
</td>
|
|
57
|
+
</tr>
|
|
58
|
+
<tr>
|
|
59
|
+
<td align="center" width="110">
|
|
60
|
+
<a href="https://github.com/anomalyco/opencode">
|
|
61
|
+
<img src="./public/providers/opencode.svg" alt="OpenCode" width="48"/><br/>
|
|
62
|
+
<b>OpenCode</b>
|
|
63
|
+
</a><br/>
|
|
64
|
+
<sub>⭐ 106K</sub>
|
|
65
|
+
</td>
|
|
66
|
+
<td align="center" width="110">
|
|
67
|
+
<a href="https://github.com/openai/codex">
|
|
68
|
+
<img src="./public/providers/codex.png" alt="Codex CLI" width="48"/><br/>
|
|
69
|
+
<b>Codex CLI</b>
|
|
70
|
+
</a><br/>
|
|
71
|
+
<sub>⭐ 60.8K</sub>
|
|
72
|
+
</td>
|
|
73
|
+
<td align="center" width="110">
|
|
74
|
+
<a href="https://github.com/anthropics/claude-code">
|
|
75
|
+
<img src="./public/providers/claude.png" alt="Claude Code" width="48"/><br/>
|
|
76
|
+
<b>Claude Code</b>
|
|
77
|
+
</a><br/>
|
|
78
|
+
<sub>⭐ 67.3K</sub>
|
|
79
|
+
</td>
|
|
80
|
+
<td align="center" width="110">
|
|
81
|
+
<a href="https://github.com/google-gemini/gemini-cli">
|
|
82
|
+
<img src="./public/providers/gemini-cli.png" alt="Gemini CLI" width="48"/><br/>
|
|
83
|
+
<b>Gemini CLI</b>
|
|
84
|
+
</a><br/>
|
|
85
|
+
<sub>⭐ 94.7K</sub>
|
|
86
|
+
</td>
|
|
87
|
+
<td align="center" width="110">
|
|
88
|
+
<a href="https://github.com/Kilo-Org/kilocode">
|
|
89
|
+
<img src="./public/providers/kilocode.png" alt="Kilo Code" width="48"/><br/>
|
|
90
|
+
<b>Kilo Code</b>
|
|
91
|
+
</a><br/>
|
|
92
|
+
<sub>⭐ 15.5K</sub>
|
|
93
|
+
</td>
|
|
94
|
+
</tr>
|
|
95
|
+
</table>
|
|
96
|
+
|
|
97
|
+
<sub>📡 Всички агенти се свързват чрез <code>http://localhost:20128/v1</code> или <code>http://cloud.omniroute.online/v1</code> — една конфигурация, неограничени модели и квота</sub>
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
[](https://www.npmjs.com/package/omniroute)
|
|
102
|
+
[](https://hub.docker.com/r/diegosouzapw/omniroute)
|
|
103
|
+
[](https://github.com/diegosouzapw/OmniRoute/blob/main/LICENSE)
|
|
104
|
+
[](https://omniroute.online)
|
|
105
|
+
[](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t)
|
|
106
|
+
|
|
107
|
+
[🌐 Website](https://omniroute.online) • [🚀 Quick Start](#-quick-start) • [💡 Features](#-key-features) • [📖 Docs](#-documentation) • [💰 Pricing](#-pricing-at-a-glance) • [💬 WhatsApp](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t)
|
|
108
|
+
|
|
109
|
+
🌐 **Available in:** 🇺🇸 [English](README.md) | 🇧🇷 [Português (Brasil)](README.pt-BR.md) | 🇪🇸 [Español](README.es.md) | 🇫🇷 [Français](README.fr.md) | 🇮🇹 [Italiano](README.it.md) | 🇷🇺 [Русский](README.ru.md) | 🇨🇳 [中文 (简体)](README.zh-CN.md) | 🇩🇪 [Deutsch](README.de.md) | 🇮🇳 [हिन्दी](README.in.md) | 🇹🇭 [ไทย](README.th.md) | 🇺🇦 [Українська](README.uk-UA.md) | 🇸🇦 [العربية](README.ar.md) | 🇯🇵 [日本語](README.ja.md) | 🇻🇳 [Tiếng Việt](README.vi.md) | 🇧🇬 [Български](README.bg.md) | 🇩🇰 [Dansk](README.da.md) | 🇫🇮 [Suomi](README.fi.md) | 🇮🇱 [עברית](README.he.md) | 🇭🇺 [Magyar](README.hu.md) | 🇮🇩 [Bahasa Indonesia](README.id.md) | 🇰🇷 [한국어](README.ko.md) | 🇲🇾 [Bahasa Melayu](README.ms.md) | 🇳🇱 [Nederlands](README.nl.md) | 🇳🇴 [Norsk](README.no.md) | 🇵🇹 [Português (Portugal)](README.pt.md) | 🇷🇴 [Română](README.ro.md) | 🇵🇱 [Polski](README.pl.md) | 🇸🇰 [Slovenčina](README.sk.md) | 🇸🇪 [Svenska](README.sv.md) | 🇵🇭 [Filipino](README.phi.md)
|
|
110
|
+
|
|
111
|
+
</div>
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## 🤔 Защо OmniRoute?
|
|
116
|
+
|
|
117
|
+
**Спрете да пилеете пари и да достигате лимити:**
|
|
118
|
+
|
|
119
|
+
- <img src="https://img.shields.io/badge/✗-e74c3c?style=flat-square" height="16"/> Абонаментната квота изтича неизползвана всеки месец
|
|
120
|
+
- <img src="https://img.shields.io/badge/✗-e74c3c?style=flat-square" height="16"/> Ограниченията на скоростта ви спират да кодирате по средата
|
|
121
|
+
- <img src="https://img.shields.io/badge/✗-e74c3c?style=flat-square" height="16"/> Скъпи API ($20-50/месец на доставчик)
|
|
122
|
+
- <img src="https://img.shields.io/badge/✗-e74c3c?style=flat-square" height="16"/> Ръчно превключване между доставчици
|
|
123
|
+
|
|
124
|
+
**OmniRoute решава това:**
|
|
125
|
+
|
|
126
|
+
- ✅ **Увеличете максимално абонаментите** - Проследете квотата, използвайте всеки бит преди нулиране
|
|
127
|
+
- ✅ **Автоматичен резервен режим** - Абонамент → API ключ → Евтини → Безплатно, нулев престой
|
|
128
|
+
- ✅ **Множество акаунти** - Кръгови сметки между акаунти на доставчик
|
|
129
|
+
- ✅ **Универсален** - Работи с Claude Code, Codex, Gemini CLI, Cursor, Cline, OpenClaw, всеки CLI инструмент
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
## 🔄 Как работи
|
|
134
|
+
|
|
135
|
+
```
|
|
136
|
+
┌─────────────┐
|
|
137
|
+
│ Your CLI │ (Claude Code, Codex, Gemini CLI, OpenClaw, Cursor, Cline...)
|
|
138
|
+
│ Tool │
|
|
139
|
+
└──────┬──────┘
|
|
140
|
+
│ http://localhost:20128/v1
|
|
141
|
+
↓
|
|
142
|
+
┌─────────────────────────────────────────┐
|
|
143
|
+
│ OmniRoute (Smart Router) │
|
|
144
|
+
│ • Format translation (OpenAI ↔ Claude) │
|
|
145
|
+
│ • Quota tracking + Embeddings + Images │
|
|
146
|
+
│ • Auto token refresh │
|
|
147
|
+
└──────┬──────────────────────────────────┘
|
|
148
|
+
│
|
|
149
|
+
├─→ [Tier 1: SUBSCRIPTION] Claude Code, Codex, Gemini CLI
|
|
150
|
+
│ ↓ quota exhausted
|
|
151
|
+
├─→ [Tier 2: API KEY] DeepSeek, Groq, xAI, Mistral, NVIDIA NIM, etc.
|
|
152
|
+
│ ↓ budget limit
|
|
153
|
+
├─→ [Tier 3: CHEAP] GLM ($0.6/1M), MiniMax ($0.2/1M)
|
|
154
|
+
│ ↓ budget limit
|
|
155
|
+
└─→ [Tier 4: FREE] iFlow, Qwen, Kiro (unlimited)
|
|
156
|
+
|
|
157
|
+
Result: Never stop coding, minimal cost
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
---
|
|
161
|
+
|
|
162
|
+
## ⚡ Бърз старт
|
|
163
|
+
|
|
164
|
+
**1. Инсталирайте глобално:**
|
|
165
|
+
|
|
166
|
+
```bash
|
|
167
|
+
npm install -g omniroute
|
|
168
|
+
omniroute
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
🎉 Таблото за управление се отваря на `http://localhost:20128`
|
|
172
|
+
|
|
173
|
+
| Команда | Описание |
|
|
174
|
+
| ----------------------- | ----------------------------------------------- |
|
|
175
|
+
| `omniroute` | Стартирайте сървър (порт по подразбиране 20128) |
|
|
176
|
+
| `omniroute --port 3000` | Използвайте персонализиран порт |
|
|
177
|
+
| `omniroute --no-open` | Без автоматично отваряне на браузъра |
|
|
178
|
+
| `omniroute --help` | Показване на помощ |
|
|
179
|
+
|
|
180
|
+
**2. Свържете БЕЗПЛАТЕН доставчик:**
|
|
181
|
+
|
|
182
|
+
Табло → Доставчици → Свържете **Claude Code** или **Antigravity** → OAuth влизане → Готово!
|
|
183
|
+
|
|
184
|
+
**3. Използвайте във вашия CLI инструмент:**
|
|
185
|
+
|
|
186
|
+
```
|
|
187
|
+
Claude Code/Codex/Gemini CLI/OpenClaw/Cursor/Cline Settings:
|
|
188
|
+
Endpoint: http://localhost:20128/v1
|
|
189
|
+
API Key: [copy from dashboard]
|
|
190
|
+
Model: if/kimi-k2-thinking
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
**Това е!** Започнете да кодирате с БЕЗПЛАТНИ AI модели.
|
|
194
|
+
|
|
195
|
+
**Алтернатива — стартиране от източника:**
|
|
196
|
+
|
|
197
|
+
```bash
|
|
198
|
+
cp .env.example .env
|
|
199
|
+
npm install
|
|
200
|
+
PORT=20128 NEXT_PUBLIC_BASE_URL=http://localhost:20128 npm run dev
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
---
|
|
204
|
+
|
|
205
|
+
## 🐳 Докер
|
|
206
|
+
|
|
207
|
+
OmniRoute е наличен като публично изображение на Docker на [Docker Hub](https://hub.docker.com/r/diegosouzapw/omniroute).
|
|
208
|
+
|
|
209
|
+
**Бързо бягане:**
|
|
210
|
+
|
|
211
|
+
```bash
|
|
212
|
+
docker run -d \
|
|
213
|
+
--name omniroute \
|
|
214
|
+
--restart unless-stopped \
|
|
215
|
+
-p 20128:20128 \
|
|
216
|
+
-v omniroute-data:/app/data \
|
|
217
|
+
diegosouzapw/omniroute:latest
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
**С файл на средата:**
|
|
221
|
+
|
|
222
|
+
```bash
|
|
223
|
+
# Copy and edit .env first
|
|
224
|
+
cp .env.example .env
|
|
225
|
+
|
|
226
|
+
docker run -d \
|
|
227
|
+
--name omniroute \
|
|
228
|
+
--restart unless-stopped \
|
|
229
|
+
--env-file .env \
|
|
230
|
+
-p 20128:20128 \
|
|
231
|
+
-v omniroute-data:/app/data \
|
|
232
|
+
diegosouzapw/omniroute:latest
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
**Използване на Docker Compose:**
|
|
236
|
+
|
|
237
|
+
```bash
|
|
238
|
+
# Base profile (no CLI tools)
|
|
239
|
+
docker compose --profile base up -d
|
|
240
|
+
|
|
241
|
+
# CLI profile (Claude Code, Codex, OpenClaw built-in)
|
|
242
|
+
docker compose --profile cli up -d
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
| Изображение | Етикет | Размер | Описание |
|
|
246
|
+
| ------------------------ | -------- | ------ | -------------------------- |
|
|
247
|
+
| `diegosouzapw/omniroute` | `latest` | ~250MB | Най-новата стабилна версия |
|
|
248
|
+
| `diegosouzapw/omniroute` | `1.0.3` | ~250MB | Текуща версия |
|
|
249
|
+
|
|
250
|
+
---
|
|
251
|
+
|
|
252
|
+
## 💰 Ценообразуването с един поглед
|
|
253
|
+
|
|
254
|
+
| Ниво | Доставчик | Цена | Нулиране на квота | Най-добро за |
|
|
255
|
+
| ------------------ | ----------------- | ---------------------------- | ----------------------- | ------------------------- |
|
|
256
|
+
| **💳 АБОНАМЕНТ** | Claude Code (Pro) | $20/месец | 5 часа + седмично | Вече сте абонирани |
|
|
257
|
+
| | Codex (Plus/Pro) | $20-200/месец | 5 часа + седмично | Потребители на OpenAI |
|
|
258
|
+
| | Gemini CLI | **БЕЗПЛАТНО** | 180K/месец + 1K/ден | всички! |
|
|
259
|
+
| | Копилот на GitHub | $10-19/месец | Месечно | Потребители на GitHub |
|
|
260
|
+
| **🔑 КЛЮЧ ЗА API** | NVIDIA NIM | **БЕЗПЛАТНО** (1000 кредита) | Еднократно | Безплатно ниво тестване |
|
|
261
|
+
| | DeepSeek | Плащане при използване | Няма | Най-добра цена/качество |
|
|
262
|
+
| | Groq | Безплатно ниво + платено | Ограничена скорост | Свръхбърз извод |
|
|
263
|
+
| | xAI (Grok) | Плащане при използване | Няма | Grok модели |
|
|
264
|
+
| | Мистрал | Безплатно ниво + платено | Ограничена скорост | Европейски AI |
|
|
265
|
+
| | OpenRouter | Плащане при използване | Няма | 100+ модела |
|
|
266
|
+
| **💰 ЕВТИНО** | GLM-4.7 | $0,6/1 милион | Ежедневно 10 сутринта | Резервно копие на бюджета |
|
|
267
|
+
| | MiniMax M2.1 | $0,2/1 милион | 5-часово търкаляне | Най-евтиният вариант |
|
|
268
|
+
| | Кими К2 | $9/месец апартамент | 10 милиона токена/месец | Предвидими разходи |
|
|
269
|
+
| **🆓 БЕЗПЛАТНО** | iFlow | $0 | Неограничен | 8 модела безплатно |
|
|
270
|
+
| | Куен | $0 | Неограничен | 3 модела безплатно |
|
|
271
|
+
| | Киро | $0 | Неограничен | Клод безплатно |
|
|
272
|
+
|
|
273
|
+
**💡 Професионален съвет:** Започнете с Gemini CLI (180K безплатно/месец) + iFlow (неограничено безплатно) комбинация = $0 цена!
|
|
274
|
+
|
|
275
|
+
---
|
|
276
|
+
|
|
277
|
+
## 🎯 Случаи на употреба
|
|
278
|
+
|
|
279
|
+
### Случай 1: „Имам абонамент за Claude Pro“
|
|
280
|
+
|
|
281
|
+
**Проблем:** Квотата изтича неизползвана, ограничения на скоростта по време на тежко кодиране
|
|
282
|
+
|
|
283
|
+
```
|
|
284
|
+
Combo: "maximize-claude"
|
|
285
|
+
1. cc/claude-opus-4-6 (use subscription fully)
|
|
286
|
+
2. glm/glm-4.7 (cheap backup when quota out)
|
|
287
|
+
3. if/kimi-k2-thinking (free emergency fallback)
|
|
288
|
+
|
|
289
|
+
Monthly cost: $20 (subscription) + ~$5 (backup) = $25 total
|
|
290
|
+
vs. $20 + hitting limits = frustration
|
|
291
|
+
```
|
|
292
|
+
|
|
293
|
+
### Случай 2: „Искам нулеви разходи“
|
|
294
|
+
|
|
295
|
+
**Проблем:** Не мога да си позволя абонаменти, имам нужда от надеждно AI кодиране
|
|
296
|
+
|
|
297
|
+
```
|
|
298
|
+
Combo: "free-forever"
|
|
299
|
+
1. gc/gemini-3-flash (180K free/month)
|
|
300
|
+
2. if/kimi-k2-thinking (unlimited free)
|
|
301
|
+
3. qw/qwen3-coder-plus (unlimited free)
|
|
302
|
+
|
|
303
|
+
Monthly cost: $0
|
|
304
|
+
Quality: Production-ready models
|
|
305
|
+
```
|
|
306
|
+
|
|
307
|
+
### Случай 3: „Имам нужда от кодиране 24/7, без прекъсвания“
|
|
308
|
+
|
|
309
|
+
**Проблем:** Крайни срокове, не мога да си позволя престой
|
|
310
|
+
|
|
311
|
+
```
|
|
312
|
+
Combo: "always-on"
|
|
313
|
+
1. cc/claude-opus-4-6 (best quality)
|
|
314
|
+
2. cx/gpt-5.2-codex (second subscription)
|
|
315
|
+
3. glm/glm-4.7 (cheap, resets daily)
|
|
316
|
+
4. minimax/MiniMax-M2.1 (cheapest, 5h reset)
|
|
317
|
+
5. if/kimi-k2-thinking (free unlimited)
|
|
318
|
+
|
|
319
|
+
Result: 5 layers of fallback = zero downtime
|
|
320
|
+
```
|
|
321
|
+
|
|
322
|
+
### Случай 4: „Искам БЕЗПЛАТЕН AI в OpenClaw“
|
|
323
|
+
|
|
324
|
+
**Проблем:** Имате нужда от AI асистент в приложенията за съобщения, напълно безплатно
|
|
325
|
+
|
|
326
|
+
```
|
|
327
|
+
Combo: "openclaw-free"
|
|
328
|
+
1. if/glm-4.7 (unlimited free)
|
|
329
|
+
2. if/minimax-m2.1 (unlimited free)
|
|
330
|
+
3. if/kimi-k2-thinking (unlimited free)
|
|
331
|
+
|
|
332
|
+
Monthly cost: $0
|
|
333
|
+
Access via: WhatsApp, Telegram, Slack, Discord, iMessage, Signal...
|
|
334
|
+
```
|
|
335
|
+
|
|
336
|
+
---
|
|
337
|
+
|
|
338
|
+
## 💡 Основни характеристики
|
|
339
|
+
|
|
340
|
+
### 🧠 Основно маршрутизиране и разузнаване
|
|
341
|
+
|
|
342
|
+
| Характеристика | Какво прави |
|
|
343
|
+
| ----------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
|
|
344
|
+
| 🎯 **Интелигентен 4-степенен резервен вариант** | Автоматичен маршрут: Абонамент → API ключ → Евтини → Безплатно |
|
|
345
|
+
| 📊 **Проследяване на квоти в реално време** | Брой токени на живо + нулиране на обратното броене на доставчик |
|
|
346
|
+
| 🔄 **Форматиране на превода** | OpenAI ↔ Клод ↔ Близнаци ↔ Курсор ↔ Киро безпроблемно + дезинфекция на отговора |
|
|
347
|
+
| 👥 **Поддръжка за множество акаунти** | Няколко акаунта на доставчик с интелигентен избор |
|
|
348
|
+
| 🔄 **Автоматично опресняване на токени** | OAuth токените се опресняват автоматично с повторен опит |
|
|
349
|
+
| 🎨 **Персонализирани комбинации** | 6 стратегии: първо попълване, кръгова система, p2c, произволна, най-малко използвана, оптимизирана по отношение на разходите |
|
|
350
|
+
| 🧩 **Персонализирани модели** | Добавете всеки модел ID към който и да е доставчик |
|
|
351
|
+
| 🌐 **Wildcard Router** | Насочвайте `provider/*` шаблони към всеки доставчик динамично |
|
|
352
|
+
| 🧠 **Мислен бюджет** | Преминаване, автоматичен, персонализиран и адаптивен режим за модели на разсъждение |
|
|
353
|
+
| 💬 **Системно бързо инжектиране** | Глобална системна подкана, приложена към всички заявки |
|
|
354
|
+
| 📄 **API за отговори** | Пълна поддръжка на OpenAI Responses API (`/v1/responses`) за Codex |
|
|
355
|
+
|
|
356
|
+
### 🎵 Мултимодални API
|
|
357
|
+
|
|
358
|
+
| Характеристика | Какво прави |
|
|
359
|
+
| -------------------------------- | ----------------------------------------------------------- |
|
|
360
|
+
| 🖼️ **Генериране на изображения** | `/v1/images/generations` — 4 доставчика, 9+ модела |
|
|
361
|
+
| 📐 **Вграждания** | `/v1/embeddings` — 6 доставчика, 9+ модела |
|
|
362
|
+
| 🎤 **Аудио транскрипция** | `/v1/audio/transcriptions` — Съвместим с Whisper |
|
|
363
|
+
| 🔊 **Текст към говор** | `/v1/audio/speech` — Синтез на аудио с множество доставчици |
|
|
364
|
+
| 🛡️ **Модерации** | `/v1/moderations` — Проверки за безопасност на съдържанието |
|
|
365
|
+
| 🔀 **Прекласиране** | `/v1/rerank` — Прекласиране на уместността на документа |
|
|
366
|
+
|
|
367
|
+
### 🛡️ Устойчивост и сигурност
|
|
368
|
+
|
|
369
|
+
| Характеристика | Какво прави |
|
|
370
|
+
| -------------------------------------------- | ----------------------------------------------------------------------------------------------- |
|
|
371
|
+
| 🔌 **Прекъсвач** | Автоматично отваряне/затваряне за всеки доставчик с конфигурируеми прагове |
|
|
372
|
+
| 🛡️ **Anti-Thundering Herd** | Mutex + ограничение на скоростта на семафор за доставчици на API ключ |
|
|
373
|
+
| 🧠 **Семантичен кеш** | Двуслоен кеш (подпис + семантичен) намалява разходите и забавянето |
|
|
374
|
+
| ⚡ **Искане на идемпотентност** | 5s прозорец за дедупиране за дублирани заявки |
|
|
375
|
+
| 🔒 **TLS Fingerprint Spoofing** | Заобикаляне на TLS-базирано откриване на бот чрез wreq-js |
|
|
376
|
+
| 🌐 **IP филтриране** | Списък с разрешени/блокирани за контрол на достъпа до API |
|
|
377
|
+
| 📊 **Редактируеми ограничения на скоростта** | Конфигурируеми обороти в минута, минимална разлика и максимална едновременност на системно ниво |
|
|
378
|
+
| 🛡 **API Endpoint Protection** | Удостоверяване + блокиране на доставчик за крайната точка `/models` |
|
|
379
|
+
| 🔒 **Прокси видимост** | Цветно кодирани значки: 🟢 глобален, 🟡 доставчик, 🔵 за връзка с IP дисплей |
|
|
380
|
+
| 🌐 **3-ниво на прокси конфигурация** | Конфигуриране на прокси сървъри на глобално ниво, на ниво доставчик или на ниво връзка |
|
|
381
|
+
|
|
382
|
+
### 📊 Наблюдаемост и анализ
|
|
383
|
+
|
|
384
|
+
| Характеристика | Какво прави |
|
|
385
|
+
| ---------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
386
|
+
| 📝 **Заявка за регистриране** | Режим на отстраняване на грешки с пълни журнали за заявки/отговори |
|
|
387
|
+
| 💾 **SQLite прокси регистрационни файлове** | Постоянните регистрационни файлове на прокси сървъра преживяват рестартиране на сървър |
|
|
388
|
+
| 📊 **Табло за управление на анализи** | Задвижва се от Recharts: статистически карти, диаграма за използване на модели, таблица на доставчик |
|
|
389
|
+
| 📈 **Проследяване на напредъка** | Включване на събития за прогрес на SSE за стрийминг |
|
|
390
|
+
| 🧪 **Оценки на LLM** | Тестване на златен сет с 4 стратегии за мач |
|
|
391
|
+
| 🔍 **Заявка за телеметрия** | p50/p95/p99 агрегиране на латентност + проследяване на X-Request-Id |
|
|
392
|
+
| 📋 **Табло за управление на регистрационни файлове** | Унифицирана страница с 4 раздела: регистрационни файлове на заявки, регистрационни файлове на прокси, регистрационни файлове за одит, конзола |
|
|
393
|
+
| 🖥️ **Console Log Viewer** | Визуализатор в стил терминал в реално време с филтър за ниво, търсене, автоматично превъртане |
|
|
394
|
+
| 📑 **Регистриране на базата на файлове** | Прихващачът на конзолата улавя целия изход в JSON лог файл с ротация |
|
|
395
|
+
| 🏥 **Здравно табло** | Работно време на системата, състояния на прекъсвачи, блокировки, статистика на кеша |
|
|
396
|
+
| 💰 **Проследяване на разходите** | Управление на бюджета + конфигурация на ценообразуване за модел |
|
|
397
|
+
|
|
398
|
+
### ☁️ Внедряване и синхронизиране
|
|
399
|
+
|
|
400
|
+
| Характеристика | Какво прави |
|
|
401
|
+
| ----------------------------------------- | ---------------------------------------------------------------------------------------- |
|
|
402
|
+
| 💾 **Синхронизиране в облак** | Синхронизирайте конфигурацията между устройства чрез Cloudflare Workers |
|
|
403
|
+
| 🌐 **Разполагане навсякъде** | Localhost, VPS, Docker, Cloudflare Workers |
|
|
404
|
+
| 🔑 **API Key Management** | Генериране, завъртане и обхват на API ключове за всеки доставчик |
|
|
405
|
+
| 🧙 **Съветник за присъединяване** | Насочвана настройка в 4 стъпки за потребители за първи път |
|
|
406
|
+
| 🔧 **CLI Tools Dashboard** | Конфигурирайте с едно кликване Claude, Codex, Cline, OpenClaw, Kilo, Antigravity |
|
|
407
|
+
| 🔄 **Архивиране на DB** | Автоматично архивиране, възстановяване, експортиране и импортиране за всички настройки |
|
|
408
|
+
| 🌐 **Интернационализация** | Пълен i18n с next-intl — поддръжка на английски + португалски (Бразилия) |
|
|
409
|
+
| 🌍 **Избор на език** | Икона на глобус в заглавката за превключване на език в реално време (🇺🇸/🇧🇷) |
|
|
410
|
+
| 📂 **Директория с персонализирани данни** | `DATA_DIR` env променлива за замяна на пътя за съхранение по подразбиране `~/.omniroute` |
|
|
411
|
+
|
|
412
|
+
<details>
|
|
413
|
+
<summary><b>📖 Подробности за функцията</b></summary>
|
|
414
|
+
|
|
415
|
+
### 🎯 Интелигентен 4-степенен резервен вариант
|
|
416
|
+
|
|
417
|
+
Създавайте комбинации с автоматичен резервен вариант:
|
|
418
|
+
|
|
419
|
+
```
|
|
420
|
+
Combo: "my-coding-stack"
|
|
421
|
+
1. cc/claude-opus-4-6 (your subscription)
|
|
422
|
+
2. nvidia/llama-3.3-70b (free NVIDIA API)
|
|
423
|
+
3. glm/glm-4.7 (cheap backup, $0.6/1M)
|
|
424
|
+
4. if/kimi-k2-thinking (free fallback)
|
|
425
|
+
|
|
426
|
+
→ Auto switches when quota runs out or errors occur
|
|
427
|
+
```
|
|
428
|
+
|
|
429
|
+
### 📊 Проследяване на квоти в реално време
|
|
430
|
+
|
|
431
|
+
- Консумация на токени на доставчик
|
|
432
|
+
- Нулиране на обратното броене (5 часа, ежедневно, седмично)
|
|
433
|
+
- Оценка на разходите за платени нива
|
|
434
|
+
- Месечни отчети за разходите
|
|
435
|
+
|
|
436
|
+
### 🔄 Превод на формат
|
|
437
|
+
|
|
438
|
+
Безпроблемен превод между формати:
|
|
439
|
+
|
|
440
|
+
- **OpenAI** ↔ **Клод** ↔ **Близнаци** ↔ **Отговори на OpenAI**
|
|
441
|
+
- Вашият CLI инструмент изпраща OpenAI формат → OmniRoute превежда → Доставчикът получава собствен формат
|
|
442
|
+
- Работи с всеки инструмент, който поддържа персонализирани крайни точки на OpenAI
|
|
443
|
+
- **Дезифициране на отговора** — Премахва нестандартните полета за стриктна съвместимост с OpenAI SDK
|
|
444
|
+
- **Нормализиране на ролята** — `developer` → `system` за не-OpenAI; `system` → `user` за GLM/ERNIE модели
|
|
445
|
+
- **Извличане на мислене на тагове** — `<think>` блокове → `reasoning_content` за мислещи модели
|
|
446
|
+
- **Структуриран изход** — `json_schema` → `responseMimeType`/`responseSchema` на Gemini
|
|
447
|
+
|
|
448
|
+
### 👥 Поддръжка за няколко акаунта
|
|
449
|
+
|
|
450
|
+
- Добавете няколко акаунта на доставчик
|
|
451
|
+
- Автоматично кръгово или базирано на приоритет маршрутизиране
|
|
452
|
+
- Връщане към следващия акаунт, когато някой достигне квотата
|
|
453
|
+
|
|
454
|
+
### 🔄 Автоматично опресняване на токени
|
|
455
|
+
|
|
456
|
+
- OAuth токените се опресняват автоматично преди изтичане
|
|
457
|
+
- Не е необходимо ръчно повторно удостоверяване
|
|
458
|
+
- Безпроблемно изживяване при всички доставчици
|
|
459
|
+
|
|
460
|
+
### 🎨 Персонализирани комбинации
|
|
461
|
+
|
|
462
|
+
- Създавайте неограничени комбинации от модели
|
|
463
|
+
- 6 стратегии: първо попълване, кръгъл-робин, сила на два избора, произволна, най-малко използвана, оптимизирана по отношение на разходите
|
|
464
|
+
- Споделяйте комбинации между устройства с Cloud Sync
|
|
465
|
+
|
|
466
|
+
### 🏥 Здравно табло
|
|
467
|
+
|
|
468
|
+
- Състояние на системата (време на работа, версия, използване на паметта)
|
|
469
|
+
- Състояния на прекъсвача за всеки доставчик (затворен/отворен/полуотворен)
|
|
470
|
+
- Състояние на ограничение на скоростта и активни блокировки
|
|
471
|
+
- Статистика за кеша на подписите
|
|
472
|
+
- Телеметрия за забавяне (p50/p95/p99) + кеш за подкани
|
|
473
|
+
- Нулирайте здравословното състояние с едно щракване
|
|
474
|
+
|
|
475
|
+
### 🔧 Площадка за преводачи
|
|
476
|
+
|
|
477
|
+
OmniRoute включва мощна вградена игра за преводачи с **4 режима** за отстраняване на грешки, тестване и наблюдение на API преводи:
|
|
478
|
+
|
|
479
|
+
| Режим | Описание |
|
|
480
|
+
| ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
481
|
+
| **💻 Детска площадка** | Директен превод на формат — поставете всяко тяло на заявка за API и незабавно вижте как OmniRoute го превежда между формати на доставчик (OpenAI ↔ Claude ↔ Gemini ↔ Responses API). Включва примерни шаблони и автоматично откриване на формати. |
|
|
482
|
+
| **💬 Тестер за чат** | Изпращайте реални заявки за чат чрез OmniRoute и вижте пълното пътуване: вашият вход, преведената заявка, отговорът на доставчика и преведеният отговор обратно. Безценен за валидиране на комбинирано маршрутизиране. |
|
|
483
|
+
| **🧪 Тестова стенда** | Режим на пакетно тестване — дефинирайте множество тестови случаи с различни входове и очаквани изходи, стартирайте ги всички наведнъж и сравнете резултатите между доставчици и модели. |
|
|
484
|
+
| **📱 Монитор на живо** | Мониторинг на заявки в реално време — наблюдавайте входящите заявки, докато преминават през OmniRoute, вижте преводите на формати, които се случват на живо, и незабавно идентифицирайте проблемите. |
|
|
485
|
+
|
|
486
|
+
**Достъп:** Табло за управление → Преводач (странична лента)
|
|
487
|
+
|
|
488
|
+
### 💾 Облачно синхронизиране
|
|
489
|
+
|
|
490
|
+
- Синхронизиране на доставчици, комбинации и настройки на всички устройства
|
|
491
|
+
- Автоматична фонова синхронизация
|
|
492
|
+
- Сигурно криптирано съхранение
|
|
493
|
+
|
|
494
|
+
</details>
|
|
495
|
+
|
|
496
|
+
---
|
|
497
|
+
|
|
498
|
+
## 📖 Ръководство за настройка
|
|
499
|
+
|
|
500
|
+
<details>
|
|
501
|
+
<summary><b>💳 Доставчици на абонамент</b></summary>
|
|
502
|
+
|
|
503
|
+
### Claude Code (Pro/Max)
|
|
504
|
+
|
|
505
|
+
```bash
|
|
506
|
+
Dashboard → Providers → Connect Claude Code
|
|
507
|
+
→ OAuth login → Auto token refresh
|
|
508
|
+
→ 5-hour + weekly quota tracking
|
|
509
|
+
|
|
510
|
+
Models:
|
|
511
|
+
cc/claude-opus-4-6
|
|
512
|
+
cc/claude-sonnet-4-5-20250929
|
|
513
|
+
cc/claude-haiku-4-5-20251001
|
|
514
|
+
```
|
|
515
|
+
|
|
516
|
+
**Професионален съвет:** Използвайте Opus за сложни задачи, Sonnet за скорост. OmniRoute проследява квота за модел!
|
|
517
|
+
|
|
518
|
+
### OpenAI Codex (Plus/Pro)
|
|
519
|
+
|
|
520
|
+
```bash
|
|
521
|
+
Dashboard → Providers → Connect Codex
|
|
522
|
+
→ OAuth login (port 1455)
|
|
523
|
+
→ 5-hour + weekly reset
|
|
524
|
+
|
|
525
|
+
Models:
|
|
526
|
+
cx/gpt-5.2-codex
|
|
527
|
+
cx/gpt-5.1-codex-max
|
|
528
|
+
```
|
|
529
|
+
|
|
530
|
+
### Gemini CLI (БЕЗПЛАТНО 180K/месец!)
|
|
531
|
+
|
|
532
|
+
```bash
|
|
533
|
+
Dashboard → Providers → Connect Gemini CLI
|
|
534
|
+
→ Google OAuth
|
|
535
|
+
→ 180K completions/month + 1K/day
|
|
536
|
+
|
|
537
|
+
Models:
|
|
538
|
+
gc/gemini-3-flash-preview
|
|
539
|
+
gc/gemini-2.5-pro
|
|
540
|
+
```
|
|
541
|
+
|
|
542
|
+
**Най-добра стойност:** Огромно безплатно ниво! Използвайте това преди платените нива.
|
|
543
|
+
|
|
544
|
+
### Копилот на GitHub
|
|
545
|
+
|
|
546
|
+
```bash
|
|
547
|
+
Dashboard → Providers → Connect GitHub
|
|
548
|
+
→ OAuth via GitHub
|
|
549
|
+
→ Monthly reset (1st of month)
|
|
550
|
+
|
|
551
|
+
Models:
|
|
552
|
+
gh/gpt-5
|
|
553
|
+
gh/claude-4.5-sonnet
|
|
554
|
+
gh/gemini-3-pro
|
|
555
|
+
```
|
|
556
|
+
|
|
557
|
+
</details>
|
|
558
|
+
|
|
559
|
+
<details>
|
|
560
|
+
<summary><b>🔑 API Key Providers</b></summary>
|
|
561
|
+
|
|
562
|
+
### NVIDIA NIM (БЕЗПЛАТНИ 1000 кредита!)
|
|
563
|
+
|
|
564
|
+
1. Регистрирайте се: [build.nvidia.com](https://build.nvidia.com)
|
|
565
|
+
2. Вземете безплатен API ключ (включени 1000 кредита за изводи)
|
|
566
|
+
3. Табло → Добавяне на доставчик → NVIDIA NIM:
|
|
567
|
+
- API ключ: `nvapi-your-key`
|
|
568
|
+
|
|
569
|
+
**Модели:** `nvidia/llama-3.3-70b-instruct`, `nvidia/mistral-7b-instruct` и още 50+
|
|
570
|
+
|
|
571
|
+
**Професионален съвет:** OpenAI-съвместим API — работи безпроблемно с превода на формати на OmniRoute!
|
|
572
|
+
|
|
573
|
+
### DeepSeek
|
|
574
|
+
|
|
575
|
+
1. Регистрирайте се: [platform.deepseek.com](https://platform.deepseek.com)
|
|
576
|
+
2. Вземете API ключ
|
|
577
|
+
3. Табло → Добавяне на доставчик → DeepSeek
|
|
578
|
+
|
|
579
|
+
**Модели:** `deepseek/deepseek-chat`, `deepseek/deepseek-coder`
|
|
580
|
+
|
|
581
|
+
### Groq (налично безплатно ниво!)
|
|
582
|
+
|
|
583
|
+
1. Регистрирайте се: [console.groq.com](https://console.groq.com)
|
|
584
|
+
2. Вземете API ключ (включено безплатно ниво)
|
|
585
|
+
3. Табло → Добавяне на доставчик → Groq
|
|
586
|
+
|
|
587
|
+
**Модели:** `groq/llama-3.3-70b`, `groq/mixtral-8x7b`
|
|
588
|
+
|
|
589
|
+
**Професионален съвет:** Изключително бърз извод — най-добър за кодиране в реално време!
|
|
590
|
+
|
|
591
|
+
### OpenRouter (100+ модела)
|
|
592
|
+
|
|
593
|
+
1. Регистрирайте се: [openrouter.ai](https://openrouter.ai)
|
|
594
|
+
2. Вземете API ключ
|
|
595
|
+
3. Табло → Добавяне на доставчик → OpenRouter
|
|
596
|
+
|
|
597
|
+
**Модели:** Достъп до 100+ модела от всички основни доставчици чрез един API ключ.
|
|
598
|
+
|
|
599
|
+
</details>
|
|
600
|
+
|
|
601
|
+
<details>
|
|
602
|
+
<summary><b>💰 Евтини доставчици (резервни)</b></summary>
|
|
603
|
+
|
|
604
|
+
### GLM-4.7 (Ежедневно нулиране, $0,6/1 млн.)
|
|
605
|
+
|
|
606
|
+
1. Регистрирайте се: [Zhipu AI](https://open.bigmodel.cn/)
|
|
607
|
+
2. Вземете API ключ от Coding Plan
|
|
608
|
+
3. Табло → Добавяне на API ключ:
|
|
609
|
+
- Доставчик: `glm`
|
|
610
|
+
- API ключ: `your-key`
|
|
611
|
+
|
|
612
|
+
**Използване:** `glm/glm-4.7`
|
|
613
|
+
|
|
614
|
+
**Професионален съвет:** Планът за кодиране предлага 3× квота на цена 1/7! Нулирайте всеки ден в 10:00 ч.
|
|
615
|
+
|
|
616
|
+
### MiniMax M2.1 (5 часа нулиране, $0,20/1 млн.)
|
|
617
|
+
|
|
618
|
+
1. Регистрирайте се: [MiniMax](https://www.minimax.io/)
|
|
619
|
+
2. Вземете API ключ
|
|
620
|
+
3. Табло → Добавяне на API ключ
|
|
621
|
+
|
|
622
|
+
**Използване:** `minimax/MiniMax-M2.1`
|
|
623
|
+
|
|
624
|
+
**Професионален съвет:** Най-евтината опция за дълъг контекст (1M токени)!
|
|
625
|
+
|
|
626
|
+
### Kimi K2 ($9/месец фиксиран)
|
|
627
|
+
|
|
628
|
+
1. Абонирайте се: [Moonshot AI](https://platform.moonshot.ai/)
|
|
629
|
+
2. Вземете API ключ
|
|
630
|
+
3. Табло → Добавяне на API ключ
|
|
631
|
+
|
|
632
|
+
**Използване:** `kimi/kimi-latest`
|
|
633
|
+
|
|
634
|
+
**Професионален съвет:** Фиксирани $9/месец за 10 милиона токена = $0,90/1 милион ефективна цена!
|
|
635
|
+
|
|
636
|
+
</details>
|
|
637
|
+
|
|
638
|
+
<details>
|
|
639
|
+
<summary><b>🆓 БЕЗПЛАТНИ доставчици (Спешно архивиране)</b></summary>
|
|
640
|
+
|
|
641
|
+
### iFlow (8 БЕЗПЛАТНИ модела)
|
|
642
|
+
|
|
643
|
+
```bash
|
|
644
|
+
Dashboard → Connect iFlow
|
|
645
|
+
→ iFlow OAuth login
|
|
646
|
+
→ Unlimited usage
|
|
647
|
+
|
|
648
|
+
Models:
|
|
649
|
+
if/kimi-k2-thinking
|
|
650
|
+
if/qwen3-coder-plus
|
|
651
|
+
if/glm-4.7
|
|
652
|
+
if/minimax-m2
|
|
653
|
+
if/deepseek-r1
|
|
654
|
+
```
|
|
655
|
+
|
|
656
|
+
### Qwen (3 БЕЗПЛАТНИ модела)
|
|
657
|
+
|
|
658
|
+
```bash
|
|
659
|
+
Dashboard → Connect Qwen
|
|
660
|
+
→ Device code authorization
|
|
661
|
+
→ Unlimited usage
|
|
662
|
+
|
|
663
|
+
Models:
|
|
664
|
+
qw/qwen3-coder-plus
|
|
665
|
+
qw/qwen3-coder-flash
|
|
666
|
+
```
|
|
667
|
+
|
|
668
|
+
### Киро (Клод БЕЗПЛАТНО)
|
|
669
|
+
|
|
670
|
+
```bash
|
|
671
|
+
Dashboard → Connect Kiro
|
|
672
|
+
→ AWS Builder ID or Google/GitHub
|
|
673
|
+
→ Unlimited usage
|
|
674
|
+
|
|
675
|
+
Models:
|
|
676
|
+
kr/claude-sonnet-4.5
|
|
677
|
+
kr/claude-haiku-4.5
|
|
678
|
+
```
|
|
679
|
+
|
|
680
|
+
</details>
|
|
681
|
+
|
|
682
|
+
<details>
|
|
683
|
+
<summary><b>🎨 Създаване на комбинации</b></summary>
|
|
684
|
+
|
|
685
|
+
### Пример 1: Увеличаване на абонамента → Евтино архивиране
|
|
686
|
+
|
|
687
|
+
```
|
|
688
|
+
Dashboard → Combos → Create New
|
|
689
|
+
|
|
690
|
+
Name: premium-coding
|
|
691
|
+
Models:
|
|
692
|
+
1. cc/claude-opus-4-6 (Subscription primary)
|
|
693
|
+
2. glm/glm-4.7 (Cheap backup, $0.6/1M)
|
|
694
|
+
3. minimax/MiniMax-M2.1 (Cheapest fallback, $0.20/1M)
|
|
695
|
+
|
|
696
|
+
Use in CLI: premium-coding
|
|
697
|
+
```
|
|
698
|
+
|
|
699
|
+
### Пример 2: Само безплатно (нулева цена)
|
|
700
|
+
|
|
701
|
+
```
|
|
702
|
+
Name: free-combo
|
|
703
|
+
Models:
|
|
704
|
+
1. gc/gemini-3-flash-preview (180K free/month)
|
|
705
|
+
2. if/kimi-k2-thinking (unlimited)
|
|
706
|
+
3. qw/qwen3-coder-plus (unlimited)
|
|
707
|
+
|
|
708
|
+
Cost: $0 forever!
|
|
709
|
+
```
|
|
710
|
+
|
|
711
|
+
</details>
|
|
712
|
+
|
|
713
|
+
<details>
|
|
714
|
+
<summary><b>🔧 CLI интеграция</b></summary>
|
|
715
|
+
|
|
716
|
+
### Курсор IDE
|
|
717
|
+
|
|
718
|
+
```
|
|
719
|
+
Settings → Models → Advanced:
|
|
720
|
+
OpenAI API Base URL: http://localhost:20128/v1
|
|
721
|
+
OpenAI API Key: [from OmniRoute dashboard]
|
|
722
|
+
Model: cc/claude-opus-4-6
|
|
723
|
+
```
|
|
724
|
+
|
|
725
|
+
### Клод Код
|
|
726
|
+
|
|
727
|
+
Използвайте страницата **CLI Tools** в таблото за управление за конфигурация с едно кликване или редактирайте `~/.claude/settings.json` ръчно.
|
|
728
|
+
|
|
729
|
+
### Codex CLI
|
|
730
|
+
|
|
731
|
+
```bash
|
|
732
|
+
export OPENAI_BASE_URL="http://localhost:20128"
|
|
733
|
+
export OPENAI_API_KEY="your-omniroute-api-key"
|
|
734
|
+
|
|
735
|
+
codex "your prompt"
|
|
736
|
+
```
|
|
737
|
+
|
|
738
|
+
### OpenClaw
|
|
739
|
+
|
|
740
|
+
**Вариант 1 — Табло (препоръчително):**
|
|
741
|
+
|
|
742
|
+
```
|
|
743
|
+
Dashboard → CLI Tools → OpenClaw → Select Model → Apply
|
|
744
|
+
```
|
|
745
|
+
|
|
746
|
+
**Опция 2 — Ръчно:** Редактиране `~/.openclaw/openclaw.json`:
|
|
747
|
+
|
|
748
|
+
```json
|
|
749
|
+
{
|
|
750
|
+
"models": {
|
|
751
|
+
"providers": {
|
|
752
|
+
"omniroute": {
|
|
753
|
+
"baseUrl": "http://127.0.0.1:20128/v1",
|
|
754
|
+
"apiKey": "sk_omniroute",
|
|
755
|
+
"api": "openai-completions"
|
|
756
|
+
}
|
|
757
|
+
}
|
|
758
|
+
}
|
|
759
|
+
}
|
|
760
|
+
```
|
|
761
|
+
|
|
762
|
+
> **Забележка:** OpenClaw работи само с локален OmniRoute. Използвайте `127.0.0.1` вместо `localhost`, за да избегнете проблеми с разрешаването на IPv6.
|
|
763
|
+
|
|
764
|
+
### Cline / Продължи / RooCode
|
|
765
|
+
|
|
766
|
+
```
|
|
767
|
+
Settings → API Configuration:
|
|
768
|
+
Provider: OpenAI Compatible
|
|
769
|
+
Base URL: http://localhost:20128/v1
|
|
770
|
+
API Key: [from OmniRoute dashboard]
|
|
771
|
+
Model: if/kimi-k2-thinking
|
|
772
|
+
```
|
|
773
|
+
|
|
774
|
+
</details>
|
|
775
|
+
|
|
776
|
+
---
|
|
777
|
+
|
|
778
|
+
## 📊 Налични модели
|
|
779
|
+
|
|
780
|
+
<details>
|
|
781
|
+
<summary><b>Вижте всички налични модели</b></summary>
|
|
782
|
+
|
|
783
|
+
**Claude Code (`cc/`)** - Pro/Max:
|
|
784
|
+
|
|
785
|
+
- `cc/claude-opus-4-6`
|
|
786
|
+
- `cc/claude-sonnet-4-5-20250929`
|
|
787
|
+
- `cc/claude-haiku-4-5-20251001`
|
|
788
|
+
|
|
789
|
+
**Codex (`cx/`)** - Plus/Pro:
|
|
790
|
+
|
|
791
|
+
- `cx/gpt-5.2-codex`
|
|
792
|
+
- `cx/gpt-5.1-codex-max`
|
|
793
|
+
|
|
794
|
+
**Gemini CLI (`gc/`)** - БЕЗПЛАТНО:
|
|
795
|
+
|
|
796
|
+
- `gc/gemini-3-flash-preview`
|
|
797
|
+
- `gc/gemini-2.5-pro`
|
|
798
|
+
|
|
799
|
+
**GitHub Copilot (`gh/`)**:
|
|
800
|
+
|
|
801
|
+
- `gh/gpt-5`
|
|
802
|
+
- `gh/claude-4.5-sonnet`
|
|
803
|
+
|
|
804
|
+
**NVIDIA NIM (`nvidia/`)** - БЕЗПЛАТНИ кредити:
|
|
805
|
+
|
|
806
|
+
- `nvidia/llama-3.3-70b-instruct`
|
|
807
|
+
- `nvidia/mistral-7b-instruct`
|
|
808
|
+
- още 50+ модела на [build.nvidia.com](https://build.nvidia.com)
|
|
809
|
+
|
|
810
|
+
**GLM (`glm/`)** - $0,6/1 млн.:
|
|
811
|
+
|
|
812
|
+
- `glm/glm-4.7`
|
|
813
|
+
|
|
814
|
+
**MiniMax (`minimax/`)** - $0,2/1 млн.:
|
|
815
|
+
|
|
816
|
+
- `minimax/MiniMax-M2.1`
|
|
817
|
+
|
|
818
|
+
**iFlow (`if/`)** - БЕЗПЛАТНО:
|
|
819
|
+
|
|
820
|
+
- `if/kimi-k2-thinking`
|
|
821
|
+
- `if/qwen3-coder-plus`
|
|
822
|
+
- `if/deepseek-r1`
|
|
823
|
+
- `if/glm-4.7`
|
|
824
|
+
- `if/minimax-m2`
|
|
825
|
+
|
|
826
|
+
**Qwen (`qw/`)** - БЕЗПЛАТНО:
|
|
827
|
+
|
|
828
|
+
- `qw/qwen3-coder-plus`
|
|
829
|
+
- `qw/qwen3-coder-flash`
|
|
830
|
+
|
|
831
|
+
**Киро (`kr/`)** - БЕЗПЛАТНО:
|
|
832
|
+
|
|
833
|
+
- `kr/claude-sonnet-4.5`
|
|
834
|
+
- `kr/claude-haiku-4.5`
|
|
835
|
+
|
|
836
|
+
**OpenRouter (`or/`)** - 100+ модела:
|
|
837
|
+
|
|
838
|
+
- `or/anthropic/claude-4-sonnet`
|
|
839
|
+
- `or/google/gemini-2.5-pro`
|
|
840
|
+
- Всеки модел от [openrouter.ai/models](https://openrouter.ai/models)
|
|
841
|
+
|
|
842
|
+
</details>
|
|
843
|
+
|
|
844
|
+
---
|
|
845
|
+
|
|
846
|
+
## 🧪 Оценки (Evals)
|
|
847
|
+
|
|
848
|
+
OmniRoute включва вградена рамка за оценка за тестване на качеството на отговора на LLM спрямо златен набор. Достъп до него чрез **Analytics → Evals** в таблото за управление.
|
|
849
|
+
|
|
850
|
+
### Вграден златен комплект
|
|
851
|
+
|
|
852
|
+
Предварително зареденият "OmniRoute Golden Set" съдържа 10 тестови случая, покриващи:
|
|
853
|
+
|
|
854
|
+
- Поздрави, математика, география, генериране на код
|
|
855
|
+
- Съответствие с JSON формат, превод, маркдаун
|
|
856
|
+
- Отказ за безопасност (вредно съдържание), броене, булева логика
|
|
857
|
+
|
|
858
|
+
### Стратегии за оценка
|
|
859
|
+
|
|
860
|
+
| Стратегия | Описание | Пример |
|
|
861
|
+
| ---------- | ----------------------------------------------------------------------- | -------------------------------- |
|
|
862
|
+
| `exact` | Изходът трябва да съвпада точно | `"4"` |
|
|
863
|
+
| `contains` | Изходът трябва да съдържа подниз (без значение за малки и големи букви) | `"Paris"` |
|
|
864
|
+
| `regex` | Изходът трябва да съответства на модела на регулярен израз | `"1.*2.*3"` |
|
|
865
|
+
| `custom` | Персонализираната JS функция връща true/false | `(output) => output.length > 10` |
|
|
866
|
+
|
|
867
|
+
---
|
|
868
|
+
|
|
869
|
+
## 🔐 OAuth em Servidor Remoto (Отдалечена настройка на OAuth)
|
|
870
|
+
|
|
871
|
+
<a name="oauth-em-servidor-remoto"></a>
|
|
872
|
+
|
|
873
|
+
> **⚠️ ВАЖНО за ползване на OmniRoute em VPS/Docker/servidor remoto**
|
|
874
|
+
|
|
875
|
+
### Ако OAuth на Antigravity / Gemini CLI не работи с отдалечени сървъри?
|
|
876
|
+
|
|
877
|
+
Доставчиците на **Antigravity** и **Gemini CLI** използват **Google OAuth 2.0** за удостоверяване. Google изисква, че `redirect_uri` не използва fluxo OAuth като **exatamente**, когато URI адресите преди кадастрада не са в приложение на Google Cloud Console.
|
|
878
|
+
|
|
879
|
+
Като удостоверение за OAuth не е OmniRoute estão cadastradas **apenas para `localhost`**. Ако имате достъп до OmniRoute в дистанционния сървър (напр.: `https://omniroute.meuservidor.com`), или Google rejeita a autenticação com:
|
|
880
|
+
|
|
881
|
+
```
|
|
882
|
+
Error 400: redirect_uri_mismatch
|
|
883
|
+
```
|
|
884
|
+
|
|
885
|
+
### Решение: Конфигурирайте собствените си права за удостоверяване на OAuth
|
|
886
|
+
|
|
887
|
+
Изпишете точно **OAuth 2.0 Client ID** без Google Cloud Console чрез URI на вашия сървър.
|
|
888
|
+
|
|
889
|
+
#### Passo a passo
|
|
890
|
+
|
|
891
|
+
**1. Достъп до Google Cloud Console**
|
|
892
|
+
|
|
893
|
+
Abra: [https://console.cloud.google.com/apis/credentials](https://console.cloud.google.com/apis/credentials)
|
|
894
|
+
|
|
895
|
+
**2. Crie um novo OAuth 2.0 Client ID**
|
|
896
|
+
|
|
897
|
+
- Кликнете върху **"+ Създаване на идентификационни данни"** → **"OAuth клиентски идентификатор"**
|
|
898
|
+
- Tipo de aplicativo: **"Уеб приложение"**
|
|
899
|
+
- Име: escolha qualquer име (напр.: `OmniRoute Remote`)
|
|
900
|
+
|
|
901
|
+
**3. Adicione като оторизирани URI адреси за пренасочване**
|
|
902
|
+
|
|
903
|
+
Без поле **„Оторизирани URI адреси за пренасочване“**, добавете:
|
|
904
|
+
|
|
905
|
+
```
|
|
906
|
+
https://seu-servidor.com/callback
|
|
907
|
+
```
|
|
908
|
+
|
|
909
|
+
> Замяна на `seu-servidor.com` домейн или IP на вашия сървър (включително необходим порт, напр.: `http://45.33.32.156:20128/callback`).
|
|
910
|
+
|
|
911
|
+
**4. Salve e copie as credenciais**
|
|
912
|
+
|
|
913
|
+
Например, Google показва **Клиентски идентификатор** и **Клиентска тайна**.
|
|
914
|
+
|
|
915
|
+
**5. Конфигуриране като variáveis de ambiente**
|
|
916
|
+
|
|
917
|
+
Няма `.env` (или нашите варианти на средата на Docker):
|
|
918
|
+
|
|
919
|
+
```bash
|
|
920
|
+
# Para Antigravity:
|
|
921
|
+
ANTIGRAVITY_OAUTH_CLIENT_ID=seu-client-id.apps.googleusercontent.com
|
|
922
|
+
ANTIGRAVITY_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret
|
|
923
|
+
|
|
924
|
+
# Para Gemini CLI:
|
|
925
|
+
GEMINI_OAUTH_CLIENT_ID=seu-client-id.apps.googleusercontent.com
|
|
926
|
+
GEMINI_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret
|
|
927
|
+
GEMINI_CLI_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret
|
|
928
|
+
```
|
|
929
|
+
|
|
930
|
+
**6. Reinicie o OmniRoute**
|
|
931
|
+
|
|
932
|
+
```bash
|
|
933
|
+
# Se usando npm:
|
|
934
|
+
npm run dev
|
|
935
|
+
|
|
936
|
+
# Se usando Docker:
|
|
937
|
+
docker restart omniroute
|
|
938
|
+
```
|
|
939
|
+
|
|
940
|
+
**7. Tente conectar novamente**
|
|
941
|
+
|
|
942
|
+
Табло → Доставчици → Антигравитация (или Gemini CLI) → OAuth
|
|
943
|
+
|
|
944
|
+
Agora или Google пренасочва корекции за `https://seu-servidor.com/callback` и функционира автентичност.
|
|
945
|
+
|
|
946
|
+
---
|
|
947
|
+
|
|
948
|
+
### Временно заобиколно решение (sem configurar credenciais próprias)
|
|
949
|
+
|
|
950
|
+
Se não quiser criar credenciais próprias agora, ainda é possível usar o fluxo **manual de URL**:
|
|
951
|
+
|
|
952
|
+
1. O OmniRoute премахва URL адрес за авторизация от Google
|
|
953
|
+
2. Ако не разрешите, пренасочването на Google е пренасочено към `localhost` (което не е отдалечено от сървъра)
|
|
954
|
+
3. **Копирайте пълния URL адрес** от страницата, която искате да прехвърлите в своя браузър (mesmo que a página não carregue)
|
|
955
|
+
4. Cole essa URL no campo que aparece no modal de conexão do OmniRoute
|
|
956
|
+
5. Щракнете върху **"Свързване"**
|
|
957
|
+
|
|
958
|
+
> Това заобиколно решение функционира, ако кодът на авторизацията на URL е валиден независимо от пренасочването към пренасочване или не.
|
|
959
|
+
|
|
960
|
+
---
|
|
961
|
+
|
|
962
|
+
## 🐛 Отстраняване на неизправности
|
|
963
|
+
|
|
964
|
+
<details>
|
|
965
|
+
<summary><b>Щракнете, за да разширите ръководството за отстраняване на неизправности</b></summary>
|
|
966
|
+
|
|
967
|
+
**„Езиковият модел не предостави съобщения“**
|
|
968
|
+
|
|
969
|
+
- Квотата на доставчика е изчерпана → Проверете инструмента за проследяване на квотата на таблото за управление
|
|
970
|
+
- Решение: Използвайте комбо резервен вариант или преминете към по-евтино ниво
|
|
971
|
+
|
|
972
|
+
**Ограничаване на скоростта**
|
|
973
|
+
|
|
974
|
+
- Изчерпване на квотата за абонамент → Резервно връщане към GLM/MiniMax
|
|
975
|
+
- Добавяне на комбинация: `cc/claude-opus-4-6 → glm/glm-4.7 → if/kimi-k2-thinking`
|
|
976
|
+
|
|
977
|
+
**OAuth токенът е изтекъл**
|
|
978
|
+
|
|
979
|
+
- Автоматично опресняване от OmniRoute
|
|
980
|
+
- Ако проблемите продължават: Табло → Доставчик → Повторно свързване
|
|
981
|
+
|
|
982
|
+
**Високи разходи**
|
|
983
|
+
|
|
984
|
+
- Проверете статистическите данни за използването в Табло → Разходи
|
|
985
|
+
- Превключете основния модел към GLM/MiniMax
|
|
986
|
+
- Използвайте безплатно ниво (Gemini CLI, iFlow) за некритични задачи
|
|
987
|
+
|
|
988
|
+
**Таблото се отваря на грешен порт**
|
|
989
|
+
|
|
990
|
+
- Задайте `PORT=20128` и `NEXT_PUBLIC_BASE_URL=http://localhost:20128`
|
|
991
|
+
|
|
992
|
+
**Грешки при синхронизиране в облак**
|
|
993
|
+
|
|
994
|
+
- Потвърдете, че `BASE_URL` сочи към вашия работещ екземпляр
|
|
995
|
+
- Проверете `CLOUD_URL` точки към вашата очаквана крайна точка в облака
|
|
996
|
+
- Поддържайте стойностите на `NEXT_PUBLIC_*` в съответствие със стойностите от страната на сървъра
|
|
997
|
+
|
|
998
|
+
**Първото влизане не работи**
|
|
999
|
+
|
|
1000
|
+
- Проверете `INITIAL_PASSWORD` в `.env`
|
|
1001
|
+
- Ако не е зададена, резервната парола е `123456`
|
|
1002
|
+
|
|
1003
|
+
**Няма регистрационни файлове за заявки**
|
|
1004
|
+
|
|
1005
|
+
- Задайте `ENABLE_REQUEST_LOGS=true` в `.env`
|
|
1006
|
+
|
|
1007
|
+
**Тестът за връзка показва „Невалидно“ за OpenAI-съвместими доставчици**
|
|
1008
|
+
|
|
1009
|
+
- Много доставчици не излагат `/models` крайна точка
|
|
1010
|
+
- OmniRoute v1.0.6+ включва резервно валидиране чрез завършвания на чат
|
|
1011
|
+
- Уверете се, че основният URL адрес включва суфикс `/v1`
|
|
1012
|
+
|
|
1013
|
+
</details>
|
|
1014
|
+
|
|
1015
|
+
---
|
|
1016
|
+
|
|
1017
|
+
## 🛠️ Tech Stack
|
|
1018
|
+
|
|
1019
|
+
- **Време на изпълнение**: Node.js 18–22 LTS (⚠️ Node.js 24+ **не се поддържа** — родните двоични файлове `better-sqlite3` са несъвместими)
|
|
1020
|
+
- **Език**: TypeScript 5.9 — **100% TypeScript** в `src/` и `open-sse/` (v1.0.6)
|
|
1021
|
+
- **Framework**: Next.js 16 + React 19 + Tailwind CSS 4
|
|
1022
|
+
- **База данни**: LowDB (JSON) + SQLite (състояние на домейна + регистрационни файлове на прокси)
|
|
1023
|
+
- **Поточно предаване**: Изпратени от сървъра събития (SSE)
|
|
1024
|
+
- **Auth**: OAuth 2.0 (PKCE) + JWT + API ключове
|
|
1025
|
+
- **Тестване**: Node.js тестов инструмент (368+ единични теста)
|
|
1026
|
+
- **CI/CD**: Действия на GitHub (автоматично публикуване на npm + Docker Hub при пускане)
|
|
1027
|
+
- **Уебсайт**: [omniroute.online](https://omniroute.online)
|
|
1028
|
+
- **Пакет**: [npmjs.com/package/omniroute](https://www.npmjs.com/package/omniroute)
|
|
1029
|
+
- **Docker**: [hub.docker.com/r/diegosouzapw/omniroute](https://hub.docker.com/r/diegosouzapw/omniroute)
|
|
1030
|
+
- **Устойчивост**: прекъсвач на веригата, експоненциално отдръпване, анти-гръмотевично стадо, TLS спуфинг
|
|
1031
|
+
|
|
1032
|
+
---
|
|
1033
|
+
|
|
1034
|
+
## 📖 Документация
|
|
1035
|
+
|
|
1036
|
+
| Документ | Описание |
|
|
1037
|
+
| -------------------------------------------- | ------------------------------------------------------- |
|
|
1038
|
+
| [User Guide](docs/USER_GUIDE.md) | Доставчици, комбинации, CLI интеграция, внедряване |
|
|
1039
|
+
| [API Reference](docs/API_REFERENCE.md) | Всички крайни точки с примери |
|
|
1040
|
+
| [Troubleshooting](docs/TROUBLESHOOTING.md) | Често срещани проблеми и решения |
|
|
1041
|
+
| [Architecture](docs/ARCHITECTURE.md) | Системна архитектура и вътрешност |
|
|
1042
|
+
| [Contributing](CONTRIBUTING.md) | Настройка и насоки за разработка |
|
|
1043
|
+
| [OpenAPI Spec](docs/openapi.yaml) | Спецификация на OpenAPI 3.0 |
|
|
1044
|
+
| [Security Policy](SECURITY.md) | Отчитане на уязвимости и практики за сигурност |
|
|
1045
|
+
| [VM Deployment](docs/VM_DEPLOYMENT_GUIDE.md) | Пълно ръководство: Настройка на VM + nginx + Cloudflare |
|
|
1046
|
+
| [Features Gallery](docs/FEATURES.md) | Визуална обиколка на таблото с екранни снимки |
|
|
1047
|
+
|
|
1048
|
+
### 📸 Визуализация на таблото за управление
|
|
1049
|
+
|
|
1050
|
+
<details>
|
|
1051
|
+
<summary><b>Щракнете, за да видите екранни снимки на таблото за управление</b></summary>
|
|
1052
|
+
|
|
1053
|
+
| Страница | Екранна снимка |
|
|
1054
|
+
| -------------------------- | ------------------------------------------------- |
|
|
1055
|
+
| **Доставчици** |  |
|
|
1056
|
+
| **Комбота** |  |
|
|
1057
|
+
| **Анализ** |  |
|
|
1058
|
+
| **Здраве** |  |
|
|
1059
|
+
| **Преводач** |  |
|
|
1060
|
+
| **Настройки** |  |
|
|
1061
|
+
| **CLI инструменти** |  |
|
|
1062
|
+
| **Дневници за използване** |  |
|
|
1063
|
+
| **Крайна точка** |  |
|
|
1064
|
+
|
|
1065
|
+
</details>
|
|
1066
|
+
|
|
1067
|
+
---
|
|
1068
|
+
|
|
1069
|
+
## 🗺️ Пътна карта
|
|
1070
|
+
|
|
1071
|
+
OmniRoute има **планирани 210+ функции** в множество фази на разработка. Ето основните области:
|
|
1072
|
+
|
|
1073
|
+
| Категория | Планирани функции | Акценти |
|
|
1074
|
+
| ----------------------------------- | ----------------- | ----------------------------------------------------------------------------------------------------------------------------- |
|
|
1075
|
+
| 🧠 **Маршрутизиране и разузнаване** | 25+ | Маршрутизиране с най-ниска латентност, маршрутизиране на базата на маркери, предварителен полет на квота, избор на P2C акаунт |
|
|
1076
|
+
| 🔒 **Сигурност и съответствие** | 20+ | SSRF укрепване, прикриване на идентификационни данни, ограничение на скоростта за крайна точка, обхват на ключ за управление |
|
|
1077
|
+
| 📊 **Наблюдаемост** | 15+ | OpenTelemetry интеграция, мониторинг на квоти в реално време, проследяване на разходите за модел |
|
|
1078
|
+
| 🔄 **Интеграции на доставчици** | 20+ | Регистър на динамичен модел, изчакване на доставчика, Codex за множество акаунти, анализ на квота на Copilot |
|
|
1079
|
+
| ⚡ **Изпълнение** | 15+ | Слой с двоен кеш, кеш за подкани, кеш за отговор, поддържане на активността при поточно предаване, партиден API |
|
|
1080
|
+
| 🌐 **Екосистема** | 10+ | WebSocket API, горещо презареждане на конфигурация, разпределено хранилище за конфигурация, търговски режим |
|
|
1081
|
+
|
|
1082
|
+
### 🔜 Очаквайте скоро
|
|
1083
|
+
|
|
1084
|
+
- 🔗 **OpenCode Integration** — Поддръжка на родния доставчик за IDE за кодиране OpenCode AI
|
|
1085
|
+
- 🔗 **TRAE Integration** — Пълна поддръжка за рамката за разработка на TRAE AI
|
|
1086
|
+
- 📦 **Batch API** — Асинхронна групова обработка за групови заявки
|
|
1087
|
+
- 🎯 **Маршрутизиране на базата на етикети** — Маршрутизирайте заявки въз основа на персонализирани тагове и метаданни
|
|
1088
|
+
- 💰 **Стратегия с най-ниска цена** — Автоматично изберете най-евтиния наличен доставчик
|
|
1089
|
+
|
|
1090
|
+
> 📝 Пълните спецификации на функциите са налични в [link](docs/new-features/) (217 подробни спецификации)
|
|
1091
|
+
|
|
1092
|
+
---
|
|
1093
|
+
|
|
1094
|
+
## 📧 Поддръжка
|
|
1095
|
+
|
|
1096
|
+
> 💬 **Присъединете се към нашата общност!** [WhatsApp Group](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) — Получете помощ, споделете съвети и бъдете в течение.
|
|
1097
|
+
|
|
1098
|
+
- **Уебсайт**: [omniroute.online](https://omniroute.online)
|
|
1099
|
+
- **GitHub**: [github.com/diegosouzapw/OmniRoute](https://github.com/diegosouzapw/OmniRoute)
|
|
1100
|
+
- **Проблеми**: [github.com/diegosouzapw/OmniRoute/issues](https://github.com/diegosouzapw/OmniRoute/issues)
|
|
1101
|
+
- **WhatsApp**: [Community Group](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t)
|
|
1102
|
+
- **Оригинален проект**: [9router by decolua](https://github.com/decolua/9router)
|
|
1103
|
+
|
|
1104
|
+
---
|
|
1105
|
+
|
|
1106
|
+
## 👥 Сътрудници
|
|
1107
|
+
|
|
1108
|
+
[](https://github.com/diegosouzapw/OmniRoute/graphs/contributors)
|
|
1109
|
+
|
|
1110
|
+
### Как да допринесете
|
|
1111
|
+
|
|
1112
|
+
1. Разклонете хранилището
|
|
1113
|
+
2. Създайте свой клон на функции (`git checkout -b feature/amazing-feature`)
|
|
1114
|
+
3. Задайте вашите промени (`git commit -m 'Add amazing feature'`)
|
|
1115
|
+
4. Натиснете до клона (`git push origin feature/amazing-feature`)
|
|
1116
|
+
5. Отворете заявка за изтегляне
|
|
1117
|
+
|
|
1118
|
+
Вижте [CONTRIBUTING.md](CONTRIBUTING.md) за подробни насоки.
|
|
1119
|
+
|
|
1120
|
+
### Пускане на нова версия
|
|
1121
|
+
|
|
1122
|
+
```bash
|
|
1123
|
+
# Create a release — npm publish happens automatically
|
|
1124
|
+
gh release create v1.0.6 --title "v1.0.6" --generate-notes
|
|
1125
|
+
```
|
|
1126
|
+
|
|
1127
|
+
---
|
|
1128
|
+
|
|
1129
|
+
## 📊 Звездна история
|
|
1130
|
+
|
|
1131
|
+
<a href="https://star-history.com/#diegosouzapw/OmniRoute&Date">
|
|
1132
|
+
<picture>
|
|
1133
|
+
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=diegosouzapw/OmniRoute&type=Date&theme=dark" />
|
|
1134
|
+
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=diegosouzapw/OmniRoute&type=Date" />
|
|
1135
|
+
<img alt="Star History Chart" src="https://api.star-history.com/svg?repos=diegosouzapw/OmniRoute&type=Date" />
|
|
1136
|
+
</picture>
|
|
1137
|
+
</a>
|
|
1138
|
+
|
|
1139
|
+
---
|
|
1140
|
+
|
|
1141
|
+
## 🙏 Благодарности
|
|
1142
|
+
|
|
1143
|
+
Специални благодарности на **[9router](https://github.com/decolua/9router)** от **[decolua](https://github.com/decolua)** — оригиналният проект, който вдъхнови това разклонение. OmniRoute се основава на тази невероятна основа с допълнителни функции, мултимодални API и пълно пренаписване на TypeScript.
|
|
1144
|
+
|
|
1145
|
+
Специални благодарности на **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** — оригиналната реализация на Go, която вдъхнови този JavaScript порт.
|
|
1146
|
+
|
|
1147
|
+
---
|
|
1148
|
+
|
|
1149
|
+
## 📄 Лиценз
|
|
1150
|
+
|
|
1151
|
+
Лиценз на MIT – вижте [LICENSE](LICENSE) за подробности.
|
|
1152
|
+
|
|
1153
|
+
---
|
|
1154
|
+
|
|
1155
|
+
---
|
|
1156
|
+
|
|
1157
|
+
## 🇧🇷 OmniRoute — Gateway de IA Gratuito
|
|
1158
|
+
|
|
1159
|
+
<a name="-omniroute--gateway-de-ia-gratuito"></a>
|
|
1160
|
+
|
|
1161
|
+
### Nunca pare de codar. Roteamento inteligente para **modelos de IA GRATUITOS e de baixo custo** com резервен автоматичен.
|
|
1162
|
+
|
|
1163
|
+
_Seu прокси универсален API — um крайна точка, 36+ доставчици, нулев престой._
|
|
1164
|
+
|
|
1165
|
+
### 🌐 Internacionalização (i18n)
|
|
1166
|
+
|
|
1167
|
+
Таблото за управление на OmniRoute поддържа **múltiplos idiomas**. Актуално налични:
|
|
1168
|
+
|
|
1169
|
+
| идиома | Código | Статус |
|
|
1170
|
+
| ------------------------- | ------- | ------------ |
|
|
1171
|
+
| 🇺🇸 английски | `en` | ✅ Завършено |
|
|
1172
|
+
| 🇧🇷 португалски (Бразилия) | `pt-BR` | ✅ Завършено |
|
|
1173
|
+
|
|
1174
|
+
**Параметр на трокар или идиома:** Кликнете без избор на идиома (🇺🇸 EN) без заглавка в таблото за управление → избор или избран идиома.
|
|
1175
|
+
|
|
1176
|
+
**Para adicionar um new idioma:**
|
|
1177
|
+
|
|
1178
|
+
1. Извикайте `src/i18n/messages/{codigo}.json` базирано на `en.json`
|
|
1179
|
+
2. Добавете кода към `src/i18n/config.ts` → `LOCALES` и `LANGUAGES`
|
|
1180
|
+
3. Reinicie или сървър
|
|
1181
|
+
|
|
1182
|
+
### ⚡ Início Rápido
|
|
1183
|
+
|
|
1184
|
+
```bash
|
|
1185
|
+
# Instalar via npm
|
|
1186
|
+
npx omniroute@latest
|
|
1187
|
+
|
|
1188
|
+
# Ou rodar do código-fonte
|
|
1189
|
+
cp .env.example .env
|
|
1190
|
+
npm install
|
|
1191
|
+
PORT=20128 NEXT_PUBLIC_BASE_URL=http://localhost:20128 npm run dev
|
|
1192
|
+
```
|
|
1193
|
+
|
|
1194
|
+
### 🐳 Докер
|
|
1195
|
+
|
|
1196
|
+
```bash
|
|
1197
|
+
docker run -d --name omniroute -p 20128:20128 diegosouzapw/omniroute:latest
|
|
1198
|
+
```
|
|
1199
|
+
|
|
1200
|
+
### 🔑 Funcionalidades Principais
|
|
1201
|
+
|
|
1202
|
+
- **36+ доставчици на IA** — Claude, GPT, Gemini, Llama, Qwen, DeepSeek и други
|
|
1203
|
+
- **Roteamento inteligente** — Резервни автоматични агенти
|
|
1204
|
+
- **Tradução de formato** — OpenAI ↔ Claude ↔ Gemini automaticamente
|
|
1205
|
+
- **Multi-conta** — Múltiplas contas por provedor com seleção inteligente
|
|
1206
|
+
- **Cache semântico** — Reduz custos e latência
|
|
1207
|
+
- **Автоматичен OAuth** — Автоматично обновяване на токени
|
|
1208
|
+
- **Combos personalizados** — 6 estratégias de roteamento
|
|
1209
|
+
- **Пълно табло** — Мониторинг, регистрационни файлове, анализи, конфигуриране
|
|
1210
|
+
- **CLI инструменти** — Конфигуриране на Claude Code, Codex, Cursor, Cline com um clique
|
|
1211
|
+
- **100% TypeScript** — Лимпо и тип код
|
|
1212
|
+
|
|
1213
|
+
### 📖 Documentação
|
|
1214
|
+
|
|
1215
|
+
| Документ | Описание |
|
|
1216
|
+
| ----------------------------------------------- | --------------------------------------- |
|
|
1217
|
+
| [Guia do Usuário](docs/USER_GUIDE.md) | Доставчици, комбинации, CLI, внедряване |
|
|
1218
|
+
| [Referência da API](docs/API_REFERENCE.md) | Всички крайни точки с примери |
|
|
1219
|
+
| [Solução de Problemas](docs/TROUBLESHOOTING.md) | Общи проблеми и решения |
|
|
1220
|
+
| [Arquitetura](docs/ARCHITECTURE.md) | Архитектура и вътрешна система |
|
|
1221
|
+
| [Contribuição](CONTRIBUTING.md) | Setup de desenvolvimento e guidelines |
|
|
1222
|
+
| [Deploy em VM](docs/VM_DEPLOYMENT_GUIDE.md) | Пълна версия: VM + nginx + Cloudflare |
|
|
1223
|
+
|
|
1224
|
+
### 📧 Подкрепете
|
|
1225
|
+
|
|
1226
|
+
> 💬 **Entre para a comunidade!** [Grupo WhatsApp](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) — Двойни гуми, компартилхе дикас и актуализация на фик.
|
|
1227
|
+
|
|
1228
|
+
- **Уебсайт**: [omniroute.online](https://omniroute.online)
|
|
1229
|
+
- **GitHub**: [github.com/diegosouzapw/OmniRoute](https://github.com/diegosouzapw/OmniRoute)
|
|
1230
|
+
- **Проблеми**: [github.com/diegosouzapw/OmniRoute/issues](https://github.com/diegosouzapw/OmniRoute/issues)
|
|
1231
|
+
|
|
1232
|
+
---
|
|
1233
|
+
|
|
1234
|
+
<div align="center">
|
|
1235
|
+
<sub>Създаден с ❤️ за разработчици, които кодират 24/7</sub>
|
|
1236
|
+
<br/>
|
|
1237
|
+
<sub><a href="https://omniroute.online">omniroute.online</a></sub>
|
|
1238
|
+
</div>
|