feat: add useApiSettings hook for managing API settings, including providers, endpoints, cache, and model pools

- Implemented hooks for CRUD operations on providers and endpoints.
- Added cache management hooks for cache stats and settings.
- Introduced model pool management hooks for high availability and load balancing.
- Created localization files for English and Chinese translations of API settings.
This commit is contained in:
catlog22
2026-02-01 23:14:55 +08:00
parent b76424feef
commit e5252f8a77
27 changed files with 4370 additions and 201 deletions

View File

@@ -0,0 +1,335 @@
{
"title": "API 设置",
"description": "管理 LiteLLM 提供商、端点、缓存设置和模型池",
"tabs": {
"providers": "提供商",
"endpoints": "端点",
"cache": "缓存",
"modelPools": "模型池",
"cliSettings": "CLI 设置"
},
"providers": {
"title": "提供商",
"description": "配置 API 提供商凭据和多密钥设置",
"stats": {
"total": "总提供商数",
"enabled": "已启用"
},
"actions": {
"add": "添加提供商",
"edit": "编辑提供商",
"delete": "删除提供商",
"test": "测试连接",
"multiKeySettings": "多密钥设置",
"syncToCodexLens": "同步到 CodexLens",
"manageModels": "管理模型",
"addModel": "添加模型"
},
"deleteConfirm": "确定要删除提供商 \"{name}\" 吗?",
"emptyState": {
"title": "未找到提供商",
"message": "添加提供商以配置 API 凭据和模型。"
},
"apiFormat": "API 格式",
"openaiCompatible": "OpenAI 兼容",
"customFormat": "自定义格式",
"apiFormatHint": "大多数提供商使用 OpenAI 兼容格式",
"displayName": "显示名称",
"apiKey": "API 密钥",
"useEnvVar": "使用环境变量(例如:${OPENAI_API_KEY}",
"apiBaseUrl": "API 基础 URL",
"preview": "预览",
"enableProvider": "启用此提供商",
"advancedSettings": "高级设置",
"timeout": "超时",
"timeoutHint": "请求超时时间默认300",
"maxRetries": "最大重试次数",
"organization": "组织",
"organizationHint": "OpenAI 特定的组织 ID",
"apiVersion": "API 版本",
"apiVersionHint": "Azure 特定的 API 版本例如2024-02-01",
"rpm": "RPM",
"tpm": "TPM",
"unlimited": "无限制",
"proxy": "代理 URL",
"customHeaders": "自定义请求头",
"customHeadersHint": "JSON 格式,例如:{\"X-Custom\": \"value\"}",
"testConnection": "测试连接",
"connectionSuccess": "连接成功",
"connectionFailed": "连接失败",
"addProviderFirst": "请先添加提供商",
"saveProviderFirst": "请先保存提供商",
"llmModels": "LLM 模型",
"embeddingModels": "嵌入模型",
"rerankerModels": "重排序模型",
"noModels": "此提供商未配置模型",
"selectProvider": "选择提供商",
"selectProviderHint": "选择提供商以查看和管理其模型",
"modelSettings": "模型设置",
"deleteModel": "删除模型",
"multiKeySettings": "多密钥设置",
"keyLabel": "密钥标签",
"keyValue": "密钥值",
"keyWeight": "权重",
"routingStrategy": "路由策略",
"healthCheck": "健康检查",
"healthStatus": "健康状态",
"lastCheck": "最后检查",
"lastError": "最后错误",
"lastLatency": "延迟",
"cooldown": "冷却",
"consecutiveFailures": "失败次数",
"inCooldown": "冷却中",
"healthy": "健康",
"unhealthy": "不健康",
"unknown": "未知",
"justNow": "刚刚",
"minutesAgo": "分钟前",
"hoursAgo": "小时前",
"daysAgo": "天前",
"seconds": "秒",
"testKey": "测试密钥",
"addKey": "添加密钥",
"enableKey": "启用",
"disableKey": "禁用",
"deleteKey": "删除密钥",
"simpleShuffle": "简单随机",
"weighted": "加权",
"latencyBased": "基于延迟",
"costBased": "基于成本",
"leastBusy": "最少繁忙",
"enableHealthCheck": "启用健康检查",
"checkInterval": "检查间隔(秒)",
"cooldownPeriod": "冷却周期(秒)",
"failureThreshold": "失败阈值",
"addLlmModel": "添加 LLM 模型",
"addEmbeddingModel": "添加嵌入模型",
"addRerankerModel": "添加重排序模型",
"selectFromPresets": "从预设选择",
"customModel": "自定义模型...",
"modelId": "模型 ID",
"modelName": "模型名称",
"modelSeries": "模型系列",
"contextWindow": "上下文窗口",
"capabilities": "功能",
"streaming": "流式传输",
"functionCalling": "函数调用",
"vision": "视觉",
"embeddingMaxTokens": "最大令牌数",
"rerankerTopK": "Top K",
"rerankerTopKHint": "返回的结果数量",
"embeddingDimensions": "维度",
"description": "描述",
"optional": "可选",
"modelIdExists": "模型 ID 已存在",
"useModelTreeToManage": "使用提供商卡片管理模型",
"endpointPreview": "端点预览",
"modelBaseUrlOverride": "基础 URL 覆盖",
"modelBaseUrlHint": "为此模型覆盖基础 URL",
"basicInfo": "基本信息",
"endpointSettings": "端点设置",
"apiBaseUpdated": "基础 URL 已更新"
},
"endpoints": {
"title": "端点",
"description": "配置带有缓存策略的自定义 API 端点",
"stats": {
"totalEndpoints": "总端点数",
"cachedEndpoints": "已缓存端点"
},
"actions": {
"add": "添加端点",
"edit": "编辑端点",
"delete": "删除端点",
"enable": "启用",
"disable": "禁用"
},
"deleteConfirm": "确定要删除端点 \"{id}\" 吗?",
"emptyState": {
"title": "未找到端点",
"message": "添加端点以配置自定义 API 映射。"
},
"endpointId": "端点 ID",
"endpointIdHint": "唯一的 CLI 标识符例如my-gpt4o",
"name": "名称",
"provider": "提供商",
"model": "模型",
"noModelsConfigured": "此提供商未配置模型",
"selectModel": "选择模型...",
"cacheStrategy": "缓存策略",
"enableContextCaching": "启用上下文缓存",
"cacheTTL": "缓存 TTL分钟",
"cacheMaxSize": "最大大小KB",
"autoCachePatterns": "自动缓存模式",
"filePatternsHint": "逗号分隔的 glob 模式(例如:*.md,*.ts",
"enabled": "已启用",
"disabled": "已禁用",
"noEndpoints": "未配置端点",
"noEndpointsHint": "添加端点以创建带有缓存的自定义 API 映射。",
"providerBased": "基于提供商",
"direct": "直接",
"off": "关闭"
},
"cache": {
"title": "缓存",
"description": "管理全局缓存设置和查看缓存统计信息",
"settings": {
"title": "缓存设置",
"globalCache": "全局缓存",
"enableGlobalCaching": "启用全局缓存",
"cacheDirectory": "缓存目录",
"maxSize": "最大总大小MB",
"cacheUsage": "缓存使用",
"cacheEntries": "缓存条目",
"cacheSize": "缓存大小",
"used": "已使用",
"total": "总计",
"actions": "缓存操作",
"clearCache": "清除缓存",
"confirmClearCache": "确定要清除缓存吗?这将删除所有缓存条目。"
},
"statistics": {
"title": "缓存统计",
"cachedEntries": "已缓存条目",
"storageUsed": "已用存储",
"totalSize": "总大小"
},
"actions": {
"clear": "清除缓存",
"confirmClear": "确定要清除缓存吗?"
},
"messages": {
"cacheCleared": "缓存已清除",
"cacheSettingsUpdated": "缓存设置已更新"
}
},
"modelPools": {
"title": "模型池",
"description": "配置模型池以实现高可用性和负载均衡",
"stats": {
"total": "总池数",
"enabled": "已启用"
},
"actions": {
"add": "添加模型池",
"edit": "编辑模型池",
"delete": "删除模型池",
"autoDiscover": "自动发现"
},
"deleteConfirm": "确定要删除模型池 \"{name}\" 吗?",
"emptyState": {
"title": "未找到模型池",
"message": "添加模型池以启用高可用性和负载均衡。"
},
"modelType": "模型类型",
"embedding": "嵌入",
"llm": "LLM",
"reranker": "重排序",
"targetModel": "目标模型",
"selectTargetModel": "选择目标模型...",
"strategy": "策略",
"roundRobin": "轮询",
"latencyAware": "延迟感知",
"weightedRandom": "加权随机",
"poolEnabled": "池已启用",
"autoDiscover": "自动发现提供商",
"excludedProviders": "排除的提供商",
"defaultCooldown": "默认冷却时间(秒)",
"defaultConcurrent": "默认并发数",
"discoveredProviders": "已发现的提供商",
"excludeProvider": "排除",
"includeProvider": "包含",
"noProvidersFound": "未找到提供此模型的提供商",
"poolSaved": "模型池已保存",
"embeddingPoolDesc": "配置模型池以实现跨多个提供商的高可用性和负载均衡",
"embeddingPool": "嵌入池",
"discovered": "已发现",
"providers": "提供商"
},
"cliSettings": {
"title": "CLI 设置",
"description": "配置 CLI 工具设置和模式",
"stats": {
"total": "总设置数",
"enabled": "已启用"
},
"actions": {
"add": "添加 CLI 设置",
"edit": "编辑 CLI 设置",
"delete": "删除 CLI 设置"
},
"deleteConfirm": "确定要删除 CLI 设置 \"{name}\" 吗?",
"emptyState": {
"title": "未找到 CLI 设置",
"message": "添加 CLI 设置以配置工具特定选项。"
},
"mode": "模式",
"providerBased": "基于提供商",
"direct": "直接",
"authToken": "认证令牌",
"baseUrl": "基础 URL",
"model": "模型"
},
"ccwLitellm": {
"title": "CCW-LiteLLM 包",
"description": "管理 ccw-litellm Python 包安装",
"status": {
"installed": "已安装",
"notInstalled": "未安装",
"version": "版本"
},
"actions": {
"install": "安装",
"uninstall": "卸载",
"refreshStatus": "刷新状态"
},
"messages": {
"installSuccess": "ccw-litellm 安装成功",
"installFailed": "ccw-litellm 安装失败",
"uninstallSuccess": "ccw-litellm 卸载成功",
"uninstallFailed": "ccw-litellm 卸载失败"
}
},
"common": {
"save": "保存",
"cancel": "取消",
"confirm": "确认",
"delete": "删除",
"edit": "编辑",
"add": "添加",
"close": "关闭",
"loading": "加载中...",
"error": "错误",
"success": "成功",
"warning": "警告",
"optional": "可选",
"enabled": "已启用",
"disabled": "已禁用",
"searchPlaceholder": "搜索...",
"noResults": "未找到结果",
"actions": "操作",
"name": "名称",
"description": "描述",
"type": "类型",
"status": "状态"
},
"messages": {
"settingsSaved": "设置保存成功",
"settingsDeleted": "设置删除成功",
"providerSaved": "提供商保存成功",
"providerDeleted": "提供商删除成功",
"providerUpdated": "提供商更新成功",
"endpointSaved": "端点保存成功",
"endpointDeleted": "端点删除成功",
"confirmDeleteProvider": "确定要删除此提供商吗?",
"confirmDeleteEndpoint": "确定要删除此端点吗?",
"confirmClearCache": "确定要清除缓存吗?",
"invalidJsonHeaders": "自定义请求头的 JSON 格式无效",
"failedToLoad": "加载数据失败",
"noProviders": "无提供商",
"noProvidersHint": "添加提供商以开始配置 API。",
"noEndpoints": "无端点",
"noEndpointsHint": "添加端点以创建自定义 API 映射。",
"configSynced": "配置已同步到 YAML 文件"
}
}

View File

@@ -13,6 +13,7 @@
"overview": "概览",
"settings": "设置",
"models": "模型",
"search": "搜索",
"advanced": "高级"
},
"overview": {
@@ -114,6 +115,8 @@
"advanced": {
"warningTitle": "敏感操作警告",
"warningMessage": "修改环境变量可能影响 CodexLens 的正常运行。请确保您了解每个变量的作用。",
"loadError": "加载环境变量失败",
"loadErrorDesc": "无法获取环境配置。请检查 CodexLens 是否正确安装。",
"currentVars": "当前环境变量",
"settingsVars": "设置变量",
"customVars": "自定义变量",
@@ -170,9 +173,35 @@
"title": "CodexLens 未安装",
"description": "请先安装 CodexLens 以使用模型管理功能。"
},
"error": {
"title": "加载模型失败",
"description": "无法获取模型列表。请检查 CodexLens 是否正确安装。"
},
"empty": {
"title": "没有找到模型",
"description": "尝试调整搜索或筛选条件"
"description": "当前没有可用模型。请从列表中下载模型。",
"filtered": "没有匹配的模型",
"filteredDesc": "尝试调整搜索或筛选条件"
}
},
"search": {
"type": "搜索类型",
"content": "内容搜索",
"files": "文件搜索",
"symbol": "符号搜索",
"mode": "模式",
"mode.semantic": "语义(默认)",
"mode.exact": "精确FTS",
"mode.fuzzy": "模糊",
"query": "查询",
"queryPlaceholder": "输入搜索查询...",
"button": "搜索",
"searching": "搜索中...",
"results": "结果",
"resultsCount": "个结果",
"notInstalled": {
"title": "CodexLens 未安装",
"description": "请先安装 CodexLens 以使用语义代码搜索功能。"
}
}
}