feat: 阈值预警/加力钱包/api_key_env/版本跟踪器/一键体检 — bump to v0.7.20
Release / Version consistency (push) Canceled after 0s
Release / Build (macos-latest) (push) Canceled after 0s
Release / Build (ubuntu-latest) (push) Canceled after 0s
Release / Build (windows-latest) (push) Canceled after 0s
Release / Attach macOS install script (push) Canceled after 0s

This commit is contained in:
KimiSwitch Dev committed 2026-09-20 09:49:49 +08:00
1 parent 35581103ed
commit fcd08eae32
35 files changed
+2567 -91

No files matched your search

+49
View File
@@ -43,6 +43,26 @@ export const enTranslations: Record<TranslationKey, string> = {
connectivityOk: "{name} reachable ({latency}ms)",
connectivitySlow: "{name} reachable but slow ({latency}ms)",
connectivityFail: "{name} unreachable: {error}",
// Health check (ProviderList toolbar button + per-row status dot)
healthCheck: "Health check",
healthCheckHint:
"Probe every enabled provider's inference endpoint and billing query in parallel",
healthCheckRunning: "Checking…",
healthSummary: "{ok} OK / {fail} failed",
healthProbeOk: "Endpoint OK ({latency}ms)",
healthProbeUnsupported: "Endpoint exposes no model list (404)",
healthProbeFail: "Endpoint failed: {error}",
healthUsageOk: "Billing OK",
healthUsageFail: "Billing failed: {error}",
healthNotChecked: "Not checked",
healthRequestFailed: "Health check request failed: {error}",
healthErrNoBaseUrl: "Missing base URL",
healthErrNoKey: "No API key configured",
healthErrAuth: "Authentication failed",
healthErrNotFound: "Endpoint not found",
healthErrTimeout: "Connection timed out",
healthErrUnreachable: "Cannot connect (DNS failure or connection refused)",
healthErrBadJson: "Response is not valid JSON",
copiedProvider: "Duplicated as {name}",
// Provider edit
@@ -78,6 +98,12 @@ export const enTranslations: Record<TranslationKey, string> = {
authField: "Auth Field",
apiKey: "API Key",
getApiKeyLink: "Get API Key",
apiKeySource: "Credential source",
apiKeySourceDirect: "Enter key",
apiKeySourceEnv: "Environment variable",
apiKeyEnvName: "Variable name",
apiKeyEnvHint:
"Only the variable name (api_key_env) is written; Kimi Code reads the secret from its environment. The two sources are mutually exclusive, so switching clears the other.",
show: "Show",
hide: "Hide",
requestUrl: "Request URL",
@@ -142,9 +168,16 @@ export const enTranslations: Record<TranslationKey, string> = {
loopControlSettings: "Loop Control",
maxAttemptsPerStep: "Max attempts per step",
reservedContextSize: "Reserved context size",
compactionMaxAttempts: "Max compaction attempts",
compactionMaxAttemptsHint:
"Retry limit after a failed context compaction. Empty or 0 leaves the key out of the config (upstream default 5).",
backgroundSettings: "Background Tasks",
maxRunningTasks: "Max running tasks",
keepAliveOnExit: "Keep alive on exit",
watchSettings: "File Watching",
watchEnabled: "Enable file watching",
watchEnabledDesc:
"Watch config files and the workspace for changes (configurable since kimi-code 2.0.1, off by default since 2.0.2). The KIMI_CODE_WATCH environment variable overrides this setting.",
permissionRules: "Permission Rules",
permissionDecision: "Decision",
permissionPattern: "Pattern",
@@ -283,6 +316,18 @@ export const enTranslations: Record<TranslationKey, string> = {
install: "Install",
updateCheckFailed: "Update check failed",
lastChecked: "Last checked",
// Kimi Code version tracking
kimiCodeSection: "Kimi Code version",
kimiCodeInstalled: "Installed",
kimiCodeLatest: "Latest",
kimiCodeStatusLabel: "Compatibility",
kimiCodeStatusCurrent: "Supported",
kimiCodeStatusOutdated: "Update KimiSwitch recommended",
kimiCodeStatusPartial: "Partially compatible",
kimiCodeStatusUnknown: "Unknown version",
kimiCodeStatusNotInstalled: "Not installed",
kimiCodeCheck: "Check",
kimiCodeOpenReleases: "Open releases",
appDescription: "Windows desktop LLM provider config manager",
settingsWebsite: "Official website",
kimiEyesSite: "Kimi Eyes plugin site",
@@ -450,6 +495,10 @@ export const enTranslations: Record<TranslationKey, string> = {
usageTierWeekly: "Weekly",
usageTierMonthly: "Monthly",
usageTierMonthCode: "Monthly (code)",
usageTierBoosterWallet: "Booster",
usageThreshold: "Alert threshold",
usageThresholdHint: "Highlight any window that reaches this percentage; 0 = off",
usageThresholdAlert: "Threshold reached",
usageErrNoKey: "No API key configured",
usageErrDisabled: "Usage query is disabled in the config panel",
usageErrLoginExpired: "Kimi Code login expired and auto-refresh failed; run `kimi login` again",
+47
View File
@@ -41,6 +41,25 @@ export const zhTranslations = {
connectivityOk: "{name} 连通正常({latency}ms)",
connectivitySlow: "{name} 连通较慢({latency}ms)",
connectivityFail: "{name} 无法连通:{error}",
// 一键体检(ProviderList 工具栏按钮 + 行内状态点)
healthCheck: "一键体检",
healthCheckHint: "并行检测所有启用供应商的推理端点与账单查询",
healthCheckRunning: "体检中…",
healthSummary: "{ok} 正常 / {fail} 失败",
healthProbeOk: "端点正常({latency}ms)",
healthProbeUnsupported: "端点不支持模型列表(404)",
healthProbeFail: "端点失败:{error}",
healthUsageOk: "账单正常",
healthUsageFail: "账单失败:{error}",
healthNotChecked: "未检测",
healthRequestFailed: "体检请求失败:{error}",
healthErrNoBaseUrl: "缺少 base_url",
healthErrNoKey: "未配置 API Key",
healthErrAuth: "鉴权失败",
healthErrNotFound: "端点不存在",
healthErrTimeout: "连接超时",
healthErrUnreachable: "无法连接(DNS 解析失败或连接被拒绝)",
healthErrBadJson: "响应不是合法 JSON",
copiedProvider: "已复制为 {name}",
// Provider edit
@@ -76,6 +95,12 @@ export const zhTranslations = {
authField: "认证字段",
apiKey: "API Key",
getApiKeyLink: "获取 API Key",
apiKeySource: "凭证来源",
apiKeySourceDirect: "直接填写",
apiKeySourceEnv: "环境变量",
apiKeyEnvName: "环境变量名",
apiKeyEnvHint:
"只写入变量名(api_key_env),密钥由 Kimi Code 从运行环境读取;两者互斥,切换后会清空另一种。",
show: "显示",
hide: "隐藏",
requestUrl: "请求地址",
@@ -140,9 +165,15 @@ export const zhTranslations = {
loopControlSettings: "循环控制",
maxAttemptsPerStep: "单步最大尝试次数",
reservedContextSize: "上下文预留大小",
compactionMaxAttempts: "压缩最大尝试次数",
compactionMaxAttemptsHint: "上下文压缩失败后的重试上限,留空或 0 表示不写入该项(上游默认 5)。",
backgroundSettings: "后台任务",
maxRunningTasks: "最大并发数",
keepAliveOnExit: "退出时保持运行",
watchSettings: "文件监听",
watchEnabled: "启用文件监听",
watchEnabledDesc:
"监听配置文件与工作目录变化(kimi-code 2.0.1 起可配置,2.0.2 起默认关闭)。环境变量 KIMI_CODE_WATCH 会覆盖本配置。",
permissionRules: "权限规则",
permissionDecision: "处置",
permissionPattern: "模式",
@@ -277,6 +308,18 @@ export const zhTranslations = {
install: "安装",
updateCheckFailed: "检查更新失败",
lastChecked: "上次检查",
// Kimi Code 版本跟踪
kimiCodeSection: "Kimi Code 版本",
kimiCodeInstalled: "已安装版本",
kimiCodeLatest: "最新版本",
kimiCodeStatusLabel: "适配状态",
kimiCodeStatusCurrent: "已适配",
kimiCodeStatusOutdated: "建议升级 KimiSwitch",
kimiCodeStatusPartial: "部分兼容",
kimiCodeStatusUnknown: "未知版本",
kimiCodeStatusNotInstalled: "未安装",
kimiCodeCheck: "检查",
kimiCodeOpenReleases: "打开 Releases",
appDescription: "Windows 桌面端 LLM 供应商配置管理器",
settingsWebsite: "官方网站",
kimiEyesSite: "Kimi Eyes 插件站",
@@ -444,6 +487,10 @@ export const zhTranslations = {
usageTierWeekly: "7天",
usageTierMonthly: "30天",
usageTierMonthCode: "30天(代码)",
usageTierBoosterWallet: "加力钱包",
usageThreshold: "预警阈值",
usageThresholdHint: "任一用量窗口达到该百分比时高亮提醒,0 为关闭",
usageThresholdAlert: "已达预警阈值",
usageErrNoKey: "未配置 API Key",
usageErrDisabled: "用量查询已在配置面板中停用",
usageErrLoginExpired: "Kimi Code 登录已过期且自动续期失败,请重新运行 `kimi login`",