Skip to content

Commit a400564

Browse files
committed
chore: improve api line default value
1 parent b7456d6 commit a400564

File tree

6 files changed

+34
-14
lines changed

6 files changed

+34
-14
lines changed

packages/types/src/providers/siliconcloud.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import type { ModelInfo } from "../model.js"
22
import { SiliconCloudApiLine } from "../provider-settings.js"
33

44
export const siliconCloudDefaultModelId = "zai-org/GLM-4.6"
5+
export const siliconCloudDefaultApiLine: SiliconCloudApiLine = "china"
56

67
export const siliconCloudApiLineConfigs = {
78
china: { baseUrl: "https://api.siliconflow.cn/v1" },
@@ -97,7 +98,7 @@ const siliconCloudChinaModels: Record<string, ModelInfo> = {
9798
description:
9899
"Qwen3-Next-80B-A3B-Instruct 是由阿里巴巴通义千问团队发布的下一代基础模型。它基于全新的 Qwen3-Next 架构,旨在实现极致的训练和推理效率。该模型采用了创新的混合注意力机制(Gated DeltaNet 和 Gated Attention)、高稀疏度混合专家(MoE)结构以及多项训练稳定性优化。作为一个拥有 800 亿总参数的稀疏模型,它在推理时仅需激活约 30 亿参数,从而大幅降低了计算成本,并在处理超过 32K tokens 的长上下文任务时,推理吞吐量比 Qwen3-32B 模型高出 10 倍以上。此模型为指令微调版本,专为通用任务设计,不支持思维链(Thinking)模式。在性能上,它与通义千问的旗舰模型 Qwen3-235B 在部分基准测试中表现相当,尤其在超长上下文任务中展现出明显优势",
99100
supportsPromptCache: false,
100-
}
101+
},
101102
}
102103

103104
const siliconCloudInternationalModels: Record<string, ModelInfo> = {

src/api/providers/siliconcloud.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,12 @@
11
import { Anthropic } from "@anthropic-ai/sdk"
22
import OpenAI from "openai"
33

4-
import { siliconCloudDefaultModelId, siliconCloudApiLineConfigs, siliconCloudModels, ModelInfo } from "@roo-code/types"
4+
import {
5+
siliconCloudModels,
6+
siliconCloudApiLineConfigs,
7+
siliconCloudDefaultModelId,
8+
siliconCloudDefaultApiLine,
9+
} from "@roo-code/types"
510

611
import { type ApiHandlerOptions } from "../../shared/api"
712
import { type ApiStream } from "../transform/stream"
@@ -15,7 +20,7 @@ const SILICON_CLOUD_PROVIDER_NAME = "siliconcloud" as const
1520

1621
export class SiliconCloudHandler extends OpenAiHandler {
1722
constructor(options: ApiHandlerOptions) {
18-
const apiLine = options.siliconCloudApiLine || "china"
23+
const apiLine = options.siliconCloudApiLine || siliconCloudDefaultApiLine
1924

2025
super({
2126
...options,

webview-ui/src/components/settings/ApiOptions.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ import {
3838
vercelAiGatewayDefaultModelId,
3939
deepInfraDefaultModelId,
4040
siliconCloudDefaultModelId,
41+
siliconCloudDefaultApiLine,
4142
} from "@roo-code/types"
4243

4344
import { vscode } from "@src/utils/vscode"
@@ -263,7 +264,7 @@ const ApiOptions = ({
263264
let models = MODELS_BY_PROVIDER[selectedProvider]
264265

265266
if (selectedProvider === "siliconcloud") {
266-
const apiLine = apiConfiguration.siliconCloudApiLine || "china"
267+
const apiLine = apiConfiguration.siliconCloudApiLine || siliconCloudDefaultApiLine
267268
models = SILICON_CLOUD_MODELS_BY_API_LINE[apiLine]
268269
}
269270
if (!models) return []

webview-ui/src/components/settings/providers/SiliconCloud.tsx

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,12 @@
11
import { useCallback } from "react"
22
import { VSCodeTextField, VSCodeDropdown, VSCodeOption } from "@vscode/webview-ui-toolkit/react"
33

4-
import { type ProviderSettings, siliconCloudApiLineSchema, siliconCloudApiLineConfigs } from "@roo-code/types"
4+
import {
5+
type ProviderSettings,
6+
siliconCloudApiLineSchema,
7+
siliconCloudApiLineConfigs,
8+
siliconCloudDefaultApiLine,
9+
} from "@roo-code/types"
510

611
import { useAppTranslation } from "@src/i18n/TranslationContext"
712
import { VSCodeButtonLink } from "@src/components/common/VSCodeButtonLink"
@@ -33,7 +38,7 @@ export const SiliconCloud = ({ apiConfiguration, setApiConfigurationField }: Sil
3338
<div>
3439
<label className="block font-medium mb-1">{t("settings:providers.siliconcloud.entrypoint")}</label>
3540
<VSCodeDropdown
36-
value={apiConfiguration.siliconCloudApiLine || "china"}
41+
value={apiConfiguration.siliconCloudApiLine || siliconCloudDefaultApiLine}
3742
onChange={handleInputChange("siliconCloudApiLine")}
3843
className={cn("w-full")}>
3944
{siliconCloudApiLineSchema.options.map((apiLine) => {
@@ -61,7 +66,13 @@ export const SiliconCloud = ({ apiConfiguration, setApiConfigurationField }: Sil
6166
{t("settings:providers.apiKeyStorageNotice")}
6267
</div>
6368
{!apiConfiguration?.siliconCloudApiKey && (
64-
<VSCodeButtonLink href={apiConfiguration.siliconCloudApiLine === "international" ? "https://siliconflow.com/" : "https://siliconflow.cn/"} appearance="secondary">
69+
<VSCodeButtonLink
70+
href={
71+
apiConfiguration.siliconCloudApiLine === "international"
72+
? "https://siliconflow.com/"
73+
: "https://siliconflow.cn/"
74+
}
75+
appearance="secondary">
6576
{t("settings:providers.siliconcloud.getApiKey")}
6677
</VSCodeButtonLink>
6778
)}

webview-ui/src/components/ui/hooks/useSelectedModel.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ import {
4040
sambaNovaDefaultModelId,
4141
siliconCloudDefaultModelId,
4242
siliconCloudModelsByApiLine,
43+
siliconCloudDefaultApiLine,
4344
doubaoModels,
4445
doubaoDefaultModelId,
4546
internationalZAiDefaultModelId,
@@ -316,7 +317,7 @@ function getSelectedModel({
316317
return { id, info }
317318
}
318319
case "siliconcloud": {
319-
const apiLine = apiConfiguration.siliconCloudApiLine || "china"
320+
const apiLine = apiConfiguration.siliconCloudApiLine || siliconCloudDefaultApiLine
320321
const models = siliconCloudModelsByApiLine[apiLine]
321322
const id = apiConfiguration.apiModelId ?? siliconCloudDefaultModelId
322323
const info = models[id]

webview-ui/src/utils/validate.ts

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import {
1010
isFauxProvider,
1111
isCustomProvider,
1212
siliconCloudModelsByApiLine,
13+
siliconCloudDefaultApiLine,
1314
} from "@roo-code/types"
1415

1516
import type { RouterModels } from "@roo/api"
@@ -157,17 +158,17 @@ function validateModelsAndKeysProvided(apiConfiguration: ProviderSettings): stri
157158
return i18next.t("settings:validation.apiKey")
158159
}
159160
break
160-
case "siliconcloud":
161+
case "siliconcloud": {
161162
if (!apiConfiguration.siliconCloudApiKey) {
162163
return i18next.t("settings:validation.apiKey")
163164
}
164-
if (apiConfiguration.siliconCloudApiLine) {
165-
const models = siliconCloudModelsByApiLine[apiConfiguration.siliconCloudApiLine]
166-
if (apiConfiguration.apiModelId && !models[apiConfiguration.apiModelId as keyof typeof models]) {
167-
return i18next.t("settings:validation.modelAvailability", { modelId: apiConfiguration.apiModelId })
168-
}
165+
const apiLine = apiConfiguration.siliconCloudApiLine || siliconCloudDefaultApiLine
166+
const models = siliconCloudModelsByApiLine[apiLine]
167+
if (apiConfiguration.apiModelId && !models[apiConfiguration.apiModelId as keyof typeof models]) {
168+
return i18next.t("settings:validation.modelAvailability", { modelId: apiConfiguration.apiModelId })
169169
}
170170
break
171+
}
171172
}
172173

173174
return undefined

0 commit comments

Comments
 (0)