feat: 前台AI聊天模型列表只显示显示名称+能力,不再显示供应商

This commit is contained in:
qyyfw committed 2026-07-10 21:08:15 +08:00
1 parent 821438cfe4
commit 0c017d380c
2 files changed
+49 -23

No files matched your search

+24 -12
View File
@@ -466,6 +466,21 @@ const ChatPage: React.FC = () => {
// Selected model info(Auto 为按能力自动匹配平台默认模型)
const AUTO_MODEL = { id: 'auto', name: 'Auto 自动', display_name: 'Auto 自动', status: 'free', provider_name: '按能力匹配', price_per_million_tokens: 0, capabilities: [] as string[] };
// 能力标签映射(用于模型选项列表展示)
const CAPABILITY_LABELS: Record<string, string> = {
text: '文本对话',
thinking: '推理思考',
vision: '视觉理解',
tool: '工具调用',
image: '图像生成',
audio: '语音合成',
asr: '语音识别',
ocr: 'OCR识别',
embedding: '嵌入向量',
rerank: '重排序',
video: '视频生成',
};
const selectedModel = selectedModelId === 'auto'
? AUTO_MODEL
: (chatModels.find(m => m.id === selectedModelId) || chatModels[0] || AUTO_MODEL);
@@ -790,7 +805,7 @@ const ChatPage: React.FC = () => {
trigger={
<div className="model-selector">
<IconModel />
<span className="model-name">{selectedModel.name}</span>
<span className="model-name">{selectedModel.display_name || selectedModel.name}</span>
<span className="model-badge">{(selectedModel.status === 'free' || selectedModel.price_per_million_tokens === 0) ? '免费' : '付费'}</span>
<IconChevronDown />
</div>
@@ -815,15 +830,12 @@ const ChatPage: React.FC = () => {
onClick={() => setSelectedModelId(model.id)}
>
<div className="model-dropdown-item">
<span>{model.name}</span>
<span className="model-provider-tag">{model.provider_name || model.providerName || ''}</span>
{(() => {
const caps = model.capabilities || [];
const label = caps.includes('image') && caps.includes('video') ? '图像/视频'
: caps.includes('image') ? '图像'
: caps.includes('video') ? '视频' : '';
return label ? <span className="model-cap-badge">{label}</span> : null;
})()}
<span className="model-display-name">{model.display_name || model.name}</span>
<span className="model-cap-list">
{(model.capabilities || []).map((cap: string) => (
<span key={cap} className="model-cap-badge">{CAPABILITY_LABELS[cap] || cap}</span>
))}
</span>
</div>
</button>
))}
@@ -845,7 +857,7 @@ const ChatPage: React.FC = () => {
<IconEmpty />
<p className="empty-title">开始一段新对话</p>
<p className="empty-desc">
向 {selectedModel.name} 发送消息,开始对话
向 {selectedModel.display_name || selectedModel.name} 发送消息,开始对话
</p>
</div>
) : (
@@ -1007,7 +1019,7 @@ const ChatPage: React.FC = () => {
<textarea
ref={inputRef}
className="chat-textarea"
placeholder={`向 ${selectedModel.name} 发送消息...`}
placeholder={`向 ${selectedModel.display_name || selectedModel.name} 发送消息...`}
value={inputValue}
onChange={(e) => setInputValue(e.target.value)}
onKeyDown={handleKeyDown}