guide.json 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. {
  2. "after": "After:",
  3. "before": "Before:",
  4. "bestPracticesConcurrent": "• Concurrent Control: Set session concurrency by provider API limits",
  5. "bestPracticesCost": "• Cost Multiplier: Official=1.0, Self-hosted can be 0.8-1.2",
  6. "bestPracticesLimit": "• Limit Settings: Set 5h, 7d, 30d limits based on budget",
  7. "bestPracticesPriority": "• Priority Settings: Core providers=0, Backup=1-3",
  8. "bestPracticesTitle": "Best Practices",
  9. "bestPracticesWeight": "• Weight Config: Set weight by capacity (higher capacity = higher weight)",
  10. "circuitBreaker": "Circuit Breaker Check",
  11. "circuitBreakerOpen": "A filtered, remaining: B, C, D",
  12. "circuitBreakerRecovery": "A automatically recovers to half-open after 60 seconds",
  13. "circuitBreakerRecovery5h": "Auto recovery after 5-hour sliding window",
  14. "costOptimize": "2. Cost Optimization: Within same priority, lower cost multiplier has higher probability",
  15. "costSort": "Cost-based Sorting Fallback",
  16. "costSortExample": "All providers: A (default), B (premium), C (premium), D (economy)",
  17. "costSortProb": "Lower cost C has higher selection probability",
  18. "costSortResult": "After sorting: C (0.8x), A (1.0x)",
  19. "decision": "Decision:",
  20. "group": "User Group Filtering",
  21. "groupDesc": "If user has provider group specified, system prioritizes selection from that group",
  22. "groupDowngrade": "Log warning and select from global provider pool",
  23. "groupExample": "User configured providerGroup = 'premium'",
  24. "groupFallback": "If no available providers in user group, fallback to all providers",
  25. "groupFiltered": "Select only from A and C, B and D filtered",
  26. "groupUnavailable": "All providers in user group 'vip' are disabled or over limit",
  27. "health": "Health Filtering (Circuit Breaker + Rate Limit)",
  28. "healthCheck": "Check if B is enabled and healthy",
  29. "healthCheckAmountLimit": "Check if spending exceeds limits (5h, 7d, 30d)",
  30. "healthCheckAmountLimitExample": "Provider B has $10 limit (5h), $9.8 consumed",
  31. "healthCheckCircuit": "Provider A failed 5 times, circuit breaker: open",
  32. "healthCheckConcurrent": "Check if current active session count exceeds limit",
  33. "healthCheckConcurrentExample": "Provider C limit 2, currently 2 active sessions",
  34. "healthFilter": "3. Health Filtering: Auto skip circuit-broken or over-limit providers",
  35. "healthFiltered": "B filtered (near limit), remaining: C, D",
  36. "healthFiltered2": "C filtered (full), remaining: D",
  37. "history": "Check Request History",
  38. "historyDesc": "Query providers used by this API Key in last 10 seconds",
  39. "priority": "Priority Layering",
  40. "priorityExample": "4 enabled providers with different priorities",
  41. "priorityFirst": "1. Priority First: Select only from highest priority (lowest number) providers",
  42. "priorityResult": "Filtered to highest priority (0) providers: A, C",
  43. "priorityStep": "System first filters by priority, selecting only from highest priority providers",
  44. "randomResult": "Finally selected C randomly",
  45. "randomSelect": "Weighted Random",
  46. "reset": "Manual Circuit Breaker Reset",
  47. "resetSuccess": "Circuit breaker reset",
  48. "scenario1Desc": "System first filters by priority, selecting only from highest priority providers",
  49. "scenario1Step1": "Initial State",
  50. "scenario1Step1After": "Filtered to highest priority (0) providers: A, C",
  51. "scenario1Step1Before": "Provider A (priority 0), B (priority 1), C (priority 0), D (priority 2)",
  52. "scenario1Step1Decision": "Select only from A and C, B and D filtered out",
  53. "scenario1Step1Desc": "4 enabled providers with different priorities",
  54. "scenario1Step2": "Cost Sorting",
  55. "scenario1Step2After": "After sorting: C (0.8x), A (1.0x)",
  56. "scenario1Step2Before": "A (cost 1.0x), C (cost 0.8x)",
  57. "scenario1Step2Decision": "Lower cost C has higher selection probability",
  58. "scenario1Step2Desc": "Within same priority, sort by cost multiplier low to high",
  59. "scenario1Step3": "Weighted Random",
  60. "scenario1Step3After": "C has 75% probability, A has 25%",
  61. "scenario1Step3Before": "C (weight 3), A (weight 1)",
  62. "scenario1Step3Decision": "Finally randomly selected C",
  63. "scenario1Step3Desc": "Use weight for random selection, higher weight = higher probability",
  64. "scenario1Title": "Priority Layering",
  65. "scenario2Desc": "If user has provider group specified, system prioritizes selection from that group",
  66. "scenario2Step1": "Check User Group",
  67. "scenario2Step1After": "Filtered to 'premium' group: B, C",
  68. "scenario2Step1Before": "All providers: A (default), B (premium), C (premium), D (economy)",
  69. "scenario2Step1Decision": "Select only from B and C",
  70. "scenario2Step1Desc": "User configured providerGroup = 'premium'",
  71. "scenario2Step2": "Group Fallback",
  72. "scenario2Step2After": "Fallback to all enabled providers: A, B, C, D",
  73. "scenario2Step2Before": "All providers in user group 'vip' disabled or over limit",
  74. "scenario2Step2Decision": "Log warning and select from global provider pool",
  75. "scenario2Step2Desc": "If no available providers in user group, fallback to all providers",
  76. "scenario2Title": "User Group Filtering",
  77. "scenario3Desc": "System auto filters circuit-broken or over-limit providers",
  78. "scenario3Step1": "Circuit Breaker Check",
  79. "scenario3Step1After": "A filtered, remaining: B, C, D",
  80. "scenario3Step1Before": "Provider A failed 5 times, circuit breaker: open",
  81. "scenario3Step1Decision": "A auto recovers to half-open after 60s",
  82. "scenario3Step1Desc": "Circuit breaker opens after 5 consecutive failures, unavailable for 60s",
  83. "scenario3Step2": "Amount Rate Limit",
  84. "scenario3Step2After": "B filtered (near limit), remaining: C, D",
  85. "scenario3Step2Before": "Provider B 5h limit $10, consumed $9.8",
  86. "scenario3Step2Decision": "Auto recovery after 5h sliding window",
  87. "scenario3Step2Desc": "Check if spending exceeds limits (5h, 7d, 30d)",
  88. "scenario3Step3": "Concurrent Session Limit",
  89. "scenario3Step3After": "C filtered (full), remaining: D",
  90. "scenario3Step3Before": "Provider C concurrent limit 2, currently 2 active sessions",
  91. "scenario3Step3Decision": "Auto release after session expiry (5 min)",
  92. "scenario3Step3Desc": "Check if active session count exceeds configured concurrent limit",
  93. "scenario3Title": "Health Filtering (Circuit Breaker + Rate Limit)",
  94. "scenario4Desc": "Consecutive chats prioritize using same provider, leveraging Claude context cache",
  95. "scenario4Step1": "Check Request History",
  96. "scenario4Step1After": "Check if B is enabled and healthy",
  97. "scenario4Step1Before": "Last request used provider B",
  98. "scenario4Step1Decision": "B available, reuse directly, skip random selection",
  99. "scenario4Step1Desc": "Query providers used by this API Key in last 10 seconds",
  100. "scenario4Step2": "Reuse Invalidation",
  101. "scenario4Step2After": "Enter normal selection flow",
  102. "scenario4Step2Before": "Last used provider B disabled or circuit-broken",
  103. "scenario4Step2Decision": "Select from other available providers",
  104. "scenario4Step2Desc": "If last used provider unavailable, reselect",
  105. "scenario4Title": "Session Reuse Mechanism",
  106. "scenariosTitle": "Interactive Scenario Demos",
  107. "session": "Session Reuse Mechanism",
  108. "sessionDesc": "If the last used provider is unavailable, reselect",
  109. "sessionExample": "Last request used provider B",
  110. "sessionExpired": "Session automatically released after expiration (5 minutes)",
  111. "sessionFallback": "Select from other available providers",
  112. "sessionLastUsed": "B is available, reuse directly, skip random selection",
  113. "sessionReuse": "4. Session Reuse: Consecutive chats reuse same provider, saving context costs",
  114. "sessionUnavailable": "Last used provider B is disabled or circuit-broken",
  115. "step": "Step",
  116. "title": "Core Principles",
  117. "weight": "Weighted random selection based on weight",
  118. "weightCalc": "C has 75% selection probability, A has 25%",
  119. "weightExample": "C (weight 3), A (weight 1)"
  120. }