sections.json 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439
  1. {
  2. "basic": {
  3. "identity": {
  4. "title": "プロバイダー識別",
  5. "desc": "このプロバイダーを識別する一意の名前を設定"
  6. },
  7. "endpoint": {
  8. "title": "API エンドポイント",
  9. "desc": "API リクエストのベース URL を設定"
  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 の画像認識、Web 検索)",
  54. "hint": "ヒント: MCP パススルーにより、Claude Code クライアントは第三者の AI プロバイダー提供のツール機能(画像認識、Web 検索など)を使用できます",
  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 サービスにパススルー(画像認識、Web 検索などをサポート)",
  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": "MCP サービスベース URL。空のままにすると、プロバイダー URL から自動的に抽出されます",
  84. "urlLabel": "MCP パススルー URL",
  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": "http://、https://、socks5://、socks4:// プロトコルに対応。認証が必要な場合は http://user:password@host:port 形式を使用してください(パスワード内の特殊文字は URL エンコードが必要です。例: # → %23)",
  105. "label": "プロキシ URL",
  106. "optional": "(任意)",
  107. "placeholder": "例: http://proxy.example.com:8080、http://user:pass@proxy:8080、socks5://proxy.example.com: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": "1日の支出上限 (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": "5h: ${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": "キャッシュTTLオーバーライド",
  171. "options": {
  172. "1h": "1時間",
  173. "5m": "5分",
  174. "inherit": "オーバーライドしない(クライアントに従う)"
  175. }
  176. },
  177. "swapCacheTtlBilling": {
  178. "label": "キャッシュTTL課金スワップ",
  179. "desc": "受信データのキャッシュTTLを反転:1hトークンを5分として扱い、その逆も同様。バッジ、コスト、保存メトリクスすべてに影響します。"
  180. },
  181. "codexOverrides": {
  182. "title": "Codex パラメータオーバーライド",
  183. "desc": "プロバイダーレベルで Codex (Responses API) リクエストパラメータをオーバーライド",
  184. "parallelToolCalls": {
  185. "help": "並列の tool calls を許可するかどうかを制御します。「クライアントに従う」は parallel_tool_calls を変更しません。無効化すると並列度が下がる可能性があります。",
  186. "label": "並列ツール呼び出しオーバーライド",
  187. "options": {
  188. "false": "強制無効",
  189. "inherit": "オーバーライドしない(クライアントに従う)",
  190. "true": "強制有効"
  191. }
  192. },
  193. "serviceTier": {
  194. "help": "Codex(Responses API)リクエストの OpenAI service_tier を制御します。priority は fast モードに相当します。「クライアントに従う」は service_tier を上書きせず、その他の値は強制上書きします。上流が未対応の tier ではエラーになる場合があります。",
  195. "label": "Service Tier オーバーライド",
  196. "options": {
  197. "auto": "auto(プロジェクト既定)",
  198. "default": "default(標準)",
  199. "flex": "flex(ベストエフォート)",
  200. "inherit": "オーバーライドしない(クライアントに従う)",
  201. "priority": "priority(fast)"
  202. }
  203. },
  204. "reasoningEffort": {
  205. "help": "回答前にモデルが使う推論の強度(推論トークン量)を制御します。「クライアントに従う」はリクエストを変更しません。その他の値は reasoning.effort を強制します。注意: none は GPT-5.4 mini のみ、未対応モデルではエラーになります。",
  206. "label": "推論強度オーバーライド",
  207. "options": {
  208. "high": "high",
  209. "inherit": "オーバーライドしない(クライアントに従う)",
  210. "low": "low",
  211. "medium": "medium(デフォルト)",
  212. "minimal": "minimal",
  213. "none": "none(GPT-5.4 mini のみ)",
  214. "xhigh": "xhigh"
  215. }
  216. },
  217. "reasoningSummary": {
  218. "help": "推論サマリーを返すかどうかを制御します。auto は簡潔、detailed は詳細です。「クライアントに従う」は reasoning.summary を変更しません。",
  219. "label": "推論サマリーオーバーライド",
  220. "options": {
  221. "auto": "auto",
  222. "detailed": "detailed",
  223. "inherit": "オーバーライドしない(クライアントに従う)"
  224. }
  225. },
  226. "textVerbosity": {
  227. "help": "モデル出力の冗長さを制御します。low は簡潔、high は詳細です。「クライアントに従う」は text.verbosity を変更しません。",
  228. "label": "出力の詳細度オーバーライド",
  229. "options": {
  230. "high": "high",
  231. "inherit": "オーバーライドしない(クライアントに従う)",
  232. "low": "low",
  233. "medium": "medium(デフォルト)"
  234. }
  235. }
  236. },
  237. "anthropicOverrides": {
  238. "maxTokens": {
  239. "label": "Max Tokens オーバーライド",
  240. "help": "リクエストボディの max_tokens を上書きします。範囲:1-64000。「継承」はクライアントリクエストに従います。",
  241. "options": {
  242. "inherit": "上書きなし(クライアントに従う)",
  243. "custom": "カスタム"
  244. },
  245. "placeholder": "例: 32000"
  246. },
  247. "thinkingBudget": {
  248. "label": "思考予算オーバーライド",
  249. "help": "リクエストボディの thinking.budget_tokens を上書きします。範囲:1024-32000。設定すると thinking.type が 'enabled' に強制されます。アダプティブ思考も有効でモデルが一致する場合、アダプティブが優先されます。",
  250. "options": {
  251. "inherit": "上書きなし(クライアントに従う)",
  252. "custom": "カスタム"
  253. },
  254. "placeholder": "例: 10240",
  255. "maxOutButton": "最大化 (32000)"
  256. },
  257. "adaptiveThinking": {
  258. "label": "アダプティブ思考",
  259. "help": "アダプティブ思考モードを有効にします。有効かつモデルが一致する場合、思考予算オーバーライドより優先されます。一致しないモデルは思考予算オーバーライドにフォールバックします。",
  260. "effort": {
  261. "label": "思考レベル",
  262. "help": "推論の深さを制御します。高いほど深く考えます。",
  263. "options": {
  264. "low": "低",
  265. "medium": "中",
  266. "high": "高",
  267. "xhigh": "超高(推奨)",
  268. "max": "最大"
  269. }
  270. },
  271. "modelMatchMode": {
  272. "label": "モデルマッチング",
  273. "help": "アダプティブ思考を使用するモデル。",
  274. "options": {
  275. "all": "全モデル",
  276. "specific": "特定モデルのみ"
  277. }
  278. },
  279. "models": {
  280. "label": "対象モデル",
  281. "help": "アダプティブ思考を使用するモデルリスト。一致しないモデルはそのまま透過されます。",
  282. "placeholder": "例: claude-opus-4-6",
  283. "addButton": "モデル追加"
  284. }
  285. }
  286. },
  287. "geminiOverrides": {
  288. "title": "Gemini パラメータオーバーライド",
  289. "desc": "プロバイダーレベルで Gemini API リクエストパラメータを上書きします",
  290. "googleSearch": {
  291. "label": "Google Search(ウェブアクセス)",
  292. "options": {
  293. "inherit": "上書きなし(クライアントに従う)",
  294. "enabled": "強制有効",
  295. "disabled": "強制無効"
  296. }
  297. }
  298. },
  299. "modelRedirects": {
  300. "label": "モデルリダイレクト設定",
  301. "optional": "(任意)"
  302. },
  303. "modelWhitelist": {
  304. "allowAll": "✓ すべてのモデルを許可(推奨)",
  305. "desc": "このプロバイダーが処理できるモデルを制限します。既定では同タイプのすべてのモデルを処理できます。",
  306. "legacyExactOnlyWarning": "この旧フォームでは完全一致の allowlist ルールしか表示できません。ここで保存すると prefix / suffix / keyword / regex ルールは失われます。高度なルールは新しいプロバイダーフォームで編集してください。",
  307. "label": "許可するモデル",
  308. "moreModels": "+{count} 件 さらに表示",
  309. "optional": "(任意)",
  310. "selectedOnly": "設定済みの {count} 件のルールに一致したモデルのみ許可します。他のモデルはこのプロバイダーにルーティングされません。",
  311. "title": "モデル許可リスト"
  312. },
  313. "clientRestrictions": {
  314. "toggleLabel": "クライアント制限を有効化",
  315. "toggleDesc": "既定ではクライアントを制限しません。有効化すると許可/拒否リストを設定できます。",
  316. "priorityNote": "拒否リストは許可リストより優先されます。",
  317. "allowedLabel": "許可クライアント",
  318. "allowedPlaceholder": "例: claude-code-cli",
  319. "blockedLabel": "ブロッククライアント",
  320. "blockedPlaceholder": "例: gemini-cli",
  321. "allowAction": "許可",
  322. "blockAction": "ブロック",
  323. "customAllowedLabel": "カスタム許可パターン",
  324. "customAllowedPlaceholder": "例: my-ide、internal-tool",
  325. "customBlockedLabel": "カスタムブロックパターン",
  326. "customBlockedPlaceholder": "例: legacy-client",
  327. "customHelp": "'*' なし:大文字小文字を区別しない部分一致('-' と '_' は無視)。'*' あり:UA の先頭からの glob パターンマッチ(*foo* で任意の位置に一致; 大文字小文字を区別しない、文字はそのまま一致)。",
  328. "presetClients": {
  329. "claude-code": "Claude Code(すべて)",
  330. "gemini-cli": "Gemini CLI",
  331. "factory-cli": "Droid CLI",
  332. "codex-cli": "Codex CLI"
  333. },
  334. "subClients": {
  335. "all": "すべて",
  336. "cli": "CLI",
  337. "vscode": "VS Code",
  338. "sdk-ts": "SDK (TypeScript)",
  339. "sdk-py": "SDK (Python)",
  340. "cli-sdk": "CLI SDK",
  341. "gh-action": "GitHub Action",
  342. "codex-cli-core": "CLI / TUI",
  343. "desktop": "Desktop",
  344. "exec": "Exec"
  345. },
  346. "nSelected": "{count} 件選択"
  347. },
  348. "testRule": "ルールマッチをテスト",
  349. "preserveClientIp": {
  350. "desc": "x-forwarded-for / x-real-ip を上流に渡します(実際の IP が露出する可能性)",
  351. "help": "プライバシー保護のためデフォルトはオフ。上流側で端末 IP が必要な場合のみ有効化してください。",
  352. "label": "クライアント IP を転送"
  353. },
  354. "disableSessionReuse": {
  355. "label": "セッション再利用をスキップ",
  356. "desc": "有効にすると、次回リクエストではこのプロバイダーの sticky binding を再利用せず、優先度とヘルスチェックをやり直します。安価な高優先度プロバイダーの復旧後に早く戻したい場合に適しています。"
  357. },
  358. "options": {
  359. "title": "オプション",
  360. "desc": "追加のプロバイダーオプションとオーバーライド"
  361. },
  362. "providerType": {
  363. "desc": "(スケジューリングに影響)",
  364. "label": "プロバイダー種別",
  365. "placeholder": "プロバイダー種別を選択"
  366. },
  367. "providerTypeDesc": "プロバイダーの API 形式を選択します。",
  368. "providerTypeDisabledNote": "注: OpenAI Compatible は開発中のため、現在は使用できません",
  369. "scheduleParams": {
  370. "costMultiplier": {
  371. "desc": "コスト計算の倍率。公式=1.0、20% 安い=0.8、20% 高い=1.2(小数4桁まで)",
  372. "label": "コスト倍率",
  373. "placeholder": "1.0"
  374. },
  375. "group": {
  376. "desc": "グループタグ。リストから選択するか、新しい名前を入力して Enter で作成(最大50文字)。providerGroup が一致するユーザーのみがこのプロバイダーを使用できます。",
  377. "label": "プロバイダーグループ",
  378. "placeholder": "例: premium, economy"
  379. },
  380. "groupPriorities": {
  381. "label": "グループ別優先度",
  382. "desc": "特定のグループに個別の優先度を設定します。空欄の場合は上記のグローバル優先度を使用します。",
  383. "placeholder": "グローバル優先度を使用",
  384. "noGroups": "グループ別優先度を設定するには、先にグループタグを設定してください"
  385. },
  386. "priority": {
  387. "desc": "値が小さいほど優先度が高くなります(0 が最も高い)。システムは最も高い優先度のプロバイダーのみから選択します。推奨: メイン=0、予備=1、緊急=2",
  388. "label": "優先度",
  389. "placeholder": "0"
  390. },
  391. "title": "スケジューリング設定",
  392. "weight": {
  393. "desc": "重み付きランダム。同一優先度内では重みが高いほど選ばれる確率が上がります。例 1:2:3 ≈ 16%:33%:50%",
  394. "label": "重み",
  395. "placeholder": "1"
  396. }
  397. },
  398. "activeTime": {
  399. "title": "スケジュール有効時間",
  400. "description": "指定した時間帯に自動的にプロバイダーを有効化します",
  401. "toggleLabel": "スケジュールを有効化",
  402. "toggleDescription": "有効にすると、指定した時間帯のみプロバイダーがアクティブになります",
  403. "startLabel": "開始時刻",
  404. "endLabel": "終了時刻",
  405. "timezoneNote": "時刻はシステムのタイムゾーンに基づきます",
  406. "crossDayHint": "日跨ぎスケジュール: {start} から翌日 {end} まで有効"
  407. },
  408. "summary": {
  409. "models": "許可モデル {count} 件",
  410. "none": "未設定",
  411. "redirects": "リダイレクト {count} 件"
  412. },
  413. "title": "ルーティング"
  414. },
  415. "timeout": {
  416. "desc": "リクエストのタイムアウト時間を設定します。0 は無効を意味します",
  417. "disableHint": "0に設定するとタイムアウトを無効にします(カナリアロールバックシナリオのみ、非推奨)",
  418. "nonStreamingTotal": {
  419. "core": "true",
  420. "desc": "非ストリーミングリクエストの総タイムアウト、範囲60~1800秒、0で無効化(デフォルト: 無制限)",
  421. "label": "非ストリーミング総タイムアウト(秒)",
  422. "placeholder": "0"
  423. },
  424. "streamingFirstByte": {
  425. "core": "true",
  426. "desc": "ストリーミングリクエストの初バイトタイムアウト、範囲1~180秒、0で無効化(デフォルト: 無制限)",
  427. "label": "ストリーミング初バイトタイムアウト(秒)",
  428. "placeholder": "0"
  429. },
  430. "streamingIdle": {
  431. "core": "true",
  432. "desc": "ストリーミングリクエストのアイドルタイムアウト、範囲60~600秒、0で無効化(デフォルト: 無制限)",
  433. "label": "ストリーミングアイドルタイムアウト(秒)",
  434. "placeholder": "0"
  435. },
  436. "summary": "初回バイト: {streaming}s | ストリーム間隔: {idle}s | 非ストリーミング: {nonStreaming}s",
  437. "title": "タイムアウト設定"
  438. }
  439. }