sections.json 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377
  1. {
  2. "basic": {
  3. "identity": {
  4. "title": "Идентификация провайдера",
  5. "desc": "Укажите уникальное имя для идентификации этого провайдера"
  6. },
  7. "endpoint": {
  8. "title": "API Endpoint",
  9. "desc": "Настройте базовый URL для API запросов"
  10. },
  11. "endpointPool": {
  12. "title": "Пул эндпоинтов",
  13. "desc": "Управляйте эндпоинтами для этого типа провайдера"
  14. },
  15. "auth": {
  16. "title": "Аутентификация",
  17. "desc": "Укажите API ключ для аутентификации"
  18. }
  19. },
  20. "apiTest": {
  21. "desc": "Проверяет доступность модели у провайдера. По умолчанию соответствует типу провайдера, выбранному в настройках маршрутизации.",
  22. "summary": "Проверка связности провайдера и модели",
  23. "testLabel": "Тест модели провайдера",
  24. "title": "Тест модели провайдера"
  25. },
  26. "circuitBreaker": {
  27. "desc": "Автоматическое отключение при серии неудач для защиты качества сервиса",
  28. "failureThreshold": {
  29. "desc": "Сколько подряд неудач для срабатывания",
  30. "label": "Порог неудач",
  31. "placeholder": "5",
  32. "warning": "Значение 0 отключает предохранитель - используйте с осторожностью"
  33. },
  34. "maxRetryAttempts": {
  35. "desc": "Общее число попыток (включая первую) перед переключением на другого провайдера. Оставьте пустым для значения по умолчанию.",
  36. "label": "Максимум попыток на провайдера",
  37. "placeholder": "2"
  38. },
  39. "openDuration": {
  40. "desc": "Через сколько перейти в полураскрытое состояние",
  41. "label": "Длительность блокировки (мин)",
  42. "placeholder": "30"
  43. },
  44. "successThreshold": {
  45. "desc": "Сколько успешных запросов в полураскрытом режиме для полного восстановления",
  46. "label": "Порог восстановления",
  47. "placeholder": "2"
  48. },
  49. "summary": "{failureThreshold} неудач / {openDuration} мин. блокировки / {successThreshold} успеха для восстановления / до {maxRetryAttempts} попыток на провайдера",
  50. "title": "Предохранитель"
  51. },
  52. "mcpPassthrough": {
  53. "desc": "При включении передаёт вызовы инструментов MCP указанному AI-провайдеру (например, minimax для распознавания изображений, веб-поиска)",
  54. "hint": "Подсказка: сквозная передача MCP позволяет клиенту Claude Code использовать возможности инструментов, предоставляемых сторонними AI-провайдерами (например, распознавание изображений, веб-поиск)",
  55. "select": {
  56. "custom": {
  57. "desc": "Сквозная передача в пользовательский сервис MCP (зарезервировано, не реализовано)",
  58. "label": "Пользовательский"
  59. },
  60. "glm": {
  61. "desc": "Сквозная передача в сервис GLM MCP (поддержка анализа изображений, видео и т.д.)",
  62. "label": "GLM"
  63. },
  64. "label": "Тип сквозной передачи",
  65. "minimax": {
  66. "desc": "Сквозная передача в сервис minimax MCP (поддержка распознавания изображений, веб-поиска и т.д.)",
  67. "label": "Minimax"
  68. },
  69. "none": {
  70. "desc": "Не включать сквозную передачу MCP (по умолчанию)",
  71. "label": "Отключено"
  72. },
  73. "placeholder": "Выберите тип сквозной передачи"
  74. },
  75. "summary": {
  76. "custom": "Пользовательский (Зарезервировано)",
  77. "glm": "GLM",
  78. "minimax": "Minimax",
  79. "none": "Отключено"
  80. },
  81. "title": "Конфигурация сквозной передачи MCP",
  82. "urlAuto": "Автоматически извлечено: {url}",
  83. "urlDesc": "Базовый URL сервиса MCP. Оставьте пустым для автоматического извлечения из URL провайдера",
  84. "urlLabel": "URL сквозной передачи MCP",
  85. "urlPlaceholder": "https://api.minimaxi.com"
  86. },
  87. "proxy": {
  88. "desc": "Настройте прокси для улучшения соединения (поддержка HTTP, HTTPS, SOCKS4, SOCKS5)",
  89. "fallback": {
  90. "desc": "При включении будет предпринята попытка прямого соединения при сбое прокси",
  91. "label": "Откат к прямому соединению при сбое прокси"
  92. },
  93. "summary": {
  94. "configured": "Прокси настроен",
  95. "fallback": " (включён откат)",
  96. "none": "Не настроено"
  97. },
  98. "test": {
  99. "desc": "Проверка доступа к URL провайдера через прокси (запрос HEAD, без списания средств)",
  100. "label": "Проверка соединения"
  101. },
  102. "title": "Прокси",
  103. "url": {
  104. "formats": "Поддерживаемые форматы:",
  105. "label": "URL прокси",
  106. "optional": "(необязательно)",
  107. "placeholder": "например: http://proxy.example.com:8080 или socks5://127.0.0.1:1080"
  108. }
  109. },
  110. "rateLimit": {
  111. "title": "Ограничения",
  112. "desc": "Настройка лимитов расходов для контроля затрат в разных временных окнах",
  113. "dailyResetMode": {
  114. "desc": {
  115. "fixed": "Сбрасывать квоту каждый день в фиксированное время",
  116. "rolling": "Считать от первой заявки, сброс через 24 часа"
  117. },
  118. "label": "Режим ежедневного сброса",
  119. "options": {
  120. "fixed": "Фиксированное время",
  121. "rolling": "Скользящее окно (24 часа)"
  122. }
  123. },
  124. "dailyResetTime": {
  125. "label": "Время ежедневного сброса (HH:mm)"
  126. },
  127. "limit5h": {
  128. "label": "Лимит за 5 часов (USD)",
  129. "placeholder": "Пусто — без ограничений"
  130. },
  131. "limitConcurrent": {
  132. "label": "Лимит параллельных сессий",
  133. "placeholder": "0 — без ограничений"
  134. },
  135. "limitDaily": {
  136. "label": "Дневной лимит расходов (USD)",
  137. "placeholder": "Пусто — без ограничений"
  138. },
  139. "limitMonthly": {
  140. "label": "Месячный лимит (USD)",
  141. "placeholder": "Пусто — без ограничений"
  142. },
  143. "limitTotal": {
  144. "label": "Общий лимит (USD)",
  145. "placeholder": "Пусто — без ограничений"
  146. },
  147. "limitWeekly": {
  148. "label": "Недельный лимит (USD)",
  149. "placeholder": "Пусто — без ограничений"
  150. },
  151. "summary": {
  152. "concurrent": "Параллельно: {count}",
  153. "daily": "день: {amount} (сброс {resetTime})",
  154. "fiveHour": "5ч: ${amount}",
  155. "monthly": "Месяц: ${amount}",
  156. "none": "Без ограничений",
  157. "total": "Всего: ${amount}",
  158. "weekly": "Неделя: ${amount}"
  159. },
  160. "title": "Ограничения"
  161. },
  162. "limits": {
  163. "timeBased": "Временные ограничения",
  164. "dailyReset": "Настройки ежедневного сброса",
  165. "otherLimits": "Другие ограничения"
  166. },
  167. "routing": {
  168. "cacheTtl": {
  169. "desc": "Принудительно задать TTL кэша промптов; влияет только на запросы с cache_control.",
  170. "label": "Переопределение Cache TTL",
  171. "options": {
  172. "1h": "1 час",
  173. "5m": "5 минут",
  174. "inherit": "Не переопределять (следовать клиенту)"
  175. }
  176. },
  177. "codexOverrides": {
  178. "title": "Переопределение параметров Codex",
  179. "desc": "Переопределение параметров запросов Codex (Responses API) на уровне провайдера",
  180. "parallelToolCalls": {
  181. "help": "Управляет тем, разрешены ли параллельные вызовы инструментов. \"inherit\" следует запросу клиента. Отключение может снизить параллельность вызовов инструментов.",
  182. "label": "Переопределение параллельных tool calls",
  183. "options": {
  184. "false": "Принудительно отключить",
  185. "inherit": "Не переопределять (следовать клиенту)",
  186. "true": "Принудительно включить"
  187. }
  188. },
  189. "reasoningEffort": {
  190. "help": "Управляет тем, сколько усилий модель тратит на рассуждения перед ответом. \"inherit\" следует запросу клиента, остальные значения принудительно задают reasoning.effort. Примечание: \"none\" поддерживается только моделями GPT-5.1, а \"xhigh\" — только GPT-5.1-Codex-Max. Неподдерживаемые значения приведут к ошибке у апстрима.",
  191. "label": "Переопределение уровня рассуждений",
  192. "options": {
  193. "high": "high",
  194. "inherit": "Не переопределять (следовать клиенту)",
  195. "low": "low",
  196. "medium": "medium (по умолчанию)",
  197. "minimal": "minimal",
  198. "none": "none (только GPT-5.1)",
  199. "xhigh": "xhigh (только GPT-5.1-Codex-Max)"
  200. }
  201. },
  202. "reasoningSummary": {
  203. "help": "Управляет тем, возвращает ли Responses API сводку рассуждений. auto — кратко, detailed — подробнее. \"inherit\" следует запросу клиента.",
  204. "label": "Переопределение сводки рассуждений",
  205. "options": {
  206. "auto": "auto",
  207. "detailed": "detailed",
  208. "inherit": "Не переопределять (следовать клиенту)"
  209. }
  210. },
  211. "textVerbosity": {
  212. "help": "Управляет подробностью ответа. low — короче, high — подробнее. \"inherit\" следует запросу клиента.",
  213. "label": "Переопределение подробности текста",
  214. "options": {
  215. "high": "high",
  216. "inherit": "Не переопределять (следовать клиенту)",
  217. "low": "low",
  218. "medium": "medium (по умолчанию)"
  219. }
  220. }
  221. },
  222. "anthropicOverrides": {
  223. "maxTokens": {
  224. "label": "Переопределение Max Tokens",
  225. "help": "Переопределяет max_tokens в теле запроса. Диапазон: 1-64000. 'Наследовать' следует запросу клиента.",
  226. "options": {
  227. "inherit": "Без переопределения (следовать клиенту)",
  228. "custom": "Пользовательское"
  229. },
  230. "placeholder": "напр. 32000"
  231. },
  232. "thinkingBudget": {
  233. "label": "Переопределение бюджета размышлений",
  234. "help": "Переопределяет thinking.budget_tokens в теле запроса. Диапазон: 1024-32000. При установке принудительно включает thinking.type = 'enabled'. Если также включено адаптивное мышление и модель совпадает, адаптивное имеет приоритет.",
  235. "options": {
  236. "inherit": "Без переопределения (следовать клиенту)",
  237. "custom": "Пользовательское"
  238. },
  239. "placeholder": "напр. 10240",
  240. "maxOutButton": "Максимум (32000)"
  241. },
  242. "adaptiveThinking": {
  243. "label": "Адаптивное мышление",
  244. "help": "Включить режим адаптивного мышления. При включении и совпадении модели имеет приоритет над бюджетом размышлений. Несовпадающие модели используют переопределение бюджета.",
  245. "effort": {
  246. "label": "Уровень усилий",
  247. "help": "Управляет глубиной рассуждений. Выше = глубже.",
  248. "options": {
  249. "low": "Низкий",
  250. "medium": "Средний",
  251. "high": "Высокий (Рекомендуется)",
  252. "max": "Максимальный"
  253. }
  254. },
  255. "modelMatchMode": {
  256. "label": "Сопоставление моделей",
  257. "help": "Какие модели используют адаптивное мышление.",
  258. "options": {
  259. "all": "Все модели",
  260. "specific": "Только определённые модели"
  261. }
  262. },
  263. "models": {
  264. "label": "Целевые модели",
  265. "help": "Модели с адаптивным мышлением. Несовпадающие модели передаются без изменений.",
  266. "placeholder": "напр. claude-opus-4-6",
  267. "addButton": "Добавить модель"
  268. }
  269. }
  270. },
  271. "geminiOverrides": {
  272. "title": "Переопределение параметров Gemini",
  273. "desc": "Переопределение параметров запроса Gemini API на уровне провайдера",
  274. "googleSearch": {
  275. "label": "Google Search (веб-доступ)",
  276. "options": {
  277. "inherit": "Без переопределения (следовать клиенту)",
  278. "enabled": "Принудительно включено",
  279. "disabled": "Принудительно отключено"
  280. }
  281. }
  282. },
  283. "context1m": {
  284. "desc": "Настройка поддержки контекстного окна 1M. Применяется только к моделям Sonnet (claude-sonnet-4-5, claude-sonnet-4). При включении применяется многоуровневая тарификация.",
  285. "label": "Контекстное окно 1M",
  286. "options": {
  287. "disabled": "Отключено",
  288. "forceEnable": "Принудительно включить",
  289. "inherit": "Наследовать (следовать клиенту)"
  290. }
  291. },
  292. "modelRedirects": {
  293. "label": "Перенаправление моделей",
  294. "optional": "(необязательно)"
  295. },
  296. "modelWhitelist": {
  297. "allowAll": "✓ Разрешить все модели (рекомендуется)",
  298. "desc": "Ограничьте модели, которые может обслуживать провайдер. По умолчанию доступны все модели данного типа.",
  299. "label": "Разрешённые модели",
  300. "moreModels": "+{count} ещё",
  301. "optional": "(необязательно)",
  302. "selectedOnly": "Разрешены только выбранные {count} моделей. Другие модели не будут направляться к этому провайдеру.",
  303. "title": "Список разрешённых моделей"
  304. },
  305. "preserveClientIp": {
  306. "desc": "Передавать x-forwarded-for / x-real-ip в апстрим (может раскрыть реальный IP клиента)",
  307. "help": "По умолчанию выключено для приватности. Включайте только если апстриму нужен IP пользователя.",
  308. "label": "Пробрасывать IP клиента"
  309. },
  310. "providerType": {
  311. "desc": "(определяет политику выбора)",
  312. "label": "Тип провайдера",
  313. "placeholder": "Выберите тип провайдера"
  314. },
  315. "providerTypeDesc": "Выберите формат API провайдера.",
  316. "providerTypeDisabledNote": "Примечание: функции типа OpenAI Compatible находятся в разработке и пока недоступны",
  317. "scheduleParams": {
  318. "costMultiplier": {
  319. "desc": "Множитель при расчёте стоимости. Официальный=1.0, дешевле на 20%=0.8, дороже на 20%=1.2 (до 4 знаков после запятой)",
  320. "label": "Множитель стоимости",
  321. "placeholder": "1.0"
  322. },
  323. "group": {
  324. "desc": "Тег группы. Выберите из списка или введите новое имя и нажмите Enter для создания (макс. 50 символов). Только пользователи с соответствующим providerGroup могут использовать этого провайдера.",
  325. "label": "Группа провайдера",
  326. "placeholder": "напр. premium, economy"
  327. },
  328. "groupPriorities": {
  329. "label": "Приоритет по группам",
  330. "desc": "Переопределение глобального приоритета для определённых групп. Оставьте пустым для использования глобального приоритета выше.",
  331. "placeholder": "Использовать глобальный приоритет",
  332. "noGroups": "Сначала задайте тег группы для настройки приоритетов по группам"
  333. },
  334. "priority": {
  335. "desc": "Меньше — выше приоритет (0 — наивысший). Система выбирает только из провайдеров с максимальным приоритетом. Рекомендации: основной=0, резерв=1, аварийный=2",
  336. "label": "Приоритет",
  337. "placeholder": "0"
  338. },
  339. "title": "Параметры выбора",
  340. "weight": {
  341. "desc": "Взвешенное случайное распределение. В пределах одного приоритета больший вес увеличивает вероятность выбора. Пример 1:2:3 ≈ 16%:33%:50%",
  342. "label": "Вес",
  343. "placeholder": "1"
  344. }
  345. },
  346. "summary": {
  347. "models": "{count} моделей в белом списке",
  348. "none": "Не настроено",
  349. "redirects": "{count} правил перенаправления"
  350. },
  351. "title": "Маршрутизация"
  352. },
  353. "timeout": {
  354. "desc": "Установить время ожидания запроса, 0 означает отключение тайм-аута",
  355. "disableHint": "Установите 0 для отключения тайм-аута (только для сценариев отката канарейки, не рекомендуется)",
  356. "nonStreamingTotal": {
  357. "core": "true",
  358. "desc": "Полный тайм-аут непотоковой передачи, диапазон 60-1200 секунд, 0 для отключения (по умолчанию: без ограничений)",
  359. "label": "Полный тайм-аут непотоковой передачи (секунды)",
  360. "placeholder": "0"
  361. },
  362. "streamingFirstByte": {
  363. "core": "true",
  364. "desc": "Тайм-аут первого байта потоковой передачи, диапазон 1-180 секунд, 0 для отключения (по умолчанию: без ограничений)",
  365. "label": "Тайм-аут первого байта потока (секунды)",
  366. "placeholder": "0"
  367. },
  368. "streamingIdle": {
  369. "core": "true",
  370. "desc": "Тайм-аут простоя потоковой передачи, диапазон 60-600 секунд, 0 для отключения (по умолчанию: без ограничений)",
  371. "label": "Тайм-аут простоя потока (секунды)",
  372. "placeholder": "0"
  373. },
  374. "summary": "1 байт: {streaming}с | поток: {idle}с | не поток: {nonStreaming}с",
  375. "title": "Конфигурация тайм-аута"
  376. }
  377. }