Skip to content

Commit e5dfdb4

Browse files
author
echoVic
committed
fix(ui): 移除内置 Claude 模型及相关功能
由于服务不可用,移除内置 Claude 模型及相关配置和 UI 显示
1 parent 2ef7d7c commit e5dfdb4

3 files changed

Lines changed: 14 additions & 35 deletions

File tree

src/config/builtinModels.ts

Lines changed: 1 addition & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
* 提供开箱即用的免费模型,让用户无需配置即可体验 Blade
55
* 当前支持:
66
* - 智谱 GLM-4.7 (由 Blade 团队提供免费额度)
7-
* - Claude Sonnet 4 (由 Blade 团队提供免费额度)
87
*/
98

109
import type { ModelConfig, ProviderType } from './types.js';
@@ -23,7 +22,6 @@ interface BuiltinModelDefinition {
2322

2423
const BUILTIN_API_KEY = 'blade-free-tier';
2524
const BUILTIN_GLM_MODEL_ID = 'blade-builtin-glm47';
26-
const BUILTIN_CLAUDE_MODEL_ID = 'blade-builtin-claude';
2725

2826
const BUILTIN_MODELS: BuiltinModelDefinition[] = [
2927
{
@@ -37,27 +35,12 @@ const BUILTIN_MODELS: BuiltinModelDefinition[] = [
3735
maxOutputTokens: 16384,
3836
supportsThinking: true,
3937
},
40-
{
41-
name: '✨ Claude Opus 4.5 (内置免费)',
42-
provider: 'blade-claude',
43-
baseUrl: '', // 由私有包处理
44-
model: 'claude-opus-4-5',
45-
apiKey: BUILTIN_API_KEY,
46-
description: 'Claude Opus 4.5 - 由 Blade 提供免费额度',
47-
maxContextTokens: 200000,
48-
maxOutputTokens: 16384,
49-
supportsThinking: false,
50-
},
5138
];
5239

5340
export function getBuiltinModelId(): string {
5441
return BUILTIN_GLM_MODEL_ID;
5542
}
5643

57-
export function getBuiltinClaudeModelId(): string {
58-
return BUILTIN_CLAUDE_MODEL_ID;
59-
}
60-
6144
export function isBuiltinApiKey(apiKey: string): boolean {
6245
return apiKey === BUILTIN_API_KEY;
6346
}
@@ -66,10 +49,6 @@ export function isBuiltinModel(model: ModelConfig): boolean {
6649
return isBuiltinApiKey(model.apiKey);
6750
}
6851

69-
export function isBuiltinClaudeModel(model: ModelConfig): boolean {
70-
return model.provider === 'blade-claude' && isBuiltinApiKey(model.apiKey);
71-
}
72-
7352
function createBuiltinModelConfig(
7453
definition: BuiltinModelDefinition,
7554
id: string
@@ -92,8 +71,5 @@ export function getDefaultBuiltinModel(): ModelConfig {
9271
}
9372

9473
export function getAllBuiltinModels(): ModelConfig[] {
95-
return [
96-
createBuiltinModelConfig(BUILTIN_MODELS[0], BUILTIN_GLM_MODEL_ID),
97-
createBuiltinModelConfig(BUILTIN_MODELS[1], BUILTIN_CLAUDE_MODEL_ID),
98-
];
74+
return [createBuiltinModelConfig(BUILTIN_MODELS[0], BUILTIN_GLM_MODEL_ID)];
9975
}

src/ui/App.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { useMemoizedFn } from 'ahooks';
22
import React, { useEffect, useState } from 'react';
33
import { subagentRegistry } from '../agent/subagents/SubagentRegistry.js';
44
import type { GlobalOptions } from '../cli/types.js';
5-
import { getBuiltinModelId, getBuiltinClaudeModelId, getAllBuiltinModels } from '../config/builtinModels.js';
5+
import { getAllBuiltinModels, getBuiltinModelId } from '../config/builtinModels.js';
66
import {
77
DEFAULT_CONFIG,
88
mergeRuntimeConfig,

src/ui/components/ModelConfigWizard.tsx

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ interface ProviderInfo {
8484
name: string;
8585
description: string;
8686
isOAuth: boolean;
87+
hidden?: boolean;
8788
}
8889

8990
/**
@@ -129,8 +130,9 @@ const PROVIDER_CONFIG: Record<ProviderType, ProviderInfo> = {
129130
'blade-claude': {
130131
icon: '🗡️',
131132
name: 'Blade Claude (内置)',
132-
description: 'Blade 内置 Claude 服务 (免费额度)',
133+
description: 'Blade 内置 Claude 服务 (暂不可用)',
133134
isOAuth: false,
135+
hidden: true,
134136
},
135137
};
136138

@@ -177,14 +179,15 @@ const ProviderStep: React.FC<ProviderStepProps> = ({
177179
{ isActive: isFocused }
178180
);
179181

180-
// 从 PROVIDER_CONFIG 生成 items(类型安全)
181-
const items = (Object.keys(PROVIDER_CONFIG) as ProviderType[]).map((provider) => {
182-
const info = PROVIDER_CONFIG[provider];
183-
return {
184-
label: `${info.icon} ${info.name} - ${info.description}`,
185-
value: provider,
186-
};
187-
});
182+
const items = (Object.keys(PROVIDER_CONFIG) as ProviderType[])
183+
.filter((provider) => !PROVIDER_CONFIG[provider].hidden)
184+
.map((provider) => {
185+
const info = PROVIDER_CONFIG[provider];
186+
return {
187+
label: `${info.icon} ${info.name} - ${info.description}`,
188+
value: provider,
189+
};
190+
});
188191

189192
const initialIndex = initialProvider
190193
? Math.max(

0 commit comments

Comments
 (0)