omniroute 1.4.11 → 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 +28 -28
- 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 +3 -3
- 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_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 +2 -2
- 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 +2 -2
- 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_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_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_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 +28 -28
- 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 +1 -1
- 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 +1 -1
- 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-19c878280decbd16.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-e3050ebfd4f5032f.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-a50474b6ebdf468a.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-08f3ed204d01b6a0.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-fbe1442b61df950a.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-b351778975cb8622.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-a440e0c1675842bf.js +0 -1
- package/app/.next/static/chunks/app/landing/page-09741814aaca7548.js +0 -1
- package/app/.next/static/chunks/app/login/page-164f6b6b41167c5a.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/{g7Mie-iq39oZ7ts610YtL → XOdkUGO-Pm15MwsN4s6B3}/_buildManifest.js +0 -0
- /package/app/.next/static/{g7Mie-iq39oZ7ts610YtL → XOdkUGO-Pm15MwsN4s6B3}/_ssgManifest.js +0 -0
package/README.ar.md
ADDED
|
@@ -0,0 +1,1153 @@
|
|
|
1
|
+
<div align="center">
|
|
2
|
+
<img src="./docs/screenshots/MainOmniRoute.png" alt="OmniRoute Dashboard" width="800"/>
|
|
3
|
+
|
|
4
|
+
# 🚀 OmniRoute — بوابة الذكاء الاصطناعي المجانية
|
|
5
|
+
|
|
6
|
+
### لا تتوقف أبدًا عن البرمجة. التوجيه الذكي إلى **نماذج الذكاء الاصطناعي المجانية ومنخفضة التكلفة** مع الرجوع التلقائي.
|
|
7
|
+
|
|
8
|
+
_وكيل واجهة برمجة التطبيقات العالمي الخاص بك — نقطة نهاية واحدة، وأكثر من 36 موفرًا، بدون أي توقف عن العمل._
|
|
9
|
+
|
|
10
|
+
**إكمالات الدردشة • التضمينات • إنشاء الصور • الصوت • إعادة الترتيب • 100% TypeScript**
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
### 🤖 موفر الذكاء الاصطناعي المجاني لوكلاء البرمجة المفضلين لديك
|
|
15
|
+
|
|
16
|
+
_قم بتوصيل أي أداة IDE أو CLI مدعومة بالذكاء الاصطناعي من خلال OmniRoute - بوابة واجهة برمجة التطبيقات المجانية للترميز غير المحدود._
|
|
17
|
+
|
|
18
|
+
<table>
|
|
19
|
+
<tr>
|
|
20
|
+
<td align="center" width="110">
|
|
21
|
+
<a href="https://github.com/cline/cline">
|
|
22
|
+
<img src="./public/providers/openclaw.png" alt="OpenClaw" width="48"/><br/>
|
|
23
|
+
<b>OpenClaw</b>
|
|
24
|
+
</a><br/>
|
|
25
|
+
<sub>⭐ 205K</sub>
|
|
26
|
+
</td>
|
|
27
|
+
<td align="center" width="110">
|
|
28
|
+
<a href="https://github.com/HKUDS/nanobot">
|
|
29
|
+
<img src="./public/providers/nanobot.png" alt="NanoBot" width="48"/><br/>
|
|
30
|
+
<b>NanoBot</b>
|
|
31
|
+
</a><br/>
|
|
32
|
+
<sub>⭐ 20.9K</sub>
|
|
33
|
+
</td>
|
|
34
|
+
<td align="center" width="110">
|
|
35
|
+
<a href="https://github.com/sipeed/picoclaw">
|
|
36
|
+
<img src="./public/providers/picoclaw.jpg" alt="PicoClaw" width="48"/><br/>
|
|
37
|
+
<b>PicoClaw</b>
|
|
38
|
+
</a><br/>
|
|
39
|
+
<sub>⭐ 14.6K</sub>
|
|
40
|
+
</td>
|
|
41
|
+
<td align="center" width="110">
|
|
42
|
+
<a href="https://github.com/zeroclaw-labs/zeroclaw">
|
|
43
|
+
<img src="./public/providers/zeroclaw.png" alt="ZeroClaw" width="48"/><br/>
|
|
44
|
+
<b>ZeroClaw</b>
|
|
45
|
+
</a><br/>
|
|
46
|
+
<sub>⭐ 9.9K</sub>
|
|
47
|
+
</td>
|
|
48
|
+
<td align="center" width="110">
|
|
49
|
+
<a href="https://github.com/nearai/ironclaw">
|
|
50
|
+
<img src="./public/providers/ironclaw.png" alt="IronClaw" width="48"/><br/>
|
|
51
|
+
<b>IronClaw</b>
|
|
52
|
+
</a><br/>
|
|
53
|
+
<sub>⭐ 2.1K</sub>
|
|
54
|
+
</td>
|
|
55
|
+
</tr>
|
|
56
|
+
<tr>
|
|
57
|
+
<td align="center" width="110">
|
|
58
|
+
<a href="https://github.com/anomalyco/opencode">
|
|
59
|
+
<img src="./public/providers/opencode.svg" alt="OpenCode" width="48"/><br/>
|
|
60
|
+
<b>OpenCode</b>
|
|
61
|
+
</a><br/>
|
|
62
|
+
<sub>⭐ 106K</sub>
|
|
63
|
+
</td>
|
|
64
|
+
<td align="center" width="110">
|
|
65
|
+
<a href="https://github.com/openai/codex">
|
|
66
|
+
<img src="./public/providers/codex.png" alt="Codex CLI" width="48"/><br/>
|
|
67
|
+
<b>Codex CLI</b>
|
|
68
|
+
</a><br/>
|
|
69
|
+
<sub>⭐ 60.8K</sub>
|
|
70
|
+
</td>
|
|
71
|
+
<td align="center" width="110">
|
|
72
|
+
<a href="https://github.com/anthropics/claude-code">
|
|
73
|
+
<img src="./public/providers/claude.png" alt="Claude Code" width="48"/><br/>
|
|
74
|
+
<b>Claude Code</b>
|
|
75
|
+
</a><br/>
|
|
76
|
+
<sub>⭐ 67.3K</sub>
|
|
77
|
+
</td>
|
|
78
|
+
<td align="center" width="110">
|
|
79
|
+
<a href="https://github.com/google-gemini/gemini-cli">
|
|
80
|
+
<img src="./public/providers/gemini-cli.png" alt="Gemini CLI" width="48"/><br/>
|
|
81
|
+
<b>Gemini CLI</b>
|
|
82
|
+
</a><br/>
|
|
83
|
+
<sub>⭐ 94.7K</sub>
|
|
84
|
+
</td>
|
|
85
|
+
<td align="center" width="110">
|
|
86
|
+
<a href="https://github.com/Kilo-Org/kilocode">
|
|
87
|
+
<img src="./public/providers/kilocode.png" alt="Kilo Code" width="48"/><br/>
|
|
88
|
+
<b>Kilo Code</b>
|
|
89
|
+
</a><br/>
|
|
90
|
+
<sub>⭐ 15.5K</sub>
|
|
91
|
+
</td>
|
|
92
|
+
</tr>
|
|
93
|
+
</table>
|
|
94
|
+
|
|
95
|
+
<sub>📡 يتصل جميع الوكلاء عبر <code>http://localhost:20128/v1</code> أو <code>http://cloud.omniroute.online/v1</code> - تكوين واحد ونماذج غير محدودة و الحصة</sub>
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
[](https://www.npmjs.com/package/omniroute)
|
|
100
|
+
[](https://hub.docker.com/r/diegosouzapw/omniroute)
|
|
101
|
+
[](https://github.com/diegosouzapw/OmniRoute/blob/main/LICENSE)
|
|
102
|
+
[](https://omniroute.online)
|
|
103
|
+
[](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t)
|
|
104
|
+
|
|
105
|
+
[🌐 الموقع](https://omniroute.online) • [🚀 البداية السريعة](#-بداية-سريعة) • [💡 الميزات](#-الميزات-الرئيسية) • [📖 التوثيق](#-التوثيق) • [💰 الأسعار](#-لمحة-سريعة-عن-الأسعار) • [💬 WhatsApp](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t)
|
|
106
|
+
|
|
107
|
+
🌐 **متوفر باللغات:** 🇺🇸 [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)
|
|
108
|
+
|
|
109
|
+
</div>
|
|
110
|
+
|
|
111
|
+
---
|
|
112
|
+
|
|
113
|
+
## 🤔 لماذا OmniRoute؟
|
|
114
|
+
|
|
115
|
+
**توقف عن إهدار المال وضرب الحدود:**
|
|
116
|
+
|
|
117
|
+
- <img src="https://img.shields.io/badge/✗-e74c3c?style=flat-square" height="16"/> تنتهي صلاحية حصة الاشتراك غير المستخدمة كل شهر
|
|
118
|
+
- <img src="https://img.shields.io/badge/✗-e74c3c?style=flat-square" height="16"/> حدود الأسعار تمنعك من الترميز المتوسط
|
|
119
|
+
- <img src="https://img.shields.io/badge/✗-e74c3c?style=flat-square" height="16"/> واجهات برمجة التطبيقات باهظة الثمن (20-50 دولارًا شهريًا لكل مزود)
|
|
120
|
+
- <img src="https://img.shields.io/badge/✗-e74c3c?style=flat-square" height="16"/> التبديل اليدوي بين مقدمي الخدمة
|
|
121
|
+
|
|
122
|
+
** OmniRoute يحل هذا: **
|
|
123
|
+
|
|
124
|
+
- ✅ **تعظيم الاشتراكات** - تتبع الحصة، استخدم كل جزء منها قبل إعادة التعيين
|
|
125
|
+
- ✅ **الرجوع التلقائي** - الاشتراك → مفتاح واجهة برمجة التطبيقات → رخيص → مجاني، بدون توقف
|
|
126
|
+
- ✅ **حسابات متعددة** - جولة روبن بين الحسابات لكل مزود
|
|
127
|
+
- ✅ **عالمي** - يعمل مع Claude Code وCodex وGemini CLI وCursor وCline وOpenClaw وأي أداة CLI
|
|
128
|
+
|
|
129
|
+
---
|
|
130
|
+
|
|
131
|
+
## 🔄 كيف يعمل
|
|
132
|
+
|
|
133
|
+
```
|
|
134
|
+
┌─────────────┐
|
|
135
|
+
│ Your CLI │ (Claude Code, Codex, Gemini CLI, OpenClaw, Cursor, Cline...)
|
|
136
|
+
│ Tool │
|
|
137
|
+
└──────┬──────┘
|
|
138
|
+
│ http://localhost:20128/v1
|
|
139
|
+
↓
|
|
140
|
+
┌─────────────────────────────────────────┐
|
|
141
|
+
│ OmniRoute (Smart Router) │
|
|
142
|
+
│ • Format translation (OpenAI ↔ Claude) │
|
|
143
|
+
│ • Quota tracking + Embeddings + Images │
|
|
144
|
+
│ • Auto token refresh │
|
|
145
|
+
└──────┬──────────────────────────────────┘
|
|
146
|
+
│
|
|
147
|
+
├─→ [Tier 1: SUBSCRIPTION] Claude Code, Codex, Gemini CLI
|
|
148
|
+
│ ↓ quota exhausted
|
|
149
|
+
├─→ [Tier 2: API KEY] DeepSeek, Groq, xAI, Mistral, NVIDIA NIM, etc.
|
|
150
|
+
│ ↓ budget limit
|
|
151
|
+
├─→ [Tier 3: CHEAP] GLM ($0.6/1M), MiniMax ($0.2/1M)
|
|
152
|
+
│ ↓ budget limit
|
|
153
|
+
└─→ [Tier 4: FREE] iFlow, Qwen, Kiro (unlimited)
|
|
154
|
+
|
|
155
|
+
Result: Never stop coding, minimal cost
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
---
|
|
159
|
+
|
|
160
|
+
## ⚡ بداية سريعة
|
|
161
|
+
|
|
162
|
+
**1. التثبيت عالميًا:**
|
|
163
|
+
|
|
164
|
+
```bash
|
|
165
|
+
npm install -g omniroute
|
|
166
|
+
omniroute
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
🎉 تفتح لوحة التحكم في `http://localhost:20128`
|
|
170
|
+
|
|
171
|
+
| الأمر | الوصف |
|
|
172
|
+
| ----------------------- | ----------------------------------------- |
|
|
173
|
+
| `omniroute` | بدء تشغيل الخادم (المنفذ الافتراضي 20128) |
|
|
174
|
+
| `omniroute --port 3000` | استخدم المنفذ المخصص |
|
|
175
|
+
| `omniroute --no-open` | لا تفتح المتصفح تلقائيًا |
|
|
176
|
+
| `omniroute --help` | عرض المساعدة |
|
|
177
|
+
|
|
178
|
+
**2. الاتصال بمزود مجاني: **
|
|
179
|
+
|
|
180
|
+
لوحة التحكم → الموفرون → الاتصال **Claude Code** أو **Antigravity** → تسجيل الدخول OAuth → تم!
|
|
181
|
+
|
|
182
|
+
**3. استخدم في أداة CLI الخاصة بك:**
|
|
183
|
+
|
|
184
|
+
```
|
|
185
|
+
Claude Code/Codex/Gemini CLI/OpenClaw/Cursor/Cline Settings:
|
|
186
|
+
Endpoint: http://localhost:20128/v1
|
|
187
|
+
API Key: [copy from dashboard]
|
|
188
|
+
Model: if/kimi-k2-thinking
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
**هذا كل شيء!** ابدأ البرمجة باستخدام نماذج الذكاء الاصطناعي المجانية.
|
|
192
|
+
|
|
193
|
+
** البديل - تشغيل من المصدر: **
|
|
194
|
+
|
|
195
|
+
```bash
|
|
196
|
+
cp .env.example .env
|
|
197
|
+
npm install
|
|
198
|
+
PORT=20128 NEXT_PUBLIC_BASE_URL=http://localhost:20128 npm run dev
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
---
|
|
202
|
+
|
|
203
|
+
## 🐳 عامل الميناء
|
|
204
|
+
|
|
205
|
+
OmniRoute متاح كصورة Docker عامة على [Docker Hub](https://hub.docker.com/r/diegosouzapw/omniroute).
|
|
206
|
+
|
|
207
|
+
**الجري السريع:**
|
|
208
|
+
|
|
209
|
+
```bash
|
|
210
|
+
docker run -d \
|
|
211
|
+
--name omniroute \
|
|
212
|
+
--restart unless-stopped \
|
|
213
|
+
-p 20128:20128 \
|
|
214
|
+
-v omniroute-data:/app/data \
|
|
215
|
+
diegosouzapw/omniroute:latest
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
** مع ملف البيئة: **
|
|
219
|
+
|
|
220
|
+
```bash
|
|
221
|
+
# Copy and edit .env first
|
|
222
|
+
cp .env.example .env
|
|
223
|
+
|
|
224
|
+
docker run -d \
|
|
225
|
+
--name omniroute \
|
|
226
|
+
--restart unless-stopped \
|
|
227
|
+
--env-file .env \
|
|
228
|
+
-p 20128:20128 \
|
|
229
|
+
-v omniroute-data:/app/data \
|
|
230
|
+
diegosouzapw/omniroute:latest
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
**استخدام Docker Compose:**
|
|
234
|
+
|
|
235
|
+
```bash
|
|
236
|
+
# Base profile (no CLI tools)
|
|
237
|
+
docker compose --profile base up -d
|
|
238
|
+
|
|
239
|
+
# CLI profile (Claude Code, Codex, OpenClaw built-in)
|
|
240
|
+
docker compose --profile cli up -d
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
| صورة | العلامة | الحجم | الوصف |
|
|
244
|
+
| ------------------------ | -------- | ------------- | ---------------- |
|
|
245
|
+
| `diegosouzapw/omniroute` | `latest` | ~250 ميجابايت | أحدث إصدار مستقر |
|
|
246
|
+
| `diegosouzapw/omniroute` | `1.0.3` | ~250 ميجابايت | النسخة الحالية |
|
|
247
|
+
|
|
248
|
+
---
|
|
249
|
+
|
|
250
|
+
## 💰 لمحة سريعة عن الأسعار
|
|
251
|
+
|
|
252
|
+
| الطبقة | مقدم | التكلفة | إعادة ضبط الحصص | الأفضل لـ |
|
|
253
|
+
| ---------------------------------- | ---------------------------- | ---------------------- | ----------------------- | ------------------------- |
|
|
254
|
+
| **💳الإشتراك** | كلود كود (برو) | 20 دولارًا شهريًا | 5 ساعات + أسبوعي | اشتركت بالفعل |
|
|
255
|
+
| | الدستور الغذائي (زائد / برو) | 20-200 دولار شهريًا | 5 ساعات + أسبوعي | مستخدمي OpenAI |
|
|
256
|
+
| | الجوزاء CLI | **مجاني** | 180 ألف/شهر + 1 ألف/يوم | الجميع! |
|
|
257
|
+
| | جيثب مساعد الطيار | 10-19 دولارًا شهريًا | شهري | مستخدمي جيثب |
|
|
258
|
+
| **🔑 مفتاح واجهة برمجة التطبيقات** | نفيديا نيم | **مجانًا** (1000 نقطة) | لمرة واحدة | اختبار المستوى المجاني |
|
|
259
|
+
| | ديب سيك | الدفع لكل استخدام | لا شيء | أفضل سعر/جودة |
|
|
260
|
+
| | جروك | طبقة مجانية + مدفوعة | معدل محدود | الاستدلال فائق السرعة |
|
|
261
|
+
| | xAI (جروك) | الدفع لكل استخدام | لا شيء | نماذج جروك |
|
|
262
|
+
| | ميسترال | طبقة مجانية + مدفوعة | معدل محدود | الذكاء الاصطناعي الأوروبي |
|
|
263
|
+
| | اوبن راوتر | الدفع لكل استخدام | لا شيء | أكثر من 100 موديل |
|
|
264
|
+
| **💰 رخيص** | جي إل إم-4.7 | 0.6 دولار/1 مليون | يوميا 10 صباحا | نسخة احتياطية للميزانية |
|
|
265
|
+
| | ميني ماكس M2.1 | 0.2 دولار/1 مليون | المتداول لمدة 5 ساعات | الخيار الأرخص |
|
|
266
|
+
| | كيمي ك2 | 9 دولارات شهريًا مسطحة | 10 مليون رمز/شهر | التكلفة المتوقعة |
|
|
267
|
+
| **🆓مجانًا** | اي فلو | $0 | غير محدود | 8 نماذج مجانية |
|
|
268
|
+
| | كوين | $0 | غير محدود | 3 نماذج مجانية |
|
|
269
|
+
| | كيرو | $0 | غير محدود | كلود مجاني |
|
|
270
|
+
|
|
271
|
+
**💡 نصيحة احترافية:** ابدأ مع مجموعة Gemini CLI (180 ألفًا مجانًا شهريًا) + مجموعة iFlow (مجانية غير محدودة) = تكلفة 0 دولار!
|
|
272
|
+
|
|
273
|
+
---
|
|
274
|
+
|
|
275
|
+
## 🎯 حالات الاستخدام
|
|
276
|
+
|
|
277
|
+
### الحالة 1: "لدي اشتراك Claude Pro"
|
|
278
|
+
|
|
279
|
+
**المشكلة:** تنتهي صلاحية الحصة غير المستخدمة، وحدود المعدل أثناء عملية الترميز المكثف
|
|
280
|
+
|
|
281
|
+
```
|
|
282
|
+
Combo: "maximize-claude"
|
|
283
|
+
1. cc/claude-opus-4-6 (use subscription fully)
|
|
284
|
+
2. glm/glm-4.7 (cheap backup when quota out)
|
|
285
|
+
3. if/kimi-k2-thinking (free emergency fallback)
|
|
286
|
+
|
|
287
|
+
Monthly cost: $20 (subscription) + ~$5 (backup) = $25 total
|
|
288
|
+
vs. $20 + hitting limits = frustration
|
|
289
|
+
```
|
|
290
|
+
|
|
291
|
+
### الحالة 2: "أريد تكلفة صفرية"
|
|
292
|
+
|
|
293
|
+
**المشكلة:** لا أستطيع تحمل تكلفة الاشتراكات، وتحتاج إلى ترميز يعتمد على الذكاء الاصطناعي
|
|
294
|
+
|
|
295
|
+
```
|
|
296
|
+
Combo: "free-forever"
|
|
297
|
+
1. gc/gemini-3-flash (180K free/month)
|
|
298
|
+
2. if/kimi-k2-thinking (unlimited free)
|
|
299
|
+
3. qw/qwen3-coder-plus (unlimited free)
|
|
300
|
+
|
|
301
|
+
Monthly cost: $0
|
|
302
|
+
Quality: Production-ready models
|
|
303
|
+
```
|
|
304
|
+
|
|
305
|
+
### الحالة 3: "أحتاج إلى تشفير على مدار 24 ساعة طوال أيام الأسبوع، دون انقطاع"
|
|
306
|
+
|
|
307
|
+
**المشكلة:** المواعيد النهائية، لا أستطيع تحمل فترات التوقف عن العمل
|
|
308
|
+
|
|
309
|
+
```
|
|
310
|
+
Combo: "always-on"
|
|
311
|
+
1. cc/claude-opus-4-6 (best quality)
|
|
312
|
+
2. cx/gpt-5.2-codex (second subscription)
|
|
313
|
+
3. glm/glm-4.7 (cheap, resets daily)
|
|
314
|
+
4. minimax/MiniMax-M2.1 (cheapest, 5h reset)
|
|
315
|
+
5. if/kimi-k2-thinking (free unlimited)
|
|
316
|
+
|
|
317
|
+
Result: 5 layers of fallback = zero downtime
|
|
318
|
+
```
|
|
319
|
+
|
|
320
|
+
### الحالة 4: "أريد ذكاءً اصطناعيًا مجانيًا في OpenClaw"
|
|
321
|
+
|
|
322
|
+
**المشكلة:** تحتاج إلى مساعد الذكاء الاصطناعي في تطبيقات المراسلة، مجانًا تمامًا
|
|
323
|
+
|
|
324
|
+
```
|
|
325
|
+
Combo: "openclaw-free"
|
|
326
|
+
1. if/glm-4.7 (unlimited free)
|
|
327
|
+
2. if/minimax-m2.1 (unlimited free)
|
|
328
|
+
3. if/kimi-k2-thinking (unlimited free)
|
|
329
|
+
|
|
330
|
+
Monthly cost: $0
|
|
331
|
+
Access via: WhatsApp, Telegram, Slack, Discord, iMessage, Signal...
|
|
332
|
+
```
|
|
333
|
+
|
|
334
|
+
---
|
|
335
|
+
|
|
336
|
+
## 💡 الميزات الرئيسية
|
|
337
|
+
|
|
338
|
+
### 🧠 التوجيه الأساسي والذكاء
|
|
339
|
+
|
|
340
|
+
| ميزة | ماذا يفعل |
|
|
341
|
+
| --------------------------------- | ---------------------------------------------------------------------------------------------- |
|
|
342
|
+
| 🎯 **احتياطي ذكي من 4 طبقات** | المسار التلقائي: الاشتراك → مفتاح API → رخيص → مجاني |
|
|
343
|
+
| 📊 **تتبع الحصص في الوقت الفعلي** | عدد الرموز الحية + إعادة تعيين العد التنازلي لكل مزود |
|
|
344
|
+
| 🔄 **تنسيق الترجمة** | OpenAI ↔ كلود ↔ الجوزاء ↔ المؤشر ↔ كيرو سلس + تعقيم الاستجابة |
|
|
345
|
+
| 👥 **دعم الحسابات المتعددة** | حسابات متعددة لكل مزود مع اختيار ذكي |
|
|
346
|
+
| 🔄 **تحديث تلقائي للرمز** | يتم تحديث رموز OAuth المميزة تلقائيًا من خلال إعادة المحاولة |
|
|
347
|
+
| 🎨 **مجموعات مخصصة** | 6 إستراتيجيات: التعبئة أولاً، الجولة روبن، P2C، عشوائي، الأقل استخدامًا، الأمثل من حيث التكلفة |
|
|
348
|
+
| 🧩 **نماذج مخصصة** | أضف أي معرف نموذج إلى أي مزود |
|
|
349
|
+
| 🌐 **جهاز توجيه Wildcard** | قم بتوجيه أنماط `provider/*` إلى أي مزود ديناميكيًا |
|
|
350
|
+
| 🧠 **ميزانية التفكير** | أوضاع العبور والتلقائي والمخصص والتكيفي لنماذج الاستدلال |
|
|
351
|
+
| 💬 **الحقن الفوري للنظام** | يتم تطبيق موجه النظام العالمي على كافة الطلبات |
|
|
352
|
+
| 📄 **Responses API** | دعم واجهة برمجة تطبيقات استجابات OpenAI الكاملة (`/v1/responses`) لـ Codex |
|
|
353
|
+
|
|
354
|
+
### 🎵 واجهات برمجة التطبيقات متعددة الوسائط
|
|
355
|
+
|
|
356
|
+
| ميزة | ماذا يفعل |
|
|
357
|
+
| -------------------------- | --------------------------------------------------------- |
|
|
358
|
+
| 🖼️ **إنشاء الصور** | `/v1/images/generations` — 4 مقدمي خدمات، أكثر من 9 نماذج |
|
|
359
|
+
| 📐 **المضامين** | `/v1/embeddings` — 6 مقدمي خدمات، أكثر من 9 نماذج |
|
|
360
|
+
| 🎤 **نسخ صوتي** | `/v1/audio/transcriptions` — متوافق مع الهمس |
|
|
361
|
+
| 🔊 **تحويل النص إلى كلام** | `/v1/audio/speech` — تركيب صوتي متعدد الموفرين |
|
|
362
|
+
| 🛡️ **اعتدالات** | `/v1/moderations` — فحوصات سلامة المحتوى |
|
|
363
|
+
| 🔀 **إعادة الترتيب** | `/v1/rerank` — إعادة ترتيب مدى صلة الوثيقة |
|
|
364
|
+
|
|
365
|
+
### 🛡️ المرونة والأمان
|
|
366
|
+
|
|
367
|
+
| ميزة | ماذا يفعل |
|
|
368
|
+
| --------------------------------------------- | ------------------------------------------------------------------------------------------- |
|
|
369
|
+
| 🔌 **قاطع الدائرة** | فتح/إغلاق تلقائي لكل مزود مع حدود قابلة للتكوين |
|
|
370
|
+
| 🛡️ **القطيع المضاد للرعد** | الحد الأقصى لمعدل Mutex + الإشارة لموفري مفاتيح API |
|
|
371
|
+
| 🧠 **ذاكرة التخزين المؤقت الدلالية** | ذاكرة التخزين المؤقت ذات المستويين (التوقيع + الدلالي) تقلل التكلفة وزمن الوصول |
|
|
372
|
+
| ⚡ **طلب العجز** | نافذة 5s dedup للطلبات المكررة |
|
|
373
|
+
| 🔒 **انتحال بصمة الإصبع TLS** | تجاوز اكتشاف الروبوتات المستندة إلى TLS عبر wreq-js |
|
|
374
|
+
| 🌐 **تصفية IP** | القائمة المسموح بها/القائمة المحظورة للتحكم في الوصول إلى واجهة برمجة التطبيقات |
|
|
375
|
+
| 📊 **حدود المعدل القابلة للتحرير** | عدد الدورات في الدقيقة القابل للتكوين والفجوة الدنيا والحد الأقصى المتزامن على مستوى النظام |
|
|
376
|
+
| 🛡 **حماية نقطة نهاية واجهة برمجة التطبيقات** | بوابة المصادقة + حظر الموفر لنقطة النهاية `/models` |
|
|
377
|
+
| 🔒 **رؤية الوكيل** | شارات مرمزة بالألوان: 🟢 عالمية، 🟡 مزود، 🔵 لكل اتصال مع عرض IP |
|
|
378
|
+
| 🌐 ** تكوين الوكيل ذو 3 مستويات ** | قم بتكوين الوكلاء على المستوى العالمي أو لكل مزود أو لكل اتصال |
|
|
379
|
+
|
|
380
|
+
### 📊 إمكانية الملاحظة والتحليلات
|
|
381
|
+
|
|
382
|
+
| ميزة | ماذا يفعل |
|
|
383
|
+
| ------------------------------------ | -------------------------------------------------------------------------------------------- |
|
|
384
|
+
| 📝 **تسجيل الطلبات** | وضع التصحيح مع سجلات الطلب/الاستجابة الكاملة |
|
|
385
|
+
| 💾 **سجلات وكيل SQLite** | تستمر سجلات الوكيل المستمرة في إعادة تشغيل الخادم |
|
|
386
|
+
| 📊 **لوحة التحكم التحليلية** | مدعوم من إعادة التخطيط: بطاقات إحصائيات، مخطط استخدام النموذج، جدول الموفر |
|
|
387
|
+
| 📈 **تتبع التقدم** | الاشتراك في أحداث تقدم SSE للبث |
|
|
388
|
+
| 🧪 **تقييمات ماجستير إدارة الأعمال** | اختبار المجموعة الذهبية مع 4 إستراتيجيات المباراة |
|
|
389
|
+
| 🔍 **طلب القياس عن بعد** | تجميع زمن الوصول p50/p95/p99 + تتبع معرف طلب X |
|
|
390
|
+
| 📋 **لوحة تحكم السجلات** | صفحة موحدة مكونة من 4 علامات تبويب: سجلات الطلب، وسجلات الوكيل، وسجلات التدقيق، ووحدة التحكم |
|
|
391
|
+
| 🖥️ **عارض سجل وحدة التحكم** | عارض على النمط الطرفي في الوقت الفعلي مع مرشح المستوى والبحث والتمرير التلقائي |
|
|
392
|
+
| 📑 ** التسجيل المعتمد على الملفات ** | يلتقط جهاز اعتراض وحدة التحكم جميع المخرجات إلى ملف سجل JSON بالتدوير |
|
|
393
|
+
| 🏥 **لوحة المعلومات الصحية** | وقت تشغيل النظام، حالات قاطع الدائرة، عمليات الإغلاق، إحصائيات ذاكرة التخزين المؤقت |
|
|
394
|
+
| 💰 **تتبع التكلفة** | إدارة الميزانية + تكوين التسعير لكل نموذج |
|
|
395
|
+
|
|
396
|
+
### ☁️ النشر والمزامنة
|
|
397
|
+
|
|
398
|
+
| ميزة | ماذا يفعل |
|
|
399
|
+
| ----------------------------------------- | ----------------------------------------------------------------------------- |
|
|
400
|
+
| 💾 **المزامنة السحابية** | مزامنة التكوين عبر الأجهزة عبر Cloudflare Workers |
|
|
401
|
+
| 🌐 **النشر في أي مكان** | المضيف المحلي، VPS، Docker، عمال Cloudflare |
|
|
402
|
+
| 🔑 **إدارة مفاتيح واجهة برمجة التطبيقات** | إنشاء مفاتيح واجهة برمجة التطبيقات وتدويرها ونطاقها لكل مزود |
|
|
403
|
+
| 🧙 **معالج الإعداد** | إعداد إرشادي من 4 خطوات للمستخدمين لأول مرة |
|
|
404
|
+
| 🔧 **لوحة تحكم أدوات CLI** | بنقرة واحدة قم بتكوين Claude، Codex، Cline، OpenClaw، Kilo، Antigravity |
|
|
405
|
+
| 🔄 **النسخ الاحتياطية لقاعدة البيانات** | النسخ الاحتياطي التلقائي والاستعادة والتصدير والاستيراد لجميع الإعدادات |
|
|
406
|
+
| 🌐 **التدويل** | i18n الكامل مع دعم next-intl — الإنجليزية + البرتغالية (البرازيل) |
|
|
407
|
+
| 🌍 **محدد اللغة** | أيقونة الكرة الأرضية في رأس الصفحة للتبديل بين اللغات في الوقت الفعلي (🇺🇸/🇧🇷) |
|
|
408
|
+
| 📂 **دليل البيانات المخصصة** | `DATA_DIR` env var لتجاوز مسار التخزين الافتراضي `~/.omniroute` |
|
|
409
|
+
|
|
410
|
+
<details>
|
|
411
|
+
<summary><b>📖 تفاصيل الميزة</b></summary>
|
|
412
|
+
|
|
413
|
+
### 🎯 نظام احتياطي ذكي مكون من 4 طبقات
|
|
414
|
+
|
|
415
|
+
إنشاء مجموعات باستخدام خيار الرجوع التلقائي:
|
|
416
|
+
|
|
417
|
+
```
|
|
418
|
+
Combo: "my-coding-stack"
|
|
419
|
+
1. cc/claude-opus-4-6 (your subscription)
|
|
420
|
+
2. nvidia/llama-3.3-70b (free NVIDIA API)
|
|
421
|
+
3. glm/glm-4.7 (cheap backup, $0.6/1M)
|
|
422
|
+
4. if/kimi-k2-thinking (free fallback)
|
|
423
|
+
|
|
424
|
+
→ Auto switches when quota runs out or errors occur
|
|
425
|
+
```
|
|
426
|
+
|
|
427
|
+
### 📊 تتبع الحصص في الوقت الحقيقي
|
|
428
|
+
|
|
429
|
+
- استهلاك الرمز المميز لكل مزود
|
|
430
|
+
- إعادة ضبط العد التنازلي (5 ساعات، يوميًا، أسبوعيًا)
|
|
431
|
+
- تقدير التكلفة للمستويات المدفوعة
|
|
432
|
+
- تقارير الإنفاق الشهرية
|
|
433
|
+
|
|
434
|
+
### 🔄 ترجمة التنسيق
|
|
435
|
+
|
|
436
|
+
ترجمة سلسة بين الصيغ:
|
|
437
|
+
|
|
438
|
+
- **OpenAI** ↔ **Claude** ↔ **Gemini** ↔ **استجابات OpenAI**
|
|
439
|
+
- ترسل أداة CLI الخاصة بك تنسيق OpenAI ← يترجم OmniRoute ← يتلقى الموفر التنسيق الأصلي
|
|
440
|
+
- يعمل مع أي أداة تدعم نقاط نهاية OpenAI المخصصة
|
|
441
|
+
- **تطهير الاستجابة** - يزيل الحقول غير القياسية من أجل توافق صارم مع OpenAI SDK
|
|
442
|
+
- **تطبيع الدور** — `developer` → `system` لغير OpenAI؛ `system` → `user` لطرز GLM/ERNIE
|
|
443
|
+
- **استخراج علامة التفكير** — كتل `<think>` → `reasoning_content` لنماذج التفكير
|
|
444
|
+
- **الإخراج المنظم** — `json_schema` → الجوزاء `responseMimeType`/`responseSchema`
|
|
445
|
+
|
|
446
|
+
### 👥 دعم الحسابات المتعددة
|
|
447
|
+
|
|
448
|
+
- إضافة حسابات متعددة لكل مزود
|
|
449
|
+
- التوجيه التلقائي أو التوجيه على أساس الأولوية
|
|
450
|
+
- الرجوع إلى الحساب التالي عندما يصل أحد إلى الحصة
|
|
451
|
+
|
|
452
|
+
### 🔄 التحديث التلقائي للرموز
|
|
453
|
+
|
|
454
|
+
- يتم تحديث رموز OAuth المميزة تلقائيًا قبل انتهاء الصلاحية
|
|
455
|
+
- لا حاجة لإعادة المصادقة اليدوية
|
|
456
|
+
- تجربة سلسة عبر جميع مقدمي الخدمة
|
|
457
|
+
|
|
458
|
+
### 🎨 مجموعات مخصصة
|
|
459
|
+
|
|
460
|
+
- إنشاء مجموعات نماذج غير محدودة
|
|
461
|
+
- 6 إستراتيجيات: التعبئة أولاً، جولة روبن، قوة الاختيارين، العشوائية، الأقل استخدامًا، الأمثل من حيث التكلفة
|
|
462
|
+
- مشاركة المجموعات عبر الأجهزة باستخدام Cloud Sync
|
|
463
|
+
|
|
464
|
+
### 🏥 لوحة المعلومات الصحية
|
|
465
|
+
|
|
466
|
+
- حالة النظام (وقت التشغيل، الإصدار، استخدام الذاكرة)
|
|
467
|
+
- حالات قاطع الدائرة لكل مزود (مغلق/مفتوح/نصف مفتوح)
|
|
468
|
+
- حالة الحد الأقصى للسعر وعمليات الإغلاق النشطة
|
|
469
|
+
- إحصائيات ذاكرة التخزين المؤقت للتوقيع
|
|
470
|
+
- قياس الكمون عن بعد (ص50/ص95/ص99) + ذاكرة تخزين مؤقت سريعة
|
|
471
|
+
- إعادة ضبط الحالة الصحية بنقرة واحدة
|
|
472
|
+
|
|
473
|
+
### 🔧 ملعب المترجم
|
|
474
|
+
|
|
475
|
+
يشتمل OmniRoute على ساحة مترجم قوية مدمجة مع **4 أوضاع** لتصحيح الأخطاء واختبار ومراقبة ترجمات واجهة برمجة التطبيقات:
|
|
476
|
+
|
|
477
|
+
| الوضع | الوصف |
|
|
478
|
+
| --------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
479
|
+
| **💻 الملعب** | ترجمة التنسيق المباشر - الصق أي نص طلب واجهة برمجة التطبيقات (API) وشاهد على الفور كيف يقوم OmniRoute بترجمته بين تنسيقات الموفر (OpenAI ↔ Claude ↔ Gemini ↔ Responses API). يتضمن أمثلة على القوالب والكشف التلقائي عن التنسيق. |
|
|
480
|
+
| **💬 اختبار الدردشة** | أرسل طلبات دردشة حقيقية من خلال OmniRoute وشاهد الرحلة الكاملة ذهابًا وإيابًا: مدخلاتك، والطلب المترجم، واستجابة الموفر، والرد المترجم. لا تقدر بثمن للتحقق من صحة توجيه التحرير والسرد. |
|
|
481
|
+
| **🧪 مقعد الاختبار** | وضع الاختبار المجمع - حدد حالات اختبار متعددة بمدخلات مختلفة ومخرجات متوقعة، وقم بتشغيلها كلها مرة واحدة، وقارن النتائج عبر الموفرين والنماذج. |
|
|
482
|
+
| **📱 مراقب مباشر** | مراقبة الطلبات في الوقت الفعلي - شاهد الطلبات الواردة أثناء تدفقها عبر OmniRoute، وشاهد ترجمات التنسيق التي تحدث مباشرة، وحدد المشكلات على الفور. |
|
|
483
|
+
|
|
484
|
+
**الوصول:** لوحة المعلومات ← المترجم (الشريط الجانبي)
|
|
485
|
+
|
|
486
|
+
### 💾 المزامنة السحابية
|
|
487
|
+
|
|
488
|
+
- موفري المزامنة والمجموعات والإعدادات عبر الأجهزة
|
|
489
|
+
- مزامنة الخلفية التلقائية
|
|
490
|
+
- تخزين مشفر آمن
|
|
491
|
+
|
|
492
|
+
</details>
|
|
493
|
+
|
|
494
|
+
---
|
|
495
|
+
|
|
496
|
+
## 📖 دليل الإعداد
|
|
497
|
+
|
|
498
|
+
<details>
|
|
499
|
+
<summary><b>💳 موفري الاشتراك</b></summary>
|
|
500
|
+
|
|
501
|
+
### كلود كود (برو/ماكس)
|
|
502
|
+
|
|
503
|
+
```bash
|
|
504
|
+
Dashboard → Providers → Connect Claude Code
|
|
505
|
+
→ OAuth login → Auto token refresh
|
|
506
|
+
→ 5-hour + weekly quota tracking
|
|
507
|
+
|
|
508
|
+
Models:
|
|
509
|
+
cc/claude-opus-4-6
|
|
510
|
+
cc/claude-sonnet-4-5-20250929
|
|
511
|
+
cc/claude-haiku-4-5-20251001
|
|
512
|
+
```
|
|
513
|
+
|
|
514
|
+
**نصيحة احترافية:** استخدم Opus للمهام المعقدة، وSonnet للسرعة. OmniRoute يتتبع الحصة لكل نموذج!
|
|
515
|
+
|
|
516
|
+
### OpenAI Codex (Plus/Pro)
|
|
517
|
+
|
|
518
|
+
```bash
|
|
519
|
+
Dashboard → Providers → Connect Codex
|
|
520
|
+
→ OAuth login (port 1455)
|
|
521
|
+
→ 5-hour + weekly reset
|
|
522
|
+
|
|
523
|
+
Models:
|
|
524
|
+
cx/gpt-5.2-codex
|
|
525
|
+
cx/gpt-5.1-codex-max
|
|
526
|
+
```
|
|
527
|
+
|
|
528
|
+
### Gemini CLI (180 ألفًا شهريًا مجانًا!)
|
|
529
|
+
|
|
530
|
+
```bash
|
|
531
|
+
Dashboard → Providers → Connect Gemini CLI
|
|
532
|
+
→ Google OAuth
|
|
533
|
+
→ 180K completions/month + 1K/day
|
|
534
|
+
|
|
535
|
+
Models:
|
|
536
|
+
gc/gemini-3-flash-preview
|
|
537
|
+
gc/gemini-2.5-pro
|
|
538
|
+
```
|
|
539
|
+
|
|
540
|
+
**أفضل قيمة:** طبقة مجانية ضخمة! استخدم هذا قبل المستويات المدفوعة.
|
|
541
|
+
|
|
542
|
+
### مساعد جيثب
|
|
543
|
+
|
|
544
|
+
```bash
|
|
545
|
+
Dashboard → Providers → Connect GitHub
|
|
546
|
+
→ OAuth via GitHub
|
|
547
|
+
→ Monthly reset (1st of month)
|
|
548
|
+
|
|
549
|
+
Models:
|
|
550
|
+
gh/gpt-5
|
|
551
|
+
gh/claude-4.5-sonnet
|
|
552
|
+
gh/gemini-3-pro
|
|
553
|
+
```
|
|
554
|
+
|
|
555
|
+
</details>
|
|
556
|
+
|
|
557
|
+
<details>
|
|
558
|
+
<summary><b>🔑 موفري مفاتيح واجهة برمجة التطبيقات</b></summary>
|
|
559
|
+
|
|
560
|
+
### NVIDIA NIM (1000 نقطة مجانية!)
|
|
561
|
+
|
|
562
|
+
1. قم بالتسجيل: [build.nvidia.com](https://build.nvidia.com)
|
|
563
|
+
2. احصل على مفتاح واجهة برمجة التطبيقات (API) مجانًا (يتضمن 1000 نقطة استدلال)
|
|
564
|
+
3. لوحة المعلومات → إضافة موفر → NVIDIA NIM:
|
|
565
|
+
- مفتاح واجهة برمجة التطبيقات: `nvapi-your-key`
|
|
566
|
+
|
|
567
|
+
**النماذج:** `nvidia/llama-3.3-70b-instruct`، `nvidia/mistral-7b-instruct`، وأكثر من 50 طرازًا آخر
|
|
568
|
+
|
|
569
|
+
**نصيحة احترافية:** واجهة برمجة التطبيقات المتوافقة مع OpenAI — تعمل بسلاسة مع ترجمة تنسيق OmniRoute!
|
|
570
|
+
|
|
571
|
+
### ديب سيك
|
|
572
|
+
|
|
573
|
+
1. قم بالتسجيل: [platform.deepseek.com](https://platform.deepseek.com)
|
|
574
|
+
2. احصل على مفتاح API
|
|
575
|
+
3. لوحة المعلومات → إضافة موفر → DeepSeek
|
|
576
|
+
|
|
577
|
+
**النماذج:** `deepseek/deepseek-chat`, `deepseek/deepseek-coder`
|
|
578
|
+
|
|
579
|
+
### Groq (الطبقة المجانية متاحة!)
|
|
580
|
+
|
|
581
|
+
1. قم بالتسجيل: [console.groq.com](https://console.groq.com)
|
|
582
|
+
2. احصل على مفتاح API (الطبقة المجانية متضمنة)
|
|
583
|
+
3. لوحة المعلومات → إضافة موفر → Groq
|
|
584
|
+
|
|
585
|
+
**النماذج:** `groq/llama-3.3-70b`, `groq/mixtral-8x7b`
|
|
586
|
+
|
|
587
|
+
**نصيحة احترافية:** استنتاج فائق السرعة — الأفضل للبرمجة في الوقت الفعلي!
|
|
588
|
+
|
|
589
|
+
### OpenRouter (+100 موديل)
|
|
590
|
+
|
|
591
|
+
1. قم بالتسجيل: [openrouter.ai](https://openrouter.ai)
|
|
592
|
+
2. احصل على مفتاح API
|
|
593
|
+
3. لوحة المعلومات → إضافة موفر → OpenRouter
|
|
594
|
+
|
|
595
|
+
**النماذج:** يمكنك الوصول إلى أكثر من 100 نموذج من جميع المزودين الرئيسيين من خلال مفتاح واجهة برمجة التطبيقات (API) واحد.
|
|
596
|
+
|
|
597
|
+
</details>
|
|
598
|
+
|
|
599
|
+
<details>
|
|
600
|
+
<summary><b>💰 مقدمو الخدمة الرخيصة (النسخ الاحتياطي)</b></summary>
|
|
601
|
+
|
|
602
|
+
### GLM-4.7 (إعادة التعيين اليومي، 0.6 دولار/1 مليون)
|
|
603
|
+
|
|
604
|
+
1. قم بالتسجيل: [Zhipu AI](https://open.bigmodel.cn/)
|
|
605
|
+
2. احصل على مفتاح API من خطة الترميز
|
|
606
|
+
3. لوحة المعلومات → إضافة مفتاح واجهة برمجة التطبيقات:
|
|
607
|
+
- المزود: `glm`
|
|
608
|
+
- مفتاح واجهة برمجة التطبيقات: `your-key`
|
|
609
|
+
|
|
610
|
+
**الاستخدام:** `glm/glm-4.7`
|
|
611
|
+
|
|
612
|
+
**نصيحة احترافية:** توفر خطة البرمجة حصة 3× بتكلفة 1/7! إعادة الضبط يوميًا الساعة 10:00 صباحًا.
|
|
613
|
+
|
|
614
|
+
### MiniMax M2.1 (إعادة الضبط لمدة 5 ساعات، 0.20 دولار/1 مليون)
|
|
615
|
+
|
|
616
|
+
1. قم بالتسجيل: [MiniMax](https://www.minimax.io/)
|
|
617
|
+
2. احصل على مفتاح API
|
|
618
|
+
3. لوحة المعلومات → إضافة مفتاح API
|
|
619
|
+
|
|
620
|
+
**الاستخدام:** `minimax/MiniMax-M2.1`
|
|
621
|
+
|
|
622
|
+
**نصيحة احترافية:** الخيار الأرخص للسياق الطويل (مليون رمز)!
|
|
623
|
+
|
|
624
|
+
### كيمي K2 (شقة بقيمة 9 دولارات شهريًا)
|
|
625
|
+
|
|
626
|
+
1. الاشتراك: [Moonshot AI](https://platform.moonshot.ai/)
|
|
627
|
+
2. احصل على مفتاح API
|
|
628
|
+
3. لوحة المعلومات → إضافة مفتاح API
|
|
629
|
+
|
|
630
|
+
**الاستخدام:** `kimi/kimi-latest`
|
|
631
|
+
|
|
632
|
+
**نصيحة احترافية:** سعر ثابت قدره 9 دولارات شهريًا مقابل 10 ملايين رمز مميز = 0.90 دولارًا أمريكيًا/مليون تكلفة فعالة!
|
|
633
|
+
|
|
634
|
+
</details>
|
|
635
|
+
|
|
636
|
+
<details>
|
|
637
|
+
<summary><b>🆓 موفرو الخدمة المجانية (النسخ الاحتياطي في حالات الطوارئ)</b></summary>
|
|
638
|
+
|
|
639
|
+
### iFlow (8 نماذج مجانية)
|
|
640
|
+
|
|
641
|
+
```bash
|
|
642
|
+
Dashboard → Connect iFlow
|
|
643
|
+
→ iFlow OAuth login
|
|
644
|
+
→ Unlimited usage
|
|
645
|
+
|
|
646
|
+
Models:
|
|
647
|
+
if/kimi-k2-thinking
|
|
648
|
+
if/qwen3-coder-plus
|
|
649
|
+
if/glm-4.7
|
|
650
|
+
if/minimax-m2
|
|
651
|
+
if/deepseek-r1
|
|
652
|
+
```
|
|
653
|
+
|
|
654
|
+
### كوين (3 موديلات مجانية)
|
|
655
|
+
|
|
656
|
+
```bash
|
|
657
|
+
Dashboard → Connect Qwen
|
|
658
|
+
→ Device code authorization
|
|
659
|
+
→ Unlimited usage
|
|
660
|
+
|
|
661
|
+
Models:
|
|
662
|
+
qw/qwen3-coder-plus
|
|
663
|
+
qw/qwen3-coder-flash
|
|
664
|
+
```
|
|
665
|
+
|
|
666
|
+
### كيرو (كلود فري)
|
|
667
|
+
|
|
668
|
+
```bash
|
|
669
|
+
Dashboard → Connect Kiro
|
|
670
|
+
→ AWS Builder ID or Google/GitHub
|
|
671
|
+
→ Unlimited usage
|
|
672
|
+
|
|
673
|
+
Models:
|
|
674
|
+
kr/claude-sonnet-4.5
|
|
675
|
+
kr/claude-haiku-4.5
|
|
676
|
+
```
|
|
677
|
+
|
|
678
|
+
</details>
|
|
679
|
+
|
|
680
|
+
<details>
|
|
681
|
+
<summary><b>🎨 إنشاء مجموعات</b></summary>
|
|
682
|
+
|
|
683
|
+
### مثال 1: زيادة الاشتراك إلى الحد الأقصى → النسخ الاحتياطي الرخيص
|
|
684
|
+
|
|
685
|
+
```
|
|
686
|
+
Dashboard → Combos → Create New
|
|
687
|
+
|
|
688
|
+
Name: premium-coding
|
|
689
|
+
Models:
|
|
690
|
+
1. cc/claude-opus-4-6 (Subscription primary)
|
|
691
|
+
2. glm/glm-4.7 (Cheap backup, $0.6/1M)
|
|
692
|
+
3. minimax/MiniMax-M2.1 (Cheapest fallback, $0.20/1M)
|
|
693
|
+
|
|
694
|
+
Use in CLI: premium-coding
|
|
695
|
+
```
|
|
696
|
+
|
|
697
|
+
### المثال 2: مجاني فقط (بدون تكلفة)
|
|
698
|
+
|
|
699
|
+
```
|
|
700
|
+
Name: free-combo
|
|
701
|
+
Models:
|
|
702
|
+
1. gc/gemini-3-flash-preview (180K free/month)
|
|
703
|
+
2. if/kimi-k2-thinking (unlimited)
|
|
704
|
+
3. qw/qwen3-coder-plus (unlimited)
|
|
705
|
+
|
|
706
|
+
Cost: $0 forever!
|
|
707
|
+
```
|
|
708
|
+
|
|
709
|
+
</details>
|
|
710
|
+
|
|
711
|
+
<details>
|
|
712
|
+
<summary><b>🔧 تكامل واجهة سطر الأوامر</b></summary>
|
|
713
|
+
|
|
714
|
+
### بيئة تطوير متكاملة للمؤشر
|
|
715
|
+
|
|
716
|
+
```
|
|
717
|
+
Settings → Models → Advanced:
|
|
718
|
+
OpenAI API Base URL: http://localhost:20128/v1
|
|
719
|
+
OpenAI API Key: [from OmniRoute dashboard]
|
|
720
|
+
Model: cc/claude-opus-4-6
|
|
721
|
+
```
|
|
722
|
+
|
|
723
|
+
### كلود كود
|
|
724
|
+
|
|
725
|
+
استخدم صفحة **أدوات CLI** في لوحة المعلومات للتكوين بنقرة واحدة، أو قم بتحرير `~/.claude/settings.json` يدويًا.
|
|
726
|
+
|
|
727
|
+
### كوديكس سطر الأوامر
|
|
728
|
+
|
|
729
|
+
```bash
|
|
730
|
+
export OPENAI_BASE_URL="http://localhost:20128"
|
|
731
|
+
export OPENAI_API_KEY="your-omniroute-api-key"
|
|
732
|
+
|
|
733
|
+
codex "your prompt"
|
|
734
|
+
```
|
|
735
|
+
|
|
736
|
+
### OpenClaw
|
|
737
|
+
|
|
738
|
+
**الخيار 1 — لوحة التحكم (مستحسن):**
|
|
739
|
+
|
|
740
|
+
```
|
|
741
|
+
Dashboard → CLI Tools → OpenClaw → Select Model → Apply
|
|
742
|
+
```
|
|
743
|
+
|
|
744
|
+
**الخيار 2 — يدويًا:** تحرير `~/.openclaw/openclaw.json`:
|
|
745
|
+
|
|
746
|
+
```json
|
|
747
|
+
{
|
|
748
|
+
"models": {
|
|
749
|
+
"providers": {
|
|
750
|
+
"omniroute": {
|
|
751
|
+
"baseUrl": "http://127.0.0.1:20128/v1",
|
|
752
|
+
"apiKey": "sk_omniroute",
|
|
753
|
+
"api": "openai-completions"
|
|
754
|
+
}
|
|
755
|
+
}
|
|
756
|
+
}
|
|
757
|
+
}
|
|
758
|
+
```
|
|
759
|
+
|
|
760
|
+
> **ملاحظة:** يعمل OpenClaw فقط مع OmniRoute المحلي. استخدم `127.0.0.1` بدلاً من `localhost` لتجنب مشكلات دقة IPv6.
|
|
761
|
+
|
|
762
|
+
### كلاين / متابعة / RooCode
|
|
763
|
+
|
|
764
|
+
```
|
|
765
|
+
Settings → API Configuration:
|
|
766
|
+
Provider: OpenAI Compatible
|
|
767
|
+
Base URL: http://localhost:20128/v1
|
|
768
|
+
API Key: [from OmniRoute dashboard]
|
|
769
|
+
Model: if/kimi-k2-thinking
|
|
770
|
+
```
|
|
771
|
+
|
|
772
|
+
</details>
|
|
773
|
+
|
|
774
|
+
---
|
|
775
|
+
|
|
776
|
+
## 📊 الموديلات المتوفرة
|
|
777
|
+
|
|
778
|
+
<details>
|
|
779
|
+
<summary><b>عرض جميع الموديلات المتاحة</b></summary>
|
|
780
|
+
|
|
781
|
+
**كود كلود (`cc/`)** - Pro/Max:
|
|
782
|
+
|
|
783
|
+
- `cc/claude-opus-4-6`
|
|
784
|
+
- `cc/claude-sonnet-4-5-20250929`
|
|
785
|
+
- `cc/claude-haiku-4-5-20251001`
|
|
786
|
+
|
|
787
|
+
**المخطوطة (`cx/`)** - Plus/Pro:
|
|
788
|
+
|
|
789
|
+
- `cx/gpt-5.2-codex`
|
|
790
|
+
- `cx/gpt-5.1-codex-max`
|
|
791
|
+
|
|
792
|
+
**Gemini CLI (`gc/`)** - مجانًا:
|
|
793
|
+
|
|
794
|
+
- `gc/gemini-3-flash-preview`
|
|
795
|
+
- `gc/gemini-2.5-pro`
|
|
796
|
+
|
|
797
|
+
**مساعد جيثب (`gh/`)**:
|
|
798
|
+
|
|
799
|
+
- `gh/gpt-5`
|
|
800
|
+
- `gh/claude-4.5-sonnet`
|
|
801
|
+
|
|
802
|
+
**NVIDIA NIM (`nvidia/`)** - أرصدة مجانية:
|
|
803
|
+
|
|
804
|
+
- `nvidia/llama-3.3-70b-instruct`
|
|
805
|
+
- `nvidia/mistral-7b-instruct`
|
|
806
|
+
- أكثر من 50 طرازًا آخر على [build.nvidia.com](https://build.nvidia.com)
|
|
807
|
+
|
|
808
|
+
**GLM (`glm/`)** - 0.6 دولار/مليون:
|
|
809
|
+
|
|
810
|
+
- `glm/glm-4.7`
|
|
811
|
+
|
|
812
|
+
**MiniMax (`minimax/`)** - 0.2 دولار/1 مليون:
|
|
813
|
+
|
|
814
|
+
- `minimax/MiniMax-M2.1`
|
|
815
|
+
|
|
816
|
+
**iFlow (`if/`)** - مجانًا:
|
|
817
|
+
|
|
818
|
+
- `if/kimi-k2-thinking`
|
|
819
|
+
- `if/qwen3-coder-plus`
|
|
820
|
+
- `if/deepseek-r1`
|
|
821
|
+
- `if/glm-4.7`
|
|
822
|
+
- `if/minimax-m2`
|
|
823
|
+
|
|
824
|
+
**كوين (`qw/`)** - مجانًا:
|
|
825
|
+
|
|
826
|
+
- `qw/qwen3-coder-plus`
|
|
827
|
+
- `qw/qwen3-coder-flash`
|
|
828
|
+
|
|
829
|
+
**كيرو (`kr/`)** - مجانًا:
|
|
830
|
+
|
|
831
|
+
- `kr/claude-sonnet-4.5`
|
|
832
|
+
- `kr/claude-haiku-4.5`
|
|
833
|
+
|
|
834
|
+
**OpenRouter (`or/`)** - أكثر من 100 طراز:
|
|
835
|
+
|
|
836
|
+
- `or/anthropic/claude-4-sonnet`
|
|
837
|
+
- `or/google/gemini-2.5-pro`
|
|
838
|
+
- أي موديل من [openrouter.ai/models](https://openrouter.ai/models)
|
|
839
|
+
|
|
840
|
+
</details>
|
|
841
|
+
|
|
842
|
+
---
|
|
843
|
+
|
|
844
|
+
## 🧪 التقييمات (التقييمات)
|
|
845
|
+
|
|
846
|
+
يشتمل OmniRoute على إطار تقييم مدمج لاختبار جودة استجابة LLM مقابل المجموعة الذهبية. يمكنك الوصول إليه عبر **Analytics → Evals** في لوحة التحكم.
|
|
847
|
+
|
|
848
|
+
### الطقم الذهبي المدمج
|
|
849
|
+
|
|
850
|
+
تحتوي "OmniRoute Golden Set" المحملة مسبقًا على 10 حالات اختبار تغطي:
|
|
851
|
+
|
|
852
|
+
- تحياتي، الرياضيات، الجغرافيا، توليد التعليمات البرمجية
|
|
853
|
+
- الامتثال لتنسيق JSON والترجمة وتخفيض السعر
|
|
854
|
+
- رفض السلامة (المحتوى الضار)، العد، المنطق المنطقي
|
|
855
|
+
|
|
856
|
+
### استراتيجيات التقييم
|
|
857
|
+
|
|
858
|
+
| استراتيجية | الوصف | مثال |
|
|
859
|
+
| ---------- | ------------------------------------------------------------- | -------------------------------- |
|
|
860
|
+
| `exact` | يجب أن يتطابق الإخراج تمامًا مع | `"4"` |
|
|
861
|
+
| `contains` | يجب أن يحتوي الإخراج على سلسلة فرعية (غير حساسة لحالة الأحرف) | `"Paris"` |
|
|
862
|
+
| `regex` | يجب أن يتطابق الإخراج مع نمط regex | `"1.*2.*3"` |
|
|
863
|
+
| `custom` | ترجع دالة JS المخصصة صواب/خطأ | `(output) => output.length > 10` |
|
|
864
|
+
|
|
865
|
+
---
|
|
866
|
+
|
|
867
|
+
## 🔐 OAuth em Servidor Remoto (إعداد OAuth عن بعد)
|
|
868
|
+
|
|
869
|
+
<a name="oauth-em-servidor-remoto"></a>
|
|
870
|
+
|
|
871
|
+
> **⚠️ هام لمستخدمي OmniRoute على VPS/Docker/servidor عن بعد**
|
|
872
|
+
|
|
873
|
+
### لماذا OAuth يفعل Antigravity / Gemini CLI في الخوادم البعيدة؟
|
|
874
|
+
|
|
875
|
+
تم إثبات **Antigravity** e **Gemini CLI** باستخدام **Google OAuth 2.0** للمصادقة. تطلب Google أن يتم استخدام `redirect_uri` دون تدفق OAuth ** على وجه التحديد ** إلى معرفات URI السابقة للمسح في تطبيق Google Cloud Console.
|
|
876
|
+
|
|
877
|
+
نظرًا لأن اعتمادات OAuth المُدمجة ليست في OmniRoute، فهي عبارة عن سجلات \*\*apenas لـ عندما تصل إلى OmniRoute من خادم بعيد (على سبيل المثال: `https://omniroute.meuservidor.com`)، تحصل Google على مصادقة عبر:
|
|
878
|
+
|
|
879
|
+
```
|
|
880
|
+
Error 400: redirect_uri_mismatch
|
|
881
|
+
```
|
|
882
|
+
|
|
883
|
+
### الحل: تكوين OAuth الخاص بك
|
|
884
|
+
|
|
885
|
+
يجب عليك إنشاء **OAuth 2.0 Client ID** على Google Cloud Console باستخدام URI لخادمك.
|
|
886
|
+
|
|
887
|
+
#### باسو باسو
|
|
888
|
+
|
|
889
|
+
**1. الوصول إلى Google Cloud Console**
|
|
890
|
+
|
|
891
|
+
العبرة: [https://console.cloud.google.com/apis/credentials](https://console.cloud.google.com/apis/credentials)
|
|
892
|
+
|
|
893
|
+
**2. طلب معرف عميل OAuth 2.0 **
|
|
894
|
+
|
|
895
|
+
- انقر على **"+ إنشاء بيانات الاعتماد"** → **"معرف عميل OAuth"**
|
|
896
|
+
- نوع التطبيق: **"تطبيق ويب"**
|
|
897
|
+
- الاسم: اسم escolha qualquer (على سبيل المثال: `OmniRoute Remote`)
|
|
898
|
+
|
|
899
|
+
**3. Adicione كمحددات URI لإعادة التوجيه المعتمدة**
|
|
900
|
+
|
|
901
|
+
ليس هناك مجال **"عناوين URI لإعادة التوجيه المعتمدة"**، أضف:
|
|
902
|
+
|
|
903
|
+
```
|
|
904
|
+
https://seu-servidor.com/callback
|
|
905
|
+
```
|
|
906
|
+
|
|
907
|
+
> استبدال `seu-servidor.com` بنطاقك أو IP الخاص بخادمك (بما في ذلك البوابة الضرورية، على سبيل المثال: `http://45.33.32.156:20128/callback`).
|
|
908
|
+
|
|
909
|
+
**4. حفظ ونسخ كمعتمدة**
|
|
910
|
+
|
|
911
|
+
وبعد ذلك، قم بإنشاء أو عرض Google o **معرف العميل** أو **سر العميل**.
|
|
912
|
+
|
|
913
|
+
**5. تكوين كمتغيرات البيئة **
|
|
914
|
+
|
|
915
|
+
لا يوجد `.env` (أو متغيرات بيئة Docker):
|
|
916
|
+
|
|
917
|
+
```bash
|
|
918
|
+
# Para Antigravity:
|
|
919
|
+
ANTIGRAVITY_OAUTH_CLIENT_ID=seu-client-id.apps.googleusercontent.com
|
|
920
|
+
ANTIGRAVITY_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret
|
|
921
|
+
|
|
922
|
+
# Para Gemini CLI:
|
|
923
|
+
GEMINI_OAUTH_CLIENT_ID=seu-client-id.apps.googleusercontent.com
|
|
924
|
+
GEMINI_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret
|
|
925
|
+
GEMINI_CLI_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret
|
|
926
|
+
```
|
|
927
|
+
|
|
928
|
+
**6. Reinicie أو OmniRoute**
|
|
929
|
+
|
|
930
|
+
```bash
|
|
931
|
+
# Se usando npm:
|
|
932
|
+
npm run dev
|
|
933
|
+
|
|
934
|
+
# Se usando Docker:
|
|
935
|
+
docker restart omniroute
|
|
936
|
+
```
|
|
937
|
+
|
|
938
|
+
**7. خيمة تواصل جديدة**
|
|
939
|
+
|
|
940
|
+
لوحة المعلومات → الموفرون → Antigravity (ou Gemini CLI) → OAuth
|
|
941
|
+
|
|
942
|
+
Agora o Google redirecionará corretamente para `https://seu-servidor.com/callback` e a autenticação funcionará.
|
|
943
|
+
|
|
944
|
+
---
|
|
945
|
+
|
|
946
|
+
### الحل المؤقت (لم يتم تكوين الاعتمادات الخاصة)
|
|
947
|
+
|
|
948
|
+
إذا لم ترغب في إنشاء بيانات اعتماد خاصة بك منذ الآن، فمن الممكن استخدام التدفق **دليل URL**:
|
|
949
|
+
|
|
950
|
+
1. يفتح OmniRoute عنوان URL لتفويض Google
|
|
951
|
+
2. قم بتفويض Google لإعادة التوجيه إلى `localhost` (لا يوجد خادم عن بعد)
|
|
952
|
+
3. **انسخ عنوان URL كاملاً** من شريط الإدخال في متصفحك (حتى لا يتم نقل الصفحة)
|
|
953
|
+
4. هذا هو عنوان URL الذي يظهر في وضع الاتصال بـ OmniRoute
|
|
954
|
+
5. انقر على **"الاتصال"**
|
|
955
|
+
|
|
956
|
+
> يعمل هذا الحل البديل لأن رمز التفويض الموجود على عنوان URL يكون صالحًا بشكل مستقل لإعادة التوجيه حيث يتم تحميله أو لا.
|
|
957
|
+
|
|
958
|
+
---
|
|
959
|
+
|
|
960
|
+
## 🐛 استكشاف الأخطاء وإصلاحها
|
|
961
|
+
|
|
962
|
+
<details>
|
|
963
|
+
<summary><b>انقر لتوسيع دليل استكشاف الأخطاء وإصلاحها</b></summary>
|
|
964
|
+
|
|
965
|
+
**"نموذج اللغة لم يقدم رسائل"**
|
|
966
|
+
|
|
967
|
+
- استنفدت حصة الموفر → تحقق من تعقب حصة الموفر في لوحة المعلومات
|
|
968
|
+
- الحل: استخدم خيار التحرير والسرد الاحتياطي أو قم بالتبديل إلى مستوى أرخص
|
|
969
|
+
|
|
970
|
+
** الحد من المعدل **
|
|
971
|
+
|
|
972
|
+
- حصة الاشتراك المحددة → الرجوع إلى GLM/MiniMax
|
|
973
|
+
- إضافة التحرير والسرد: `cc/claude-opus-4-6 → glm/glm-4.7 → if/kimi-k2-thinking`
|
|
974
|
+
|
|
975
|
+
** انتهت صلاحية رمز OAuth **
|
|
976
|
+
|
|
977
|
+
- يتم التحديث تلقائيًا بواسطة OmniRoute
|
|
978
|
+
- إذا استمرت المشكلات: لوحة المعلومات → الموفر → إعادة الاتصال
|
|
979
|
+
|
|
980
|
+
**تكاليف مرتفعة**
|
|
981
|
+
|
|
982
|
+
- التحقق من إحصائيات الاستخدام في لوحة المعلومات → التكاليف
|
|
983
|
+
- تبديل النموذج الأساسي إلى GLM/MiniMax
|
|
984
|
+
- استخدم الطبقة المجانية (Gemini CLI، iFlow) للمهام غير الحرجة
|
|
985
|
+
|
|
986
|
+
** لوحة المعلومات تفتح على منفذ خاطئ **
|
|
987
|
+
|
|
988
|
+
- اضبط `PORT=20128` و`NEXT_PUBLIC_BASE_URL=http://localhost:20128`
|
|
989
|
+
|
|
990
|
+
**أخطاء المزامنة السحابية**
|
|
991
|
+
|
|
992
|
+
- تحقق من نقاط `BASE_URL` لمثيلك قيد التشغيل
|
|
993
|
+
- تحقق من نقاط `CLOUD_URL` إلى نقطة نهاية السحابة المتوقعة
|
|
994
|
+
- احتفظ بقيم `NEXT_PUBLIC_*` متوافقة مع القيم من جانب الخادم
|
|
995
|
+
|
|
996
|
+
**تسجيل الدخول الأول لا يعمل**
|
|
997
|
+
|
|
998
|
+
- تحقق من `INITIAL_PASSWORD` في `.env`
|
|
999
|
+
- في حالة عدم تعيينها، تكون كلمة المرور الاحتياطية هي `123456`
|
|
1000
|
+
|
|
1001
|
+
** لا توجد سجلات الطلب **
|
|
1002
|
+
|
|
1003
|
+
- اضبط `ENABLE_REQUEST_LOGS=true` في `.env`
|
|
1004
|
+
|
|
1005
|
+
**يظهر اختبار الاتصال "غير صالح" لمقدمي الخدمات المتوافقين مع OpenAI**
|
|
1006
|
+
|
|
1007
|
+
- لا يكشف العديد من مقدمي الخدمة عن نقطة النهاية `/models`
|
|
1008
|
+
- يتضمن OmniRoute v1.0.6+ التحقق الاحتياطي من خلال إكمال الدردشة
|
|
1009
|
+
- تأكد من أن عنوان URL الأساسي يتضمن اللاحقة `/v1`
|
|
1010
|
+
|
|
1011
|
+
</details>
|
|
1012
|
+
|
|
1013
|
+
---
|
|
1014
|
+
|
|
1015
|
+
## 🛠️ تيك ستاك
|
|
1016
|
+
|
|
1017
|
+
- **وقت التشغيل**: Node.js 18–22 LTS (⚠️ Node.js 24+ **غير مدعومة** — `better-sqlite3` الثنائيات الأصلية غير متوافقة)
|
|
1018
|
+
- **اللغة**: TypeScript 5.9 — **TypeScript بنسبة 100%** عبر `src/` و`open-sse/` (الإصدار 1.0.6)
|
|
1019
|
+
- **الإطار**: Next.js 16 + React 19 + Tailwind CSS 4
|
|
1020
|
+
- **قاعدة البيانات**: LowDB (JSON) + SQLite (حالة المجال + سجلات الوكيل)
|
|
1021
|
+
- **البث**: الأحداث المرسلة من الخادم (SSE)
|
|
1022
|
+
- **المصادقة**: OAuth 2.0 (PKCE) + JWT + مفاتيح API
|
|
1023
|
+
- **الاختبار**: مشغل اختبار Node.js (أكثر من 368 اختبارًا للوحدة)
|
|
1024
|
+
- **CI/CD**: إجراءات GitHub (نشر npm التلقائي + Docker Hub عند الإصدار)
|
|
1025
|
+
- **الموقع الإلكتروني**: [omniroute.online](https://omniroute.online)
|
|
1026
|
+
- **الحزمة**: [npmjs.com/package/omniroute](https://www.npmjs.com/package/omniroute)
|
|
1027
|
+
- **عامل الميناء**: [hub.docker.com/r/diegosouzapw/omniroute](https://hub.docker.com/r/diegosouzapw/omniroute)
|
|
1028
|
+
- **المرونة**: قاطع الدائرة الكهربائية، والتراجع الأسي، وقطيع مضاد للرعد، وانتحال TLS
|
|
1029
|
+
|
|
1030
|
+
---
|
|
1031
|
+
|
|
1032
|
+
## 📖 التوثيق
|
|
1033
|
+
|
|
1034
|
+
| وثيقة | الوصف |
|
|
1035
|
+
| -------------------------------------------- | --------------------------------------------- |
|
|
1036
|
+
| [User Guide](docs/USER_GUIDE.md) | مقدمو الخدمات، والمجموعات، وتكامل CLI، والنشر |
|
|
1037
|
+
| [API Reference](docs/API_REFERENCE.md) | جميع نقاط النهاية مع الأمثلة |
|
|
1038
|
+
| [Troubleshooting](docs/TROUBLESHOOTING.md) | المشاكل والحلول الشائعة |
|
|
1039
|
+
| [Architecture](docs/ARCHITECTURE.md) | بنية النظام والداخلية |
|
|
1040
|
+
| [Contributing](CONTRIBUTING.md) | إعداد التطوير والمبادئ التوجيهية |
|
|
1041
|
+
| [OpenAPI Spec](docs/openapi.yaml) | مواصفات OpenAPI 3.0 |
|
|
1042
|
+
| [Security Policy](SECURITY.md) | الإبلاغ عن الثغرات الأمنية والممارسات الأمنية |
|
|
1043
|
+
| [VM Deployment](docs/VM_DEPLOYMENT_GUIDE.md) | الدليل الكامل: إعداد VM + nginx + Cloudflare |
|
|
1044
|
+
| [Features Gallery](docs/FEATURES.md) | جولة لوحة القيادة المرئية مع لقطات الشاشة |
|
|
1045
|
+
|
|
1046
|
+
### 📸 معاينة لوحة التحكم
|
|
1047
|
+
|
|
1048
|
+
<details>
|
|
1049
|
+
<summary><b>انقر لرؤية لقطات شاشة لوحة المعلومات</b></summary>
|
|
1050
|
+
|
|
1051
|
+
| صفحة | لقطة شاشة |
|
|
1052
|
+
| --------------------- | ------------------------------------------------- |
|
|
1053
|
+
| ** مقدمو الخدمة ** |  |
|
|
1054
|
+
| **المجموعات** |  |
|
|
1055
|
+
| **تحليلات** |  |
|
|
1056
|
+
| **الصحة** |  |
|
|
1057
|
+
| **مترجم** |  |
|
|
1058
|
+
| **الإعدادات** |  |
|
|
1059
|
+
| **أدوات سطر الأوامر** |  |
|
|
1060
|
+
| **سجلات الاستخدام** |  |
|
|
1061
|
+
| **نقطة النهاية** |  |
|
|
1062
|
+
|
|
1063
|
+
</details>
|
|
1064
|
+
|
|
1065
|
+
---
|
|
1066
|
+
|
|
1067
|
+
## 🗺️خريطة الطريق
|
|
1068
|
+
|
|
1069
|
+
يحتوي OmniRoute على **210+ ميزات مخطط لها** عبر مراحل تطوير متعددة. فيما يلي المجالات الرئيسية:
|
|
1070
|
+
|
|
1071
|
+
| الفئة | الميزات المخططة | أبرز الأحداث |
|
|
1072
|
+
| --------------------------- | --------------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
1073
|
+
| 🧠 **التوجيه والاستخبارات** | 25+ | التوجيه ذو زمن الاستجابة الأقل، والتوجيه القائم على العلامات، والاختبار المبدئي للحصة، واختيار حساب P2C |
|
|
1074
|
+
| 🔒 **الأمان والامتثال** | 20+ | تقوية SSRF، وإخفاء بيانات الاعتماد، والحد الأقصى للمعدل لكل نقطة نهاية، وتحديد نطاق مفتاح الإدارة |
|
|
1075
|
+
| 📊 **قابلية الملاحظة** | 15+ | تكامل OpenTelemetry ومراقبة الحصص في الوقت الفعلي وتتبع التكلفة لكل نموذج |
|
|
1076
|
+
| 🔄 **تكامل الموفر** | 20+ | تسجيل النموذج الديناميكي، فترات تهدئة الموفر، الدستور الغذائي متعدد الحسابات، تحليل حصة الطيار المساعد |
|
|
1077
|
+
| ⚡ **الأداء** | 15+ | طبقة ذاكرة التخزين المؤقت المزدوجة، ذاكرة التخزين المؤقت السريعة، ذاكرة التخزين المؤقت للاستجابة، استمرار البث، واجهة برمجة التطبيقات الدفعية |
|
|
1078
|
+
| 🌐 **النظام البيئي** | 10+ | WebSocket API، إعادة تحميل التكوين السريع، مخزن التكوين الموزع، الوضع التجاري |
|
|
1079
|
+
|
|
1080
|
+
### 🔜قريبا
|
|
1081
|
+
|
|
1082
|
+
- 🔗 **تكامل OpenCode** — دعم الموفر الأصلي لـ OpenCode AI IDE للترميز
|
|
1083
|
+
- 🔗 **تكامل TRAE** — الدعم الكامل لإطار تطوير TRAE AI
|
|
1084
|
+
- 📦 **Batch API** — معالجة الدفعات غير المتزامنة للطلبات المجمعة
|
|
1085
|
+
- 🎯 **التوجيه المعتمد على العلامات** — توجيه الطلبات بناءً على العلامات المخصصة والبيانات الوصفية
|
|
1086
|
+
- 💰 **إستراتيجية أقل تكلفة** — تحديد أرخص مزود متاح تلقائيًا
|
|
1087
|
+
|
|
1088
|
+
> 📝 مواصفات الميزات الكاملة متوفرة في [link](docs/new-features/) (217 مواصفات تفصيلية)
|
|
1089
|
+
|
|
1090
|
+
---
|
|
1091
|
+
|
|
1092
|
+
## 📧 الدعم
|
|
1093
|
+
|
|
1094
|
+
> 💬 **انضم إلى مجتمعنا!** [WhatsApp Group](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) — احصل على المساعدة وشارك النصائح وابق على اطلاع.
|
|
1095
|
+
|
|
1096
|
+
- **الموقع الإلكتروني**: [omniroute.online](https://omniroute.online)
|
|
1097
|
+
- **جيثب**: [github.com/diegosouzapw/OmniRoute](https://github.com/diegosouzapw/OmniRoute)
|
|
1098
|
+
- **المشاكل**: [github.com/diegosouzapw/OmniRoute/issues](https://github.com/diegosouzapw/OmniRoute/issues)
|
|
1099
|
+
- **واتساب**: [Community Group](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t)
|
|
1100
|
+
- **المشروع الأصلي**: [9router by decolua](https://github.com/decolua/9router)
|
|
1101
|
+
|
|
1102
|
+
---
|
|
1103
|
+
|
|
1104
|
+
## 👥 المساهمون
|
|
1105
|
+
|
|
1106
|
+
[](https://github.com/diegosouzapw/OmniRoute/graphs/contributors)
|
|
1107
|
+
|
|
1108
|
+
### كيفية المساهمة
|
|
1109
|
+
|
|
1110
|
+
1. شوكة المستودع
|
|
1111
|
+
2. قم بإنشاء فرع الميزات الخاص بك (`git checkout -b feature/amazing-feature`)
|
|
1112
|
+
3. تنفيذ التغييرات (`git commit -m 'Add amazing feature'`)
|
|
1113
|
+
4. ادفع إلى الفرع (`git push origin feature/amazing-feature`)
|
|
1114
|
+
5. افتح طلب السحب
|
|
1115
|
+
|
|
1116
|
+
راجع [CONTRIBUTING.md](CONTRIBUTING.md) للحصول على إرشادات مفصلة.
|
|
1117
|
+
|
|
1118
|
+
### إطلاق نسخة جديدة
|
|
1119
|
+
|
|
1120
|
+
```bash
|
|
1121
|
+
# Create a release — npm publish happens automatically
|
|
1122
|
+
gh release create v1.0.6 --title "v1.0.6" --generate-notes
|
|
1123
|
+
```
|
|
1124
|
+
|
|
1125
|
+
---
|
|
1126
|
+
|
|
1127
|
+
## 📊 تاريخ النجوم
|
|
1128
|
+
|
|
1129
|
+
<a href="https://star-history.com/#diegosouzapw/OmniRoute&Date">
|
|
1130
|
+
<picture>
|
|
1131
|
+
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=diegosouzapw/OmniRoute&type=Date&theme=dark" />
|
|
1132
|
+
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=diegosouzapw/OmniRoute&type=Date" />
|
|
1133
|
+
<img alt="Star History Chart" src="https://api.star-history.com/svg?repos=diegosouzapw/OmniRoute&type=Date" />
|
|
1134
|
+
</picture>
|
|
1135
|
+
</a>
|
|
1136
|
+
|
|
1137
|
+
---
|
|
1138
|
+
|
|
1139
|
+
## 🙏 شكر وتقدير
|
|
1140
|
+
|
|
1141
|
+
شكر خاص لـ **[9router](https://github.com/decolua/9router)** بواسطة **[decolua](https://github.com/decolua)** — المشروع الأصلي الذي ألهم هذه الشوكة. يعتمد OmniRoute على هذا الأساس المذهل مع ميزات إضافية وواجهات برمجة التطبيقات متعددة الوسائط وإعادة كتابة TypeScript كاملة.
|
|
1142
|
+
|
|
1143
|
+
شكر خاص لـ **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** — تطبيق Go الأصلي الذي ألهم منفذ JavaScript هذا.
|
|
1144
|
+
|
|
1145
|
+
---
|
|
1146
|
+
|
|
1147
|
+
## 📄 الترخيص
|
|
1148
|
+
|
|
1149
|
+
ترخيص MIT - راجع [LICENSE](LICENSE) للحصول على التفاصيل.
|
|
1150
|
+
|
|
1151
|
+
---
|
|
1152
|
+
|
|
1153
|
+
---
|