Sfoglia il codice sorgente

Merge branch 'main' into dev

Ding 4 mesi fa
parent
commit
eecd4f7053
4 ha cambiato i file con 271 aggiunte e 4 eliminazioni
  1. 3 0
      CHANGELOG.md
  2. 1 1
      README.md
  3. 1 1
      VERSION
  4. 266 2
      public/seed/litellm-prices.json

+ 3 - 0
CHANGELOG.md

@@ -6,6 +6,7 @@ All notable changes to this project will be documented in this file.
 
 ### Added
 
+- Add real-time monitoring big screen dashboard with live metrics, 24h trends, provider slots status, and activity stream (#184) @ding113
 - Add dark mode support with theme switcher in Dashboard and settings pages (#171) @ding113
 - Add MCP (Model Context Protocol) passthrough functionality to forward tool calls to third-party AI services (#193) @ding113
 
@@ -15,5 +16,7 @@ All notable changes to this project will be documented in this file.
 
 ### Fixed
 
+- Fix database migration duplicate enum type creation error (#181) @ding113
+- Fix error handling and status codes in response handler, improve user management page UX (#179) @ding113
 - Fix infinite loop in leaderboard tab switching (#178) @ding113
 - Fix CI failures: Prettier formatting and React Hooks ESLint error in theme-switcher (#173) @ding113

+ 1 - 1
README.md

@@ -30,7 +30,7 @@ Claude Code Hub 通过 Next.js 15 + Hono + PostgreSQL + Redis 组合,实现 Cl
 </td>
 <td>
 <b>💎 特别优惠</b>:<a href="https://cubence.com?source=cch">Cubence</a> 一家稳定高效的AI服务中转平台,为 Claude Code、Codex、Gemini 等AI工具提供中转服务,有着不错的稳定性和性价比。<br/>
-Cubence 为 CCH 的使用用户提供了特别的优惠折扣:在购买时使用优惠券 <code>DING113CCH</code>,可享受 <b>10% 优惠折扣</b> → <a href="https://cubence.com?source=cch">立即访问</a>
+Cubence 为 CCH 的使用用户提供了特别的优惠折扣:在购买时使用优惠券 <code>DING113CCH</code>,可享受 <b>20% 优惠折扣</b> → <a href="https://cubence.com?source=cch">立即访问</a>
 </td>
 </tr>
 </table>

+ 1 - 1
VERSION

@@ -1 +1 @@
-0.3.4
+0.3.9

+ 266 - 2
public/seed/litellm-prices.json

@@ -5573,6 +5573,20 @@
         "supports_tool_choice": true,
         "supports_vision": true
     },
+    "bedrock/us-gov-east-1/claude-sonnet-4-5-20250929-v1:0": {
+        "input_cost_per_token": 3.3e-06,
+        "litellm_provider": "bedrock",
+        "max_input_tokens": 200000,
+        "max_output_tokens": 4096,
+        "max_tokens": 4096,
+        "mode": "chat",
+        "output_cost_per_token": 1.65e-05,
+        "supports_function_calling": true,
+        "supports_pdf_input": true,
+        "supports_response_schema": true,
+        "supports_tool_choice": true,
+        "supports_vision": true
+    },
     "bedrock/us-gov-east-1/meta.llama3-70b-instruct-v1:0": {
         "input_cost_per_token": 2.65e-06,
         "litellm_provider": "bedrock",
@@ -5700,6 +5714,20 @@
         "supports_tool_choice": true,
         "supports_vision": true
     },
+    "bedrock/us-gov-west-1/claude-sonnet-4-5-20250929-v1:0": {
+        "input_cost_per_token": 3.3e-06,
+        "litellm_provider": "bedrock",
+        "max_input_tokens": 200000,
+        "max_output_tokens": 4096,
+        "max_tokens": 4096,
+        "mode": "chat",
+        "output_cost_per_token": 1.65e-05,
+        "supports_function_calling": true,
+        "supports_pdf_input": true,
+        "supports_response_schema": true,
+        "supports_tool_choice": true,
+        "supports_vision": true
+    },
     "bedrock/us-gov-west-1/meta.llama3-70b-instruct-v1:0": {
         "input_cost_per_token": 2.65e-06,
         "litellm_provider": "bedrock",
@@ -5906,7 +5934,7 @@
         "supports_function_calling": true,
         "supports_tool_choice": true
     },
-    "cerebras/openai/gpt-oss-120b": {
+    "cerebras/gpt-oss-120b": {
         "input_cost_per_token": 2.5e-07,
         "litellm_provider": "cerebras",
         "max_input_tokens": 131072,
@@ -11367,6 +11395,39 @@
         "supports_web_search": true,
         "tpm": 8000000
     },
+    "gemini-3-pro-image-preview": {
+        "input_cost_per_image": 0.0011,
+        "input_cost_per_token": 2e-06,
+        "input_cost_per_token_batches": 1e-06,
+        "litellm_provider": "vertex_ai-language-models",
+        "max_input_tokens": 65536,
+        "max_output_tokens": 32768,
+        "max_tokens": 65536,
+        "mode": "image_generation",
+        "output_cost_per_image": 0.134,
+        "output_cost_per_token": 1.2e-05,
+        "output_cost_per_token_batches": 6e-06,
+        "source": "https://ai.google.dev/gemini-api/docs/pricing",
+        "supported_endpoints": [
+            "/v1/chat/completions",
+            "/v1/completions",
+            "/v1/batch"
+        ],
+        "supported_modalities": [
+            "text",
+            "image"
+        ],
+        "supported_output_modalities": [
+            "text",
+            "image"
+        ],
+        "supports_function_calling": false,
+        "supports_prompt_caching": true,
+        "supports_response_schema": true,
+        "supports_system_messages": true,
+        "supports_vision": true,
+        "supports_web_search": true
+    },
     "gemini-2.5-flash-lite": {
         "cache_read_input_token_cost": 2.5e-08,
         "input_cost_per_audio_token": 5e-07,
@@ -13071,6 +13132,41 @@
         "supports_web_search": true,
         "tpm": 8000000
     },
+    "gemini/gemini-3-pro-image-preview": {
+        "input_cost_per_image": 0.0011,
+        "input_cost_per_token": 2e-06,
+        "input_cost_per_token_batches": 1e-06,
+        "litellm_provider": "gemini",
+        "max_input_tokens": 65536,
+        "max_output_tokens": 32768,
+        "max_tokens": 65536,
+        "mode": "image_generation",
+        "output_cost_per_image": 0.134,
+        "output_cost_per_token": 1.2e-05,
+        "rpm": 1000,
+        "tpm": 4000000,
+        "output_cost_per_token_batches": 6e-06,
+        "source": "https://ai.google.dev/gemini-api/docs/pricing",
+        "supported_endpoints": [
+            "/v1/chat/completions",
+            "/v1/completions",
+            "/v1/batch"
+        ],
+        "supported_modalities": [
+            "text",
+            "image"
+        ],
+        "supported_output_modalities": [
+            "text",
+            "image"
+        ],
+        "supports_function_calling": false,
+        "supports_prompt_caching": true,
+        "supports_response_schema": true,
+        "supports_system_messages": true,
+        "supports_vision": true,
+        "supports_web_search": true
+    },
     "gemini/gemini-2.5-flash-lite": {
         "cache_read_input_token_cost": 2.5e-08,
         "input_cost_per_audio_token": 5e-07,
@@ -22603,6 +22699,20 @@
         "supports_parallel_function_calling": true,
         "supports_tool_choice": true
     },
+    "together_ai/zai-org/GLM-4.6": {
+        "input_cost_per_token": 0.6e-06,
+        "litellm_provider": "together_ai",
+        "max_input_tokens": 200000,
+        "max_output_tokens": 200000,
+        "max_tokens": 200000,
+        "mode": "chat",
+        "output_cost_per_token": 2.2e-06,
+        "source": "https://www.together.ai/models/glm-4-6",
+        "supports_function_calling": true,
+        "supports_parallel_function_calling": true,
+        "supports_reasoning": true,
+        "supports_tool_choice": true
+    },
     "together_ai/moonshotai/Kimi-K2-Instruct-0905": {
         "input_cost_per_token": 1e-06,
         "litellm_provider": "together_ai",
@@ -24538,10 +24648,66 @@
         "supports_tool_choice": true
     },
     "vertex_ai/gemini-2.5-flash-image": {
+        "cache_read_input_token_cost": 3e-08,
+        "input_cost_per_audio_token": 1e-06,
+        "input_cost_per_token": 3e-07,
         "litellm_provider": "vertex_ai-language-models",
+        "max_audio_length_hours": 8.4,
+        "max_audio_per_prompt": 1,
+        "max_images_per_prompt": 3000,
+        "max_input_tokens": 32768,
+        "max_output_tokens": 32768,
+        "max_tokens": 32768,
+        "max_pdf_size_mb": 30,
+        "max_video_length": 1,
+        "max_videos_per_prompt": 10,
         "mode": "image_generation",
         "output_cost_per_image": 0.039,
-        "source": "https://cloud.google.com/vertex-ai/generative-ai/docs/multimodal/image-generation#edit-an-image"
+        "output_cost_per_reasoning_token": 2.5e-06,
+        "output_cost_per_token": 2.5e-06,
+        "rpm": 100000,
+        "source": "https://cloud.google.com/vertex-ai/generative-ai/docs/multimodal/image-generation#edit-an-image",
+        "supported_endpoints": [
+            "/v1/chat/completions",
+            "/v1/completions",
+            "/v1/batch"
+        ],
+        "supported_modalities": [
+            "text",
+            "image",
+            "audio",
+            "video"
+        ],
+        "supported_output_modalities": [
+            "text",
+            "image"
+        ],
+        "supports_audio_output": false,
+        "supports_function_calling": true,
+        "supports_parallel_function_calling": true,
+        "supports_pdf_input": true,
+        "supports_prompt_caching": true,
+        "supports_response_schema": true,
+        "supports_system_messages": true,
+        "supports_tool_choice": true,
+        "supports_url_context": true,
+        "supports_vision": true,
+        "supports_web_search": false,
+        "tpm": 8000000
+    },
+    "vertex_ai/gemini-3-pro-image-preview": {
+        "input_cost_per_image": 0.0011,
+        "input_cost_per_token": 2e-06,
+        "input_cost_per_token_batches": 1e-06,
+        "litellm_provider": "vertex_ai-language-models",
+        "max_input_tokens": 65536,
+        "max_output_tokens": 32768,
+        "max_tokens": 65536,
+        "mode": "image_generation",
+        "output_cost_per_image": 0.134,
+        "output_cost_per_token": 1.2e-05,
+        "output_cost_per_token_batches": 6e-06,
+        "source": "https://docs.cloud.google.com/vertex-ai/generative-ai/docs/models/gemini/3-pro-image"
     },
     "vertex_ai/imagegeneration@006": {
         "litellm_provider": "vertex_ai-image-models",
@@ -26085,6 +26251,104 @@
         "supports_tool_choice": true,
         "supports_web_search": true
     },
+    "xai/grok-4-1-fast": {
+        "cache_read_input_token_cost": 0.05e-06,
+        "input_cost_per_token": 0.2e-06,
+        "input_cost_per_token_above_128k_tokens": 0.4e-06,
+        "litellm_provider": "xai",
+        "max_input_tokens": 2e6,
+        "max_output_tokens": 2e6,
+        "max_tokens": 2e6,
+        "mode": "chat",
+        "output_cost_per_token": 0.5e-06,
+        "output_cost_per_token_above_128k_tokens": 1e-06,
+        "source": "https://docs.x.ai/docs/models/grok-4-1-fast-reasoning",
+        "supports_audio_input": true,
+        "supports_function_calling": true,
+        "supports_reasoning": true,
+        "supports_response_schema": true,
+        "supports_tool_choice": true,
+        "supports_vision": true,
+        "supports_web_search": true
+    },
+    "xai/grok-4-1-fast-reasoning": {
+        "cache_read_input_token_cost": 0.05e-06,
+        "input_cost_per_token": 0.2e-06,
+        "input_cost_per_token_above_128k_tokens": 0.4e-06,
+        "litellm_provider": "xai",
+        "max_input_tokens": 2e6,
+        "max_output_tokens": 2e6,
+        "max_tokens": 2e6,
+        "mode": "chat",
+        "output_cost_per_token": 0.5e-06,
+        "output_cost_per_token_above_128k_tokens": 1e-06,
+        "source": "https://docs.x.ai/docs/models/grok-4-1-fast-reasoning",
+        "supports_audio_input": true,
+        "supports_function_calling": true,
+        "supports_reasoning": true,
+        "supports_response_schema": true,
+        "supports_tool_choice": true,
+        "supports_vision": true,
+        "supports_web_search": true
+    },
+    "xai/grok-4-1-fast-reasoning-latest": {
+        "cache_read_input_token_cost": 0.05e-06,
+        "input_cost_per_token": 0.2e-06,
+        "input_cost_per_token_above_128k_tokens": 0.4e-06,
+        "litellm_provider": "xai",
+        "max_input_tokens": 2e6,
+        "max_output_tokens": 2e6,
+        "max_tokens": 2e6,
+        "mode": "chat",
+        "output_cost_per_token": 0.5e-06,
+        "output_cost_per_token_above_128k_tokens": 1e-06,
+        "source": "https://docs.x.ai/docs/models/grok-4-1-fast-reasoning",
+        "supports_audio_input": true,
+        "supports_function_calling": true,
+        "supports_reasoning": true,
+        "supports_response_schema": true,
+        "supports_tool_choice": true,
+        "supports_vision": true,
+        "supports_web_search": true
+    },
+    "xai/grok-4-1-fast-non-reasoning": {
+        "cache_read_input_token_cost": 0.05e-06,
+        "input_cost_per_token": 0.2e-06,
+        "input_cost_per_token_above_128k_tokens": 0.4e-06,
+        "litellm_provider": "xai",
+        "max_input_tokens": 2e6,
+        "max_output_tokens": 2e6,
+        "max_tokens": 2e6,
+        "mode": "chat",
+        "output_cost_per_token": 0.5e-06,
+        "output_cost_per_token_above_128k_tokens": 1e-06,
+        "source": "https://docs.x.ai/docs/models/grok-4-1-fast-non-reasoning",
+        "supports_audio_input": true,
+        "supports_function_calling": true,
+        "supports_response_schema": true,
+        "supports_tool_choice": true,
+        "supports_vision": true,
+        "supports_web_search": true
+    },
+    "xai/grok-4-1-fast-non-reasoning-latest": {
+        "cache_read_input_token_cost": 0.05e-06,
+        "input_cost_per_token": 0.2e-06,
+        "input_cost_per_token_above_128k_tokens": 0.4e-06,
+        "litellm_provider": "xai",
+        "max_input_tokens": 2e6,
+        "max_output_tokens": 2e6,
+        "max_tokens": 2e6,
+        "mode": "chat",
+        "output_cost_per_token": 0.5e-06,
+        "output_cost_per_token_above_128k_tokens": 1e-06,
+        "source": "https://docs.x.ai/docs/models/grok-4-1-fast-non-reasoning",
+        "supports_audio_input": true,
+        "supports_function_calling": true,
+        "supports_response_schema": true,
+        "supports_tool_choice": true,
+        "supports_vision": true,
+        "supports_web_search": true
+    },
     "xai/grok-beta": {
         "input_cost_per_token": 5e-06,
         "litellm_provider": "xai",