{ "common": { "error": "خطا: {message}", "serverOffline": "سرور OmniRoute آفلاین است. با این دستور راهاندازی کنید: omniroute serve", "authRequired": "احراز هویت لازم است. OMNIROUTE_API_KEY را تنظیم کنید یا اجرا کنید: omniroute setup", "rateLimited": "محدودیت درخواست رسیده است. پس از {seconds} ثانیه دوباره تلاش کنید.", "timeout": "درخواست پس از {ms}ms منقضی شد.", "success": "انجام شد.", "yes": "بله", "no": "خیر", "confirm": "مطمئنید؟ (بله/خیر)", "dryRun": "[شبیهسازی] اقدام میشد: {action}", "cancelled": "لغو شد.", "jsonOpt": "خروجی به صورت JSON", "yesOpt": "رد کردن تأیید" }, "setup": { "title": "راهاندازی OmniRoute", "passwordPrompt": "رمز عبور مدیر", "providerPrompt": "ارائهدهنده پیشفرض (برای رد کردن خالی بگذارید)", "done": "راهاندازی کامل شد", "passwordSet": "رمز عبور مدیر پیکربندی شد", "providerSet": "ارائهدهنده پیکربندی شد: {name}", "testingProvider": "در حال آزمایش اتصال ارائهدهنده: {name}", "testPassed": "آزمایش ارائهدهنده موفق بود", "testFailed": "آزمایش ارائهدهنده ناموفق بود: {error}", "loginEnabled": "ورود: فعال (رمز عبور بهروزرسانی شد)", "loginDisabled": "ورود: غیرفعال", "providerInfo": "ارائهدهنده: {info}", "opencode": "نصب و پیکربندی @omniroute/opencode-plugin همراه برای OpenCode" }, "doctor": { "title": "عیبیاب OmniRoute", "dbOk": "پایگاه داده: سالم ({path})", "dbMissing": "پایگاه داده: مقداردهی اولیه نشده است — `omniroute setup` را اجرا کنید", "portOk": "درگاه {port}: در دسترس", "portConflict": "درگاه {port}: توسط فرایند دیگری در حال استفاده است", "encryptionOk": "کلید رمزنگاری: پیکربندی شده", "encryptionMissing": "کلید رمزنگاری موجود نیست — `omniroute setup` را اجرا کنید", "allGood": "همه بررسیها با موفقیت انجام شدند.", "warnings": "{count} هشدار — موارد بالا را ببینید." }, "providers": { "title": "ارائهدهندگان", "noProviders": "هیچ ارائهدهندهای پیکربندی نشده است. اجرا کنید: omniroute setup", "testing": "در حال آزمایش {name}...", "available": "{count} ارائهدهنده در دسترس است", "connected": "متصل", "disconnected": "قطعشده", "validationFailed": "اعتبارسنجی ناموفق بود: {error}", "metrics": { "description": "نمایش معیارهای عملکرد ارائهدهنده (تأخیر، نرخ موفقیت، هزینه)", "provider": "فیلتر بر اساس شناسه ارائهدهنده", "connection_id": "فیلتر بر اساس شناسه اتصال", "period": "بازه زمانی: 1h|6h|24h|7d|30d (پیشفرض: 24h)", "metric": "تمرکز بر یک فیلد معیار مشخص", "sort": "مرتبسازی بر اساس فیلد (نزولی)", "limit": "حداکثر تعداد ردیفها (پیشفرض: 50)", "watch": "بازآوری هر 5 ثانیه (حالت زنده)", "compare": "شناسههای ارائهدهندگان با جداکننده ویرگول برای مقایسه کنار هم" }, "metric_single": { "description": "دریافت یک مقدار معیار برای اتصالی مشخص" }, "rotate": { "description": "تعویض دورهای کلید API بالادستی برای اتصال ارائهدهنده", "newKeyOpt": "مقدار کلید API جدید (اجتناب کنید؛ ترجیحاً از --from-env استفاده کنید)", "fromEnvOpt": "کلید جدید را از متغیر محیطی VAR بخوانید", "oauthOpt": "در عوض، فرایند احراز هویت مجدد OAuth را آغاز کنید", "skipTestOpt": "از آزمون اتصال پس از چرخش صرفنظر کنید", "dryRunOpt": "بدون نوشتن تغییرات، آنچه تغییر میکند را نمایش دهید", "confirmPrompt": "کلید API اتصال «{name}» ({id}) جایگزین شود؟ [y/N]", "dryRunResult": "[dry-run] کلید اتصال «{name}» ({id}) چرخانده میشد. هیچ تغییری انجام نشد.", "oauthHint": "اتصال OAuth — اجرا کنید: omniroute oauth {provider}", "envVarEmpty": "متغیر محیطی {var} تنظیم نشده یا خالی است.", "success": "کلید «{name}» چرخانده شد. برای تأیید، `providers test {id}` را اجرا کنید.", "testPassed": "آزمون پس از چرخش موفق بود.", "testFailed": "آزمون پس از چرخش ناموفق بود: {error}" }, "status": { "description": "نمایش وضعیت سلامت کلید برای همهٔ اتصالهای ارائهدهندگان (سن، انقضا، دورهٔ انتظار)", "providerOpt": "فیلتر بر اساس نام ارائهدهنده", "header": "شناسه ارائهدهنده نام وضعیت انقضا وضعیت آزمون پایان دورهٔ انتظار", "noData": "هیچ دادهای برای اتصال ارائهدهنده موجود نیست.", "requiresServer": "برای providers status، سرور OmniRoute باید در حال اجرا باشد." } }, "keys": { "title": "کلیدهای API", "addDescription": "افزودن یا بهروزرسانی یک کلید API برای ارائهدهنده", "listDescription": "فهرست همهٔ کلیدهای API پیکربندیشده", "removeDescription": "حذف کلید API یک ارائهدهنده", "regenerateDescription": "تولید مجدد یک کلید API متعلق به OmniRoute", "revokeDescription": "لغو یک کلید API متعلق به OmniRoute", "revealDescription": "نمایش مقدار پنهاننشدهٔ کلید API", "usageDescription": "نمایش استفادههای اخیر از یک کلید API", "usageLimitOpt": "تعداد درخواستهای اخیر", "rotateDescription": "تولید کلید جدید و نامعتبر کردن کلید قبلی", "graceOpt": "مهلت ارفاقی (ms) پیش از نامعتبر شدن کلید قبلی", "stdinOpt": "خواندن کلید API از stdin بهجای آرگومان", "added": "کلید برای {provider} افزوده شد.", "removed": "کلید حذف شد.", "listed": "{count} کلید.", "noKeys": "هیچ کلیدی پیکربندی نشده است.", "noUsage": "هیچ دادهای دربارهٔ استفاده یافت نشد.", "confirmRemove": "کلید {id} حذف شود؟", "confirmRegenerate": "کلید {id} مجدداً تولید شود؟", "confirmRevoke": "کلید {id} لغو شود؟", "confirmRotate": "کلید {id} چرخانده شود؟ (کلید قبلی پس از مهلت ارفاقی نامعتبر خواهد شد)", "regenerated": "مجدداً تولید شد. کلید جدید: {key}", "revoked": "کلید {id} لغو شد.", "rotated": "کلید {id} چرخانده شد. شناسه کلید جدید: {newId}", "revealWarning": "⚠ این کار کلید کامل و بدون پوشش را نمایش میدهد. مطمئن شوید صفحهنمایشتان خصوصی است.", "providerRequired": "ارائهدهنده الزامی است.", "keyRequired": "کلید API الزامی است.", "stdinEmpty": "هیچ کلید API از طریق stdin ارائه نشده است.", "unknownProvider": "ارائهدهنده ناشناخته: {provider}", "policy": { "title": "سیاست کلید", "showDescription": "نمایش سیاست محدودیت نرخ/هزینه برای یک کلید", "setDescription": "تنظیم سیاست محدودیت نرخ/هزینه برای یک کلید", "rateLimitOpt": "حداکثر درخواست در دقیقه", "maxCostOpt": "حداکثر هزینه روزانه (USD)", "allowedModelsOpt": "فهرست مدلهای مجاز، با ویرگول از هم جداشده", "nothingToSet": "هیچ فیلدی برای سیاست ارائه نشده است. از --rate-limit، --max-cost یا --allowed-models استفاده کنید.", "updated": "سیاست بهروزرسانی شد." }, "expiration": { "title": "انقضای کلید", "listDescription": "فهرست کلیدهایی که بهزودی منقضی میشوند", "daysOpt": "نمایش کلیدهایی که ظرف N روز منقضی میشوند", "none": "هیچ کلیدی ظرف {days} روز منقضی نمیشود.", "listTitle": "کلیدهایی که ظرف {days} روز منقضی میشوند:" } }, "authExport": { "description": "برونبری اطلاعات احراز هویت رمزگشاییشده ارائهدهنده (فقط محلی، خروجی متن ساده)", "idOpt": "برونبری فقط اتصالی که با این شناسه/نام/ارائهدهنده مطابقت دارد", "formatOpt": "قالب خروجی: json یا env", "outOpt": "نوشتن خروجی در یک فایل بهجای stdout (با مجوزهای 0600 نوشته میشود)", "forceOpt": "تأیید کنید که میدانید این کار اسرار را بهصورت متن ساده نمایش میدهد/مینویسد", "warning": "⚠ این کار کلیدهای API و توکنهای OAuth رمزگشاییشده را بهصورت متن ساده نمایش میدهد/مینویسد. مطمئن شوید صفحهنمایش، تاریخچه پوسته و هر فایل خروجی شما خصوصی باقی میماند.", "confirmHeading": "⚠ هشدار: این کار اطلاعات احراز هویت رمزگشاییشده ارائهدهنده را بهصورت متن ساده برونبری میکند", "confirmBody": "این فرمان apiKey، accessToken، refreshToken و\nidToken را برای اتصال(های) انتخابشده رمزگشایی کرده و نمایش میدهد/مینویسد. با خروجی مانند یک راز برخورد کنید.", "confirmFooter": "برای تأیید، اجرا کنید:\n omniroute auth export --force", "missingKey": "برای برونبری اطلاعات احراز هویت، STORAGE_ENCRYPTION_KEY الزامی است.", "notFound": "اتصال یافت نشد: {id}", "invalidFormat": "قالب نامعتبر: {format}. از json یا env استفاده کنید." }, "stream": { "description": "پخش جریانی پاسخ چت با حالتهای بازرسی SSE", "file": "خواندن درخواست از فایل", "stdin": "خواندن درخواست از stdin", "model": "شناسه مدل (پیشفرض: auto)", "system": "دستور سیستمی", "combo": "اجبار به استفاده از یک ترکیب مشخص بر اساس نام", "max_tokens": "حداکثر تعداد توکنها در پاسخ", "responses_api": "استفاده از /v1/responses بهجای /v1/chat/completions", "raw": "چاپ خطوط خام SSE همانگونه که دریافت شدهاند", "debug": "اطلاعات زمانبندی هر قطعه را در stderr چاپ کن", "save": "همه رویدادهای SSE را در یک فایل .jsonl ذخیره کن", "error": { "empty_prompt": "خطا: پرامپت الزامی است (آرگومان موقعیتی، --file یا --stdin)" } }, "usage": { "description": "تحلیل مصرف، بودجهها، سهمیهها و گزارشها", "analytics": { "description": "تحلیل تجمیعی مصرف را نمایش بده", "period": "بازه زمانی: 1d|7d|30d|90d|ytd|all (پیشفرض: 30d)", "provider": "فیلتر بر اساس شناسه ارائهدهنده" }, "budget": { "description": "مدیریت بودجههای هزینه", "set": { "scope": "دامنه بودجه (پیشفرض: global)", "period": "دوره بودجه: daily|weekly|monthly (پیشفرض: monthly)" } }, "quota": { "description": "میزان استفاده از سهمیه ارائهدهنده را نمایش بده", "provider": "فیلتر بر اساس شناسه ارائهدهنده", "check": "نمایش بده که آیا سهمیه برای یک درخواست جدید در دسترس است" }, "logs": { "description": "گزارش فراخوانی درخواستها را نمایش بده", "limit": "تعداد ورودیهای گزارش برای بازگرداندن (پیشفرض: 100)", "search": "عبارت جستوجو برای فیلتر کردن گزارشها", "since": "گزارشها را از این برچسب زمانی به بعد بازگردان", "follow": "ورودیهای جدید گزارش را بهطور پیوسته دنبال کن", "api_key": "گزارشها را بر اساس کلید API فیلتر کن" }, "utilization": { "description": "معیارهای استفاده از کلید API را نمایش بده", "api_key": "فیلتر بر اساس کلید API" }, "history": { "description": "تاریخچه درخواستها را نمایش بده", "limit": "تعداد ورودیهای تاریخچه (پیشفرض: 100)" }, "proxy_logs": { "description": "گزارش درخواستهای سطح پروکسی را نمایش بده", "limit": "تعداد ورودیهای گزارش پروکسی (پیشفرض: 100)" } }, "cost": { "description": "گزارش هزینه را با تفکیک بر اساس ارائهدهنده، مدل، ترکیب یا کلید API نمایش بده", "period": "بازه زمانی: 1d|7d|30d|90d|ytd|all (پیشفرض: 30d)", "since": "تاریخ شروع (قالب ISO، برای مثال 2026-01-01) — جایگزین --period میشود", "until": "تاریخ پایان (قالب ISO)", "group_by": "گروهبندی نتایج بر اساس: provider|model|api-key|combo|day (پیشفرض: provider)", "api_key_filter": "فیلتر بر اساس یک کلید API مشخص", "limit": "حداکثر تعداد ردیفهای قابل نمایش (پیشفرض: 100)" }, "simulate": { "description": "شبیهسازی مسیریابی بهصورت Dry-run — بدون فراخوانی بالادست، ارائهدهندگان انتخابشده را نمایش بده", "file": "بدنه کامل درخواست را از فایل JSON بارگذاری کن", "model": "شناسه مدل (پیشفرض: auto)", "combo": "اجبار به استفاده از یک ترکیب مشخص بر اساس نام", "reasoning": "سطح تلاش برای استدلال (low|medium|high)", "thinking": "بودجه توکن برای تفکر توسعهیافته", "explain": "درخت جایگزینها و بازه هزینه را در stderr چاپ کن", "noCombo": "هیچ ترکیب منطبقی پیدا نشد. یکی را با این دستور پیکربندی کن: omniroute combo create" }, "chat": { "description": "ارسال یک پرامپت گفتوگوی یکباره به OmniRoute", "file": "خواندن پرامپت از فایل", "stdin": "خواندن پرامپت از stdin", "system": "پرامپت سیستم", "model": "شناسه مدل (پیشفرض: auto)", "max_tokens": "حداکثر تعداد توکنها در پاسخ", "temperature": "دمای نمونهگیری (0–2)", "top_p": "نمونهگیری هستهای Top-p", "reasoning_effort": "سطح تلاش استدلال (low|medium|high)", "thinking_budget": "بودجه توکن برای تفکر گسترده", "combo": "اجبار به استفاده از یک ترکیب مشخص با نام", "responses_api": "استفاده از /v1/responses بهجای /v1/chat/completions", "stream": "ارسال تدریجی پاسخ بهصورت جریانی", "no_history": "در ~/.omniroute/cli-history.jsonl ذخیره نشود", "error": { "empty_prompt": "خطا: پرامپت الزامی است (آرگومان موقعیتی، --file یا --stdin)" } }, "serve": { "description": "راهاندازی سرور OmniRoute (عمل پیشفرض)", "starting": "در حال راهاندازی سرور OmniRoute روی پورت {port}...", "ready": "در http://localhost:{port} آماده است", "stopping": "در حال توقف سرور (PID {pid})...", "stopped": "سرور متوقف شد.", "notRunning": "سرور در حال اجرا نیست.", "port": "پورت شنود (پیشفرض: 20128)", "no_open": "مرورگر بهطور خودکار باز نشود", "daemon": "اجرای سرور بهصورت سرویس پسزمینه", "log": "نمایش گزارشهای سرور در همانجا", "no_recovery": "غیرفعالکردن راهاندازی مجدد خودکار پس از خرابی (حالت اشکالزدایی)", "max_restarts": "حداکثر دفعات راهاندازی مجدد پس از خرابی طی 30 ثانیه، پیش از صرفنظر کردن (پیشفرض: 2)", "tray": "اجرا در سینی سیستم (فقط دسکتاپ، با انتخاب کاربر)", "no_tray": "غیرفعالکردن نماد سینی سیستم", "ready_timeout": "مهلت زمانی بررسی آمادگی بر حسب میلیثانیه (همچنین OMNIROUTE_READY_TIMEOUT_MS، پیشفرض 60000)", "tls_cert": "مسیر گواهی TLS (PEM) برای ارائه HTTPS (همچنین OMNIROUTE_TLS_CERT)", "tls_key": "مسیر کلید خصوصی TLS (PEM) برای ارائه HTTPS (همچنین OMNIROUTE_TLS_KEY)" }, "backup": { "title": "پشتیبانگیری", "description": "ایجاد نسخه پشتیبان از دادههای OmniRoute", "creating": "در حال ایجاد نسخه پشتیبان...", "done": "نسخه پشتیبان در {path} ذخیره شد", "noFiles": "فایلی برای پشتیبانگیری وجود ندارد (پایگاه داده راهاندازی نشده است)", "failed": "پشتیبانگیری ناموفق بود: {error}", "restoring": "در حال بازیابی از {path}...", "restored": "بازیابی کامل شد.", "restoreDescription": "بازیابی از نسخهٔ پشتیبان", "listTitle": "نسخههای پشتیبان موجود", "noBackups": "هیچ نسخهٔ پشتیبانی یافت نشد.", "notFound": "نسخهٔ پشتیبان یافت نشد: {name}", "confirmRestore": "دادههای فعلی با نسخهٔ پشتیبان مربوط به {ts} بازنویسی شوند؟", "createDescription": "ایجاد نسخهٔ پشتیبان از دادههای OmniRoute", "nameOpt": "نام سفارشی نسخهٔ پشتیبان", "cloudOpt": "بارگذاری نسخهٔ پشتیبان در فضای ذخیرهسازی ابری", "encryptOpt": "رمزگذاری نسخهٔ پشتیبان با AES-256-GCM", "keyFileOpt": "مسیر فایل حاوی عبارت عبور رمزگذاری", "excludeOpt": "مستثنی کردن فایلهای منطبق با الگو (قابل تکرار)", "retentionOpt": "فقط N نسخهٔ پشتیبان آخر نگه داشته شود", "passphrasePrompt": "عبارت عبور:", "noPassphrase": "برای نسخهٔ پشتیبان رمزگذاریشده، عبارت عبور الزامی است.", "cloudFailed": "هشدار: بارگذاری در فضای ابری ناموفق بود. نسخهٔ پشتیبان محلی ذخیره شد.", "cloudUploaded": "نسخهٔ پشتیبان ابری بارگذاری شد: {url}", "auto": { "title": "زمانبندی پشتیبانگیری", "enableDescription": "فعالسازی پشتیبانگیری خودکار زمانبندیشده", "disableDescription": "غیرفعالسازی پشتیبانگیری خودکار زمانبندیشده", "statusDescription": "نمایش وضعیت فعلی زمانبندی پشتیبانگیری", "cronOpt": "عبارت Cron برای زمانبندی (پیشفرض: هر روز ساعت ۳ صبح)", "enabled": "پشتیبانگیری خودکار فعال شد (cron: {cron}).", "hint": "زمانبندی هنگام راهاندازی توسط omniroute serve خوانده میشود.", "disabled": "پشتیبانگیری خودکار غیرفعال شد.", "notConfigured": "هیچ زمانبندی پشتیبانگیری پیکربندی نشده است." } }, "health": { "description": "بررسی سلامت سرور و وضعیت مؤلفهها", "noServer": "سرور در حال اجرا نیست. با این دستور راهاندازی کنید: omniroute serve", "title": "سلامت", "status": "وضعیت: {status}", "uptime": "مدت فعالیت: {uptime}", "requests": "درخواستها (۲۴ ساعت): {count}", "cost": "هزینه (۲۴ ساعت): ${cost}" }, "quota": { "description": "نمایش میزان استفاده از سهمیهٔ ارائهدهنده", "noServer": "سرور در حال اجرا نیست. با این دستور راهاندازی کنید: omniroute serve", "noData": "اطلاعاتی دربارهٔ سهمیه موجود نیست." }, "cache": { "description": "مدیریت حافظهٔ نهان پاسخها", "noServer": "سرور در حال اجرا نیست. با این دستور راهاندازی کنید: omniroute serve", "cleared": "حافظهٔ نهان پاک شد.", "clearFailed": "پاکسازی حافظهٔ نهان ناموفق بود." }, "redis": { "description": "راهاندازی کانتینر Redis محلی با یک کلیک (Podman یا Docker) برای حافظه پنهان و ردیابی سهمیه OmniRoute" }, "test": { "description": "آزمایش اتصال به یک ارائهدهنده", "noServer": "سرور در حال اجرا نیست. آن را با این دستور راهاندازی کنید: omniroute serve", "testing": "در حال آزمایش {provider} / {model}...", "passed": "اتصال با موفقیت برقرار شد!", "failed": "اتصال ناموفق بود: {error}", "allProvidersOpt": "آزمایش همه ارائهدهندگان پیکربندیشده", "latencyOpt": "نمایش اندازهگیریهای تأخیر (میانگین/کمینه/بیشینه بر حسب میلیثانیه)", "repeatOpt": "تکرار آزمایش به تعداد N بار و تجمیع نتایج", "compareOpt": "مدلهای جداشده با ویرگول برای مقایسه (برای مثال gpt-4o,claude-3-5-sonnet)", "saveOpt": "ذخیره نتایج در یک فایل JSON", "saved": "نتایج در {path} ذخیره شدند", "compareTitle": "مقایسه مدلها", "compareMinTwo": "برای --compare حداقل دو مدل لازم است (جداشده با ویرگول)", "noProviders": "هیچ ارائهدهندهای پیکربندی نشده است. یکی را با این دستور اضافه کنید: omniroute keys add" }, "update": { "checking": "در حال بررسی بهروزرسانیها...", "upToDate": "از قبل بهروز است ({version}).", "available": "بهروزرسانی موجود است: {current} ← {latest}", "installing": "در حال نصب {latest}...", "done": "به {latest} بهروزرسانی شد. برای اعمال تغییرات، سرور را راهاندازی مجدد کنید." }, "mcp": { "title": "سرور MCP", "running": "سرور MCP در حال اجرا است ({transport})", "stopped": "سرور MCP متوقف شد.", "restarted": "سرور MCP مجدداً راهاندازی شد.", "stoppedHint": "برای فعالکردن آن، `omniroute mcp enable` را اجرا کنید.", "enabled": "سرور MCP فعال شد.", "disabled": "سرور MCP غیرفعال شد.", "enable": { "description": "فعالکردن سرور MCP", "transport": "انتقال مورد استفاده: stdio|sse|streamable-http" }, "disable": { "description": "غیرفعالکردن سرور MCP" }, "call": { "description": "فراخوانی مستقیم یک ابزار MCP", "args": "شیء آرگومانهای JSON (درونخطی)", "args_file": "مسیر فایل آرگومانهای JSON", "stream": "استفاده از نقطه پایانی استریم (/api/mcp/stream)", "scope": "دامنه دسترسی لازم (قابل تکرار، برای مثال read:health)" }, "scopes": { "description": "فهرست دامنههای دسترسی موجود MCP", "tool": "نمایش دامنههای دسترسی موردنیاز یک ابزار مشخص" }, "tools": { "description": "بررسی ابزارهای MCP", "list": { "description": "فهرست همه ابزارهای MCP", "scope": "فیلتر بر اساس دامنه دسترسی" }, "info": { "description": "نمایش فراداده یک ابزار MCP" }, "schema": { "description": "نمایش شِمای JSON ورودی/خروجی یک ابزار MCP", "io": "نوع طرحواره: input|output (پیشفرض: input)" } }, "audit": { "description": "گزارش ممیزی MCP (نام مستعار برای audit --source mcp)" } }, "a2a": { "skills": { "description": "فهرستکردن مهارتهای A2A موجود از کارت عامل" }, "invoke": { "description": "فراخوانی یک مهارت A2A و بازگرداندن شناسه وظیفه", "input": "شیء ورودی JSON", "input_file": "مسیر فایل ورودی JSON", "wait": "انتظار برای تکمیل وظیفه پیش از بازگشت", "timeout": "مهلت انتظار برای تکمیل بر حسب ms (پیشفرض: 60000)" }, "tasks": { "description": "مدیریت وظایف A2A", "list": { "status": "فیلتر بر اساس وضعیت", "skill": "فیلتر بر اساس شناسه مهارت" }, "watch": { "description": "بررسی دورهای وضعیت وظیفه تا زمان تکمیل" }, "stream": { "description": "پخش رویدادهای اجرای وظیفه از طریق SSE" }, "logs": { "description": "نمایش پیامها و مصنوعات وظیفه" } } }, "policy": { "description": "مدیریت سیاستهای مجوزدهی OmniRoute", "list": { "description": "فهرستکردن سیاستها", "kind": "فیلتر بر اساس نوع (allow|deny|rate-limit|cost-cap)", "scope": "فیلتر بر اساس دامنه (global|api-key|provider)" }, "get": { "description": "دریافت جزئیات سیاست بر اساس شناسه" }, "create": { "description": "ایجاد سیاست از یک فایل JSON", "file": "مسیر فایل JSON سیاست" }, "update": { "description": "بهروزرسانی سیاست از یک فایل JSON", "file": "مسیر فایل JSON سیاست" }, "delete": { "description": "حذف سیاست بر اساس شناسه", "yes": "رد کردن درخواست تأیید" }, "evaluate": { "description": "ارزیابی آزمایشی سیاست (خروجی 0=مجاز، 4=ردشده)", "api_key": "کلید API برای ارزیابی", "action": "کنش مورد بررسی (برای مثال chat، embed، admin)", "resource": "مسیر یا شناسه منبع", "context": "زمینه اضافی بهصورت شیء JSON" }, "export": { "description": "برونبری همه سیاستها به یک فایل JSON" }, "import": { "description": "درونریزی سیاستها از یک فایل JSON", "overwrite": "بازنویسی سیاستهای موجود با شناسه یکسان" } }, "compression": { "description": "پیکربندی و بررسی خط لوله فشردهسازی OmniRoute", "status": { "description": "نمایش وضعیت و تنظیمات فعلی فشردهسازی" }, "configure": { "description": "پیکربندی تنظیمات فشردهسازی", "engine": "موتور فشردهسازی (caveman|rtk|hybrid|none)", "caveman_agg": "میزان تهاجمیبودن Caveman از 0.0 تا 1.0", "rtk_budget": "بودجه توکن RTK", "language_pack": "بسته زبانی برای فعالسازی" }, "engine": { "description": "دریافت یا تنظیم موتور فشردهسازی فعال" }, "combos": { "description": "مدیریت آمار ترکیبی فشردهسازی" }, "rules": { "description": "مدیریت قوانین فشردهسازی", "add": { "pattern": "الگوی تطبیق (regex یا field:pattern)", "action": "عملیات: drop|shrink|replace" } }, "language_packs": { "description": "فهرست بستههای زبانی فشردهسازی موجود" }, "preview": { "description": "پیشنمایش تأثیر فشردهسازی بر یک درخواست", "file": "مسیر فایل JSON درخواست" } }, "tunnel": { "title": "تونلها", "listDescription": "فهرست تونلهای فعال", "createDescription": "ایجاد تونل", "created": "تونل ایجاد شد: {url}", "stopped": "تونل متوقف شد.", "confirmStop": "تونل {id} متوقف شود؟", "stopDescription": "توقف یک تونل", "statusDescription": "نمایش وضعیت دقیق یک تونل", "logsDescription": "نمایش گزارشهای یک تونل", "infoDescription": "نمایش جزئیات پیکربندی یک تونل", "rotateDescription": "ایجاد URL جدید برای تونل", "tailOpt": "تعداد خطوط گزارش برای نمایش", "typeRequired": "نوع تونل الزامی است.", "noLogs": "هیچ گزارشی موجود نیست.", "notAvailable": "اطلاعات تونل موجود نیست.", "noTunnels": "هیچ تونل فعالی وجود ندارد.", "infoTitle": "اطلاعات تونل: {type}", "rotated": "URL تونل تغییر کرد: {url}", "confirmRotate": "URL تونل {type} تغییر کند؟ (یک URL جدید ایجاد خواهد شد)" }, "stop": { "description": "توقف سرور OmniRoute", "stopping": "در حال توقف سرور (PID {pid})...", "stopped": "سرور متوقف شد.", "notRunning": "هیچ سروری در حال اجرا نیست.", "portFallback": "هیچ فایل PID یافت نشد؛ تلاش برای توقف بر اساس پورت..." }, "restart": { "description": "راهاندازی مجدد سرور OmniRoute", "restarting": "در حال راهاندازی مجدد سرور OmniRoute..." }, "dashboard": { "description": "باز کردن داشبورد OmniRoute در مرورگر", "opening": "در حال باز کردن داشبورد در {url}", "urlOnly": "چاپ URL داشبورد بدون باز کردن مرورگر", "tui": "باز کردن داشبورد تعاملی TUI (رابط کاربری ترمینال، ۷ زبانه)" }, "models": { "description": "فهرست مدلهای موجود (نیازمند سرور)", "search": "فیلتر کردن مدلها بر اساس شناسه، نام، ارائهدهنده یا توضیحات", "noServer": "سرور در حال اجرا نیست. با این دستور راهاندازی کنید: omniroute serve", "noModels": "هیچ مدلی یافت نشد." }, "audit": { "description": "دسترسی به گزارشهای ممیزی انطباق و MCP", "source": "منبع گزارش: all|compliance|mcp (پیشفرض: all)", "since": "برگرداندن ورودیها از این برچسب زمانی به بعد (ISO 8601)", "until": "برگرداندن ورودیها تا این برچسب زمانی (ISO 8601)", "tail": { "description": "نمایش ورودیهای اخیر گزارش ممیزی", "follow": "دنبالکردن پیوسته ورودیهای جدید (نظرسنجی هر 2 ثانیه)", "limit": "حداکثر تعداد ورودیها برای نمایش (پیشفرض: 100)" }, "search": { "description": "جستجوی ورودیهای گزارش ممیزی بر اساس کلیدواژه", "limit": "حداکثر نتایج (پیشفرض: 200)", "actor": "فیلتر بر اساس شناسه عامل", "action": "فیلتر بر اساس نام کنش" }, "export": { "description": "صدور گزارش ممیزی به فایل", "format": "قالب خروجی: jsonl|csv (پیشفرض: jsonl)" }, "stats": { "description": "نمایش آمار گزارش ممیزی", "period": "بازه زمانی: 1d|7d|30d (پیشفرض: 7d)" }, "get": { "description": "دریافت یک ورودی گزارش ممیزی بر اساس شناسه" } }, "skills": { "description": "مدیریت مهارتهای OmniRoute (sandbox، builtin، custom، hybrid، skillssh)", "list": { "description": "فهرست مهارتهای نصبشده", "type": "فیلتر بر اساس نوع (sandbox|custom|builtin|hybrid|skillssh)", "enabled": "نمایش فقط مهارتهای فعال", "disabled": "نمایش فقط مهارتهای غیرفعال", "api_key": "فیلتر بر اساس کلید API" }, "get": { "description": "دریافت جزئیات یک مهارت بر اساس شناسه" }, "install": { "description": "نصب یک مهارت از فایل یا URL", "from_file": "مسیر فایل تعریف JSON مهارت", "from_url": "URL تعریف مهارت راهدور", "type": "نوع مهارت (sandbox|custom|hybrid)", "enable": "فعالکردن مهارت پس از نصب" }, "enable": { "description": "فعالکردن یک مهارت بر اساس شناسه" }, "disable": { "description": "غیرفعالکردن یک مهارت بر اساس شناسه", "yes": "رد کردن درخواست تأیید" }, "delete": { "description": "حذف یک مهارت بر اساس شناسه", "yes": "رد کردن درخواست تأیید" }, "execute": { "description": "اجرای یک مهارت بر اساس شناسه", "input": "شیء ورودی JSON", "input_file": "مسیر فایل ورودی JSON", "timeout": "مهلت اجرای عملیات بر حسب میلیثانیه (پیشفرض: 30000)" }, "executions": { "description": "فهرست تاریخچه اجرای مهارت", "skill": "فیلتر بر اساس شناسه مهارت", "limit": "حداکثر نتایج (پیشفرض: 50)", "status": "فیلتر بر اساس وضعیت (running|completed|failed)" }, "skillssh": { "description": "مدیریت مهارتهای نصبشده از طریق SSH" }, "marketplace": { "description": "مرور و نصب مهارتها از بازارچه" }, "mp": { "search": { "description": "جستوجوی بستههای بازارچه", "category": "فیلتر بر اساس دستهبندی", "tag": "فیلتر بر اساس برچسب", "limit": "حداکثر نتایج (پیشفرض: 30)", "sort": "مرتبسازی بر اساس: downloads|rating|recent" }, "info": { "description": "نمایش جزئیات بسته و readme" }, "install": { "description": "نصب یک بسته از بازارچه", "version": "نسخه بسته (پیشفرض: latest)", "enable": "فعالسازی پس از نصب", "yes": "رد کردن درخواست تأیید" }, "categories": { "description": "فهرست دستهبندیهای بازارچه" }, "featured": { "description": "نمایش بستههای برگزیده بازارچه" } } }, "memory": { "description": "مدیریت حافظه مکالمهای OmniRoute (FTS5 + vector)", "search": { "description": "جستوجوی ورودیهای حافظه با پرسوجوی معنایی", "type": "فیلتر بر اساس نوع حافظه (user|feedback|project|reference)", "limit": "حداکثر نتایج (پیشفرض: 20)", "api_key": "فیلتر بر اساس کلید API", "token_budget": "محدود کردن مجموع توکنها در نتایج" }, "add": { "description": "افزودن ورودی جدید به حافظه", "content": "محتوای متنی حافظه", "file": "خواندن محتوا از فایل", "type": "نوع حافظه (پیشفرض: user)", "metadata": "شیء فراداده JSON", "api_key": "مرتبطسازی با کلید API" }, "clear": { "description": "حذف ورودیهای حافظه مطابق با فیلترها", "type": "فیلتر بر اساس نوع", "older": "حذف ورودیهای قدیمیتر از مدتزمان مشخص (30d, 6m, 1y)", "api_key": "فیلتر بر اساس کلید API", "yes": "رد کردن درخواست تأیید" }, "list": { "description": "فهرست کردن ورودیهای حافظه بدون رتبهبندی جستوجو", "type": "فیلتر بر اساس نوع", "limit": "حداکثر نتایج (پیشفرض: 100)", "api_key": "فیلتر بر اساس کلید API" }, "get": { "description": "دریافت یک ورودی حافظه بر اساس شناسه" }, "delete": { "description": "حذف یک ورودی حافظه بر اساس شناسه", "yes": "رد کردن درخواست تأیید" }, "health": { "description": "نمایش سلامت زیرسامانه حافظه (FTS5 + Qdrant)" } }, "oauth": { "description": "مدیریت اتصالهای ارائهدهندگان OAuth", "providers": { "description": "فهرست ارائهدهندگان دارای قابلیت OAuth و انواع جریان آنها" }, "start": { "description": "شروع جریان مجوزدهی OAuth برای یک ارائهدهنده", "provider": "شناسه ارائهدهنده (gemini, copilot, cursor, …)", "no_browser": "فقط URL را چاپ کن — مرورگر را باز نکن", "import_system": "وارد کردن خودکار اطلاعات ورود از پیکربندی محلی سیستم", "social": "ارائهدهنده ورود اجتماعی (google|github) — برای kiro الزامی است", "timeout": "مهلت انتظار برای مجوزدهی بر حسب میلیثانیه (پیشفرض: 300000)" }, "status": { "description": "فهرست اتصالهای فعال OAuth", "provider": "فیلتر بر اساس شناسه ارائهدهنده" }, "revoke": { "description": "لغو یک اتصال OAuth", "provider": "شناسه ارائهدهنده برای لغو", "connection_id": "لغو یک اتصال مشخص بر اساس شناسه", "yes": "رد کردن درخواست تأیید" } }, "cloud": { "description": "مدیریت وظایف عامل هوش مصنوعی ابری (codex, devin, jules)", "agents": { "description": "فهرست عاملهای ابری موجود" }, "agent": { "description": "مدیریت وظایف عامل ابری {agent}", "auth": { "description": "اعطای مجوز به {agent} از طریق OAuth" } }, "task": { "description": "مدیریت وظایف عامل ابری", "create": { "description": "ایجاد وظیفه جدید برای عامل", "title": "عنوان وظیفه (پیشفرض: ۸۰ نویسه نخست درخواست)", "prompt": "متن درخواست وظیفه", "prompt_file": "خواندن درخواست از فایل", "repo": "URL مخزن برای همسانهسازی جهت انجام وظیفه", "branch": "نام شاخه مورد استفاده", "metadata": "شیء فراداده JSON" }, "list": { "description": "فهرست وظایف عامل", "status": "فیلتر بر اساس وضعیت (running|completed|failed|cancelled)", "limit": "حداکثر نتایج (پیشفرض: 50)" }, "get": { "description": "دریافت جزئیات وظیفه بر اساس شناسه" }, "status": { "description": "چاپ وضعیت وظیفه (running|completed|failed|cancelled)" }, "cancel": { "description": "لغو وظیفه در حال اجرا", "yes": "رد کردن درخواست تأیید" }, "approve": { "description": "تأیید برنامه عامل برای شروع اجرا" }, "message": { "description": "ارسال پیام به یک وظیفه در حال اجرا" } }, "sources": { "description": "فهرست فایلهای منبع تولیدشده توسط یک وظیفه" } }, "eval": { "description": "مدیریت مجموعهها و اجراهای ارزیابی", "suites": { "description": "مدیریت مجموعههای ارزیابی", "list": { "description": "فهرست مجموعههای ارزیابی" }, "get": { "description": "دریافت جزئیات مجموعه ارزیابی بر اساس ID" }, "create": { "description": "ایجاد یک مجموعه ارزیابی از فایل JSON", "file": "مسیر فایل JSON تعریف مجموعه" } }, "run": { "description": "شروع اجرای ارزیابی برای یک مجموعه", "model": "ID مدل برای ارزیابی (پیشفرض: auto)", "combo": "اجبار به استفاده از یک ترکیب مشخص بر اساس نام", "concurrency": "تعداد نمونههای همزمان (پیشفرض: 4)", "tag": "برچسبگذاری این اجرا برای فیلترکردن در آینده", "watch": "مشاهده پیشرفت اجرا تا زمان تکمیل" }, "list": { "description": "فهرست اجراهای ارزیابی", "suite": "فیلتر بر اساس ID مجموعه", "status": "فیلتر بر اساس وضعیت", "since": "بازگرداندن اجراها از این برچسب زمانی به بعد", "limit": "حداکثر نتایج (پیشفرض: 50)" }, "get": { "description": "دریافت جزئیات اجرای ارزیابی بر اساس ID" }, "results": { "description": "نمایش نتایج نمونهها برای یک اجرای ارزیابی", "failed": "نمایش فقط نمونههای ناموفق" }, "cancel": { "description": "لغو یک ارزیابی در حال اجرا", "yes": "ردکردن درخواست تأیید" }, "scorecard": { "description": "نمایش کارت امتیاز یک اجرای ارزیابی تکمیلشده" } }, "webhooks": { "description": "مدیریت وبهوکهای OmniRoute", "events": { "description": "فهرست همه انواع رویداد وبهوک موجود" }, "list": { "description": "فهرست وبهوکهای پیکربندیشده" }, "get": { "description": "دریافت جزئیات وبهوک بر اساس ID" }, "add": { "description": "ثبت یک وبهوک جدید", "url": "URL مقصد", "events": "فهرست انواع رویداد با جداکننده ویرگول", "secret": "رمز امضای HMAC", "header": "هدر اضافی با قالب key=value (قابل تکرار)", "no_enabled": "ایجاد وبهوک در حالت غیرفعال" }, "update": { "description": "بهروزرسانی یک وبهوک موجود", "enabled": "تنظیم وضعیت فعالبودن (true|false)" }, "remove": { "description": "حذف یک وبهوک", "yes": "ردکردن درخواست تأیید" }, "test": { "description": "ارسال یک رویداد آزمایشی به وبهوک", "event": "نوع رویداد برای شبیهسازی (پیشفرض: request.completed)" } }, "program": { "description": "OmniRoute — روتر هوشمند هوش مصنوعی با fallback خودکار", "version": "نمایش نسخه و خروج", "output": "فرمت خروجی (table, json, jsonl, csv)", "quiet": "حذف خروجی غیر ضروری", "no_color": "غیرفعال کردن خروجی رنگی", "timeout": "تایماوت درخواست HTTP به میلیثانیه", "api_key": "کلید API برای سرور OmniRoute", "base_url": "URL پایه سرور OmniRoute", "context": "زمینه/پروفایل سرور برای این دستور", "lang": "تنظیم زبان نمایش CLI (OMNIROUTE_LANG را نادیده میگیرد)" }, "files": { "description": "مدیریت فایلها (بارگذاری، فهرستکردن، دریافت، دانلود، حذف)", "list": { "purpose": "فیلتر بر اساس کاربرد", "limit": "حداکثر نتایج" }, "get": { "description": "دریافت فرادادهٔ فایل" }, "upload": { "description": "بارگذاری فایل", "purpose": "هدف فایل (batch، assistants، fine-tune)" }, "content": { "description": "دانلود محتوای فایل", "out": "ذخیره در مسیر (پیشفرض: stdout)" }, "delete": { "yes": "رد کردن تأیید" } }, "batches": { "description": "مدیریت کارهای دستهای سازگار با OpenAI", "list": { "status": "فیلتر بر اساس وضعیت", "limit": "حداکثر نتایج" }, "create": { "description": "ایجاد کار دستهای", "inputFile": "شناسهٔ فایل ورودی", "endpoint": "نقطهٔ پایانی مقصد", "window": "بازهٔ تکمیل", "metadata": "افزودن فراداده بهصورت key=value" }, "submit": { "description": "بارگذاری فایل JSONL و ایجاد کار دستهای", "jsonl": "مسیر فایل JSONL", "endpoint": "نقطهٔ پایانی مقصد", "wait": "انتظار تا تکمیل" }, "cancel": { "yes": "رد کردن تأیید" }, "wait": { "timeout": "مهلت زمانی بر حسب ms" }, "output": { "out": "ذخیرهٔ خروجی در مسیر" }, "errors": { "out": "ذخیرهٔ خطاها در مسیر" } }, "translator": { "description": "ترجمهٔ بدنهٔ درخواستها بین قالبهای LLM", "detect": { "description": "تشخیص قالب بدنه" }, "translate": { "description": "تبدیل بدنه از یک قالب به قالب دیگر" }, "send": { "description": "ترجمه و ارسال به بالادست" }, "stream": { "description": "ترجمهٔ جریانی بدنهٔ درخواست" }, "from": "قالب مبدأ (openai|anthropic|gemini|cohere)", "to": "قالب مقصد (openai|anthropic|gemini|cohere)", "file": "مسیر فایل JSON بدنهٔ درخواست", "out": "ذخیرهٔ خروجی در فایل", "model": "بازنویسی مدل", "history": { "limit": "حداکثر نتایج" } }, "pricing": { "description": "مدیریت دادههای قیمتگذاری مدلها", "sync": { "description": "همگامسازی قیمتها از منابع بالادست", "provider": "فیلتر بر اساس ارائهدهنده", "force": "اجبار به همگامسازی مجدد" }, "list": { "provider": "فیلتر بر اساس ارائهدهنده", "model": "فیلتر بر اساس مدل", "limit": "حداکثر نتایج" }, "defaults": { "description": "مدیریت قیمتگذاری پیشفرض", "input": "هزینه ورودی بهازای هر ۱ میلیون توکن (USD)", "output": "هزینه خروجی بهازای هر ۱ میلیون توکن (USD)", "cacheRead": "هزینه خواندن کش بهازای هر ۱ میلیون توکن (USD)", "cacheWrite": "هزینه نوشتن کش بهازای هر ۱ میلیون توکن (USD)" }, "diff": { "description": "نمایش اختلاف با قیمتهای منبع بالادستی", "model": "فیلتر بر اساس مدل" } }, "radar": { "description": "بررسی و همگامسازی فیدهای کاتالوگ محلی Radar", "status": "نمایش تنظیمات محلی Radar و وضعیت کش فید", "sync": "همگامسازی کاتالوگ، ارجاعها، پیشنهادها و Intel از طریق سرور محلی" }, "resilience": { "description": "بررسی و مدیریت سازوکارهای تابآوری", "status": { "provider": "فیلتر بر اساس ارائهدهنده" }, "breakers": { "provider": "فیلتر بر اساس ارائهدهنده" }, "cooldowns": { "provider": "فیلتر بر اساس ارائهدهنده", "connectionId": "فیلتر بر اساس شناسه اتصال" }, "lockouts": { "provider": "فیلتر بر اساس ارائهدهنده", "model": "فیلتر بر اساس مدل" }, "reset": { "description": "بازنشانی وضعیت قطعکننده/دوره انتظار", "provider": "ارائهدهنده برای بازنشانی", "connectionId": "شناسه اتصال برای بازنشانی", "model": "مدل برای بازنشانی قفل موقت", "allCooldowns": "بازنشانی همه دورههای انتظار ارائهدهنده", "yes": "رد شدن از تأیید" }, "profile": { "description": "مدیریت پروفایل تابآوری", "name": "نام پروفایل" }, "config": { "description": "مدیریت پیکربندی تابآوری", "threshold": "آستانه خرابی", "resetTimeout": "مهلت بازنشانی بر حسب میلیثانیه", "baseCooldown": "دوره انتظار پایه بر حسب میلیثانیه" } }, "nodes": { "description": "مدیریت گرههای ارائهدهنده (نقاط پایانی)", "list": { "provider": "فیلتر بر اساس ارائهدهنده", "enabled": "فقط نمایش گرههای فعال" }, "add": { "provider": "نام ارائهدهنده", "baseUrl": "نشانی URL پایه گره", "name": "نام گره", "weight": "وزن توزیع بار", "region": "برچسب منطقه", "authHeader": "هدر احراز هویت سفارشی (key=value)" }, "update": { "baseUrl": "نشانی URL پایه جدید", "name": "نام جدید", "weight": "وزن جدید", "region": "منطقه جدید", "enabled": "فعال یا غیرفعالکردن (true|false)" }, "remove": { "yes": "رد کردن تأیید" }, "validate": { "baseUrl": "URL برای اعتبارسنجی", "provider": "ارائهدهنده مورد استفاده برای اعتبارسنجی" }, "test": { "description": "ارسال درخواست آزمایشی به گره" }, "metrics": { "description": "نمایش معیارهای گره", "period": "بازه زمانی (مثلاً 24h، 7d)" } }, "context": { "description": "پیکربندی خط لوله مهندسی زمینه (Caveman، RTK)", "analytics": { "period": "بازه زمانی (مثلاً 7d، 30d)" }, "caveman": { "description": "مدیریت فشردهساز زمینه Caveman", "config": { "description": "نمایش یا بهروزرسانی پیکربندی Caveman", "aggressiveness": "میزان تهاجمیبودن 0.0–1.0", "maxShrinkPct": "حداکثر درصد کوچکسازی", "preserveTags": "برچسبهای جداشده با ویرگول برای حفظکردن" } }, "rtk": { "description": "مدیریت بهینهساز زمینه RTK", "config": { "description": "نمایش یا بهروزرسانی پیکربندی RTK", "tokenBudget": "بودجه توکن برای RTK", "reservePct": "درصد ذخیره" }, "filters": { "description": "مدیریت فیلترهای RTK", "pattern": "الگوی فیلتر (regex)", "priority": "اولویت فیلتر (پیشفرض: 100)", "action": "عمل فیلتر: drop|shrink|replace", "yes": "رد کردن تأیید" }, "test": { "file": "مسیر فایل JSON درخواست" } }, "combos": { "description": "مدیریت ترکیبهای آگاه از زمینه" } }, "sessions": { "description": "بازرسی و مدیریت نشستهای فعال", "list": { "user": "فیلتر بر اساس کاربر", "kind": "فیلتر بر اساس نوع (dashboard|api-key|mcp|a2a)", "active": "فقط نمایش نشستهای فعال", "limit": "حداکثر نتایج (پیشفرض: 100)" }, "expire": { "yes": "رد کردن تأیید" }, "expireAll": { "user": "کاربری که نشستهایش منقضی شوند", "yes": "رد کردن تأیید" } }, "tags": { "description": "مدیریت برچسبهای منابع", "add": { "color": "رنگ برچسب (hex یا نام)", "description": "توضیحات برچسب" }, "remove": { "yes": "رد کردن تأیید" }, "assign": { "tag": "نام برچسب", "to": "منبع هدف بهصورت type:id (مثلاً provider:openai)" }, "unassign": { "tag": "نام برچسب", "from": "منبع مبدأ بهصورت type:id" } }, "openapi": { "description": "دسترسی و آزمایش مشخصات OpenAPI مربوط به OmniRoute", "dump": { "description": "تخلیه مشخصات OpenAPI در stdout یا فایل", "format": "قالب خروجی: yaml|json (پیشفرض: yaml)", "out": "ذخیره در مسیر فایل" }, "validate": { "description": "اعتبارسنجی مشخصات OpenAPI" }, "try": { "description": "آزمایش یک نقطه پایانی API از طریق مشخصات", "method": "متد HTTP (پیشفرض: GET)", "body": "مسیر فایل JSON بدنه درخواست", "query": "پارامتر کوئری بهصورت key=value (قابل تکرار)", "header": "هدر بهصورت key=value (قابل تکرار)" }, "endpoints": { "description": "فهرستکردن همه نقاط پایانی API", "search": "فیلتر بر اساس مسیر یا خلاصه" }, "paths": { "description": "فهرستکردن همه مسیرهای API" } }, "combo": { "title": "ترکیبها", "switched": "ترکیب فعال: {name}", "created": "ترکیب ایجاد شد: {name}", "deleted": "ترکیب حذف شد: {name}", "noCombos": "هیچ ترکیبی پیکربندی نشده است.", "confirmDelete": "ترکیب {name} حذف شود؟", "suggest": { "description": "پیشنهاد بهترین ترکیب برای یک وظیفه با استفاده از امتیازدهی هوش مصنوعی", "task": "شرح وظیفه", "maxCost": "حداکثر هزینه هر درخواست به USD", "maxLatencyMs": "حداکثر تأخیر بر حسب میلیثانیه", "weights": "وزنهای امتیازدهی JSON، مثلاً {\"latency\":0.7,\"cost\":0.3}", "top": "تعداد نامزدهای برتر برای نمایش (پیشفرض: 5)", "explain": "چاپ دلیل انتخاب در stderr", "switch": "فعالکردن ترکیب دارای بالاترین رتبه" } }, "oneproxy": { "description": "مدیریت مخزن بالادستی OneProxy", "stats": { "provider": "فیلتر بر اساس ارائهدهنده", "period": "بازه زمانی (پیشفرض: 24h)" }, "fetch": { "description": "دریافت پروکسیها از مخزن", "count": "تعداد پروکسیهای قابل دریافت (پیشفرض: 1)", "type": "نوع پروکسی: http|socks5 (پیشفرض: http)" }, "rotate": { "description": "اجبار به چرخش پروکسی", "provider": "ارائهدهندهای که چرخش برای آن انجام میشود", "connectionId": "شناسه اتصال مشخص برای چرخش" }, "config": { "description": "نمایش یا بهروزرسانی پیکربندی OneProxy", "enabled": "فعالسازی مخزن پراکسی (true|false)", "poolSize": "اندازه مخزن", "providerSource": "URL ارائهدهنده پراکسی", "rotationPolicy": "سیاست چرخش: sticky|per-request|periodic" }, "pool": { "description": "فهرست مخزن فعلی پراکسی همراه با معیارها" } }, "open": { "description": "باز کردن یک صفحه مشخص از داشبورد OmniRoute در مرورگر", "url": "فقط URL را نمایش بده، مرورگر را باز نکن" }, "telemetry": { "description": "دسترسی به دادههای تجمیعشده تلهمتری", "summary": { "description": "نمایش خلاصه تلهمتری تجمیعشده", "period": "بازه زمانی: 24h|7d|30d (پیشفرض: 24h)", "compareTo": "مقایسه با بازه قبلی" }, "export": { "description": "صدور رویدادهای تلهمتری به JSONL", "out": "مسیر فایل خروجی (پیشفرض: telemetry.jsonl)", "period": "بازه زمانی برای صدور (پیشفرض: 7d)" } }, "sync": { "description": "همگامسازی پیکربندی بین نمونههای OmniRoute", "push": { "description": "ارسال پیکربندی به فضای ابری یا نمونه راهدور", "target": "مقصد (cloud یا context:name)", "bundle": "بخشهای بسته برای همگامسازی", "dryRun": "پیشنمایش بدون اعمال تغییرات" }, "pull": { "description": "دریافت پیکربندی از فضای ابری یا نمونه راهدور", "source": "منبع (cloud یا context:name)", "merge": "ادغام با پیکربندی موجود", "replace": "جایگزینی پیکربندی موجود", "dryRun": "پیشنمایش بدون اعمال تغییرات" }, "diff": { "source": "زمینه مبدأ", "target": "زمینه مقصد" }, "bundle": { "description": "صدور پیکربندی بهصورت فایل بسته", "include": "بخشهای قابل درج (جداشده با ویرگول)" }, "import": { "description": "وارد کردن فایل بسته", "dryRun": "اعتبارسنجی بدون اعمال تغییرات" }, "initialize": { "fromCloud": "راهاندازی اولیه از نسخه پشتیبان ابری" }, "tokens": { "description": "مدیریت توکنهای همگامسازی", "create": { "name": "نام توکن", "scope": "دامنه توکن", "ttl": "TTL توکن (برای مثال 30d)" }, "revoke": { "yes": "رد کردن تأیید" } }, "resolve": { "description": "رفع تعارضهای همگامسازی بهصورت تعاملی" } }, "config": { "contexts": { "description": "مدیریت زمینهها/نمایههای سرور (افزودن، استفاده، فهرست، نمایش، حذف، تغییر نام، صدور، وارد کردن)" }, "lang": { "description": "مدیریت زبان نمایش CLI", "getDescription": "نمایش کد زبان فعال فعلی", "setDescription": "تنظیم زبان نمایش و ذخیره آن در پیکربندی", "listDescription": "فهرست همه زبانهای موجود", "listTitle": "زبانهای موجود", "current": "زبان: {code} ({name})", "saved": "زبان روی {code} ({name}) تنظیم شد.", "noCode": "کد زبان الزامی است. برای مشاهده کدهای موجود، 'omniroute config lang list' را اجرا کنید.", "unknown": "کد زبان ناشناخته است: {code}. برای مشاهده کدهای موجود، 'omniroute config lang list' را اجرا کنید.", "alreadySet": "زبان از قبل روی {code} تنظیم شده است.", "envHint": "نکته: همچنین میتوانید OMNIROUTE_LANG={code} را در محیط خود تنظیم کنید." } }, "completion": { "description": "تولید یا نصب اسکریپتهای تکمیل خودکار پوسته", "zsh": "چاپ اسکریپت تکمیل خودکار zsh", "bash": "چاپ اسکریپت تکمیل خودکار bash", "fish": "چاپ اسکریپت تکمیل خودکار fish", "install": "نصب سراسری اسکریپت تکمیل خودکار برای پوسته شناساییشده", "refresh": "تازهسازی حافظه نهان ترکیبها، ارائهدهندگان و مدلها" }, "logs": { "description": "پخش زنده یا برونبری گزارشهای درخواست", "follow": "پخش زنده گزارشها بهصورت بلادرنگ", "filter": "فیلتر بر اساس سطح (error,warn,info) — با جداکننده ویرگول", "lines": "تعداد خطوط برای دریافت", "timeout": "مهلت اتصال برحسب میلیثانیه", "baseUrl": "نشانی پایه API OmniRoute", "requestId": "فیلتر بر اساس شناسه درخواست", "apiKey": "فیلتر بر اساس کلید API", "combo": "فیلتر بر اساس نام ترکیب", "status": "فیلتر بر اساس کد وضعیت HTTP", "durationMin": "حداقل مدت درخواست برحسب میلیثانیه", "durationMax": "حداکثر مدت درخواست برحسب میلیثانیه", "export": "ذخیره گزارشها در فایل (json/jsonl/csv)", "exported": "گزارشها در {path} ذخیره شدند", "stopped": "پخش زنده گزارشها متوقف شد.", "streamError": "خطای پخش زنده گزارشها: {message}" }, "tray": { "description": "کنترل نماد سینی سیستم", "show": "نمایش نماد سینی (اگر سرور با --tray در حال اجرا است)", "hide": "پنهان کردن نماد سینی", "quit": "خروج از OmniRoute از طریق سینی" }, "autostart": { "description": "مدیریت اجرای خودکار OmniRoute هنگام راهاندازی سیستم (Linux: سرویس کاربر systemd)", "enable": "فعالسازی اجرای خودکار هنگام راهاندازی سیستم", "disable": "غیرفعالسازی اجرای خودکار هنگام راهاندازی سیستم", "toggle": "تغییر وضعیت اجرای خودکار هنگام راهاندازی سیستم", "status": "نمایش وضعیت اجرای خودکار" }, "runtime": { "description": "مدیریت وابستگیهای بومی زمان اجرا", "check": "بررسی وضعیت وابستگیهای بومی در پوشه زمان اجرا", "repair": "نصب مجدد وابستگیهای بومی در پوشه زمان اجرا", "repair_force": "نصب مجدد اجباری، حتی در صورت معتبر بودن", "clean": "حذف پوشه زمان اجرا (فضای دیسک را آزاد میکند)", "clean_yes": "رد کردن تأییدیه" }, "repl": { "description": "REPL تعاملی چندمرحلهای با LLM", "model": "مدل مورد استفاده (پیشفرض: auto)", "combo": "نام ترکیب مورد استفاده", "system": "پرامپت سیستمی", "resume": "ازسرگیری یک نشست ذخیرهشده بر اساس نام" }, "plugin": { "description": "مدیریت افزونههای CLI (omniroute-cmd-*)", "list": "فهرست افزونههای نصبشده", "install": "نصب افزونه از npm یا مسیر محلی", "remove": "حذف افزونه نصبشده", "info": "نمایش جزئیات افزونه نصبشده", "search": "جستوجوی رجیستری npm برای افزونههای موجود", "update": "بهروزرسانی افزونههای نصبشده", "scaffold": "ایجاد ساختار اولیه یک افزونه جدید" }, "launch": { "description": "اجرای Claude Code با اتصال به OmniRoute (محلی یا راه دور، با --profile)", "token": "توکنی که کلاینت Claude باید ارسال کند (ANTHROPIC_AUTH_TOKEN)", "notRunning": "OmniRoute در {port} در دسترس نیست. آن را با 'omniroute serve' راهاندازی کنید.", "notFound": "CLI مربوط به 'claude' در PATH یافت نشد." }, "run": { "description": "اجرای یک مقصد CLI پشتیبانیشده از طریق OmniRoute" }, "setupClaude": { "description": "ایجاد پروفایلهای Claude Code در ~/.claude/profiles از کاتالوگ مدل OmniRoute" }, "connect": { "description": "اتصال به یک سرور راه دور OmniRoute و ورود به حالت راه دور" }, "tokens": { "description": "مدیریت توکنهای دسترسی CLI با دامنه مشخص (حالت راه دور)" }, "configure": { "description": "انتخاب یک ارائهدهنده+مدل از سرور فعال و پیکربندی یک CLI محلی پشتیبانیشده" }, "launchCodex": { "description": "اجرای Codex CLI با اتصال به OmniRoute (محلی یا VPS راه دور)" }, "setupCodex": { "description": "ایجاد فایلهای پروفایل ~/.codex از کاتالوگ زنده مدل OmniRoute" }, "packs": { "description": "مدیریت بستههای اختیاری زمان اجرا (ML / خودکارسازی مرورگر)", "listDescription": "فهرست بستههای اختیاری و وضعیت نصب آنها", "installDescription": "نصب یک بسته اختیاری در DATA_DIR", "verifyDescription": "اعتبارسنجی بستههای نصبشده با فهرست چکسام ارائهشده", "removeDescription": "حذف یک بسته اختیاری نصبشده", "sourceOpt": "پوشه حاوی محتوای بستهها و فهرست بستهها", "warnNoIndex": "optional-packs.index.json یافت نشد — نصب/اعتبارسنجی در این نسخه در دسترس نیست (بستههای دسکتاپ آن را شامل میشوند)", "errUnknown": "بسته ناشناخته: {name}", "errNoIndex": "فهرست بستهها یافت نشد؛ --source