fix(web): 更新智能体名称,优化图标映射和样式对齐
This commit is contained in:
parent
8e88830e2d
commit
b4f0b6e11f
@ -26,7 +26,7 @@ def _create_fs_backend(rt):
|
|||||||
|
|
||||||
|
|
||||||
class ChatbotAgent(BaseAgent):
|
class ChatbotAgent(BaseAgent):
|
||||||
name = "智能体助手"
|
name = "智能助手"
|
||||||
description = "基础的对话机器人,可以回答问题,可在配置中启用需要的工具。"
|
description = "基础的对话机器人,可以回答问题,可在配置中启用需要的工具。"
|
||||||
capabilities = ["file_upload", "files", "todo"] # 支持文件上传功能
|
capabilities = ["file_upload", "files", "todo"] # 支持文件上传功能
|
||||||
metadata = {
|
metadata = {
|
||||||
|
|||||||
@ -28,7 +28,7 @@ def _create_fs_backend(rt):
|
|||||||
|
|
||||||
|
|
||||||
class DeepAgent(BaseAgent):
|
class DeepAgent(BaseAgent):
|
||||||
name = "深度分析智能体"
|
name = "深度分析"
|
||||||
description = "具备规划、深度分析和子智能体协作能力的智能体,可以处理复杂的多步骤任务"
|
description = "具备规划、深度分析和子智能体协作能力的智能体,可以处理复杂的多步骤任务"
|
||||||
context_schema = DeepContext
|
context_schema = DeepContext
|
||||||
capabilities = ["file_upload", "files", "todo"] # 支持文件上传功能
|
capabilities = ["file_upload", "files", "todo"] # 支持文件上传功能
|
||||||
|
|||||||
@ -219,13 +219,13 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { ref, reactive, onMounted, watch, nextTick, computed, onUnmounted } from 'vue'
|
import { ref, reactive, onMounted, watch, nextTick, computed, onUnmounted, h } from 'vue'
|
||||||
import { message } from 'ant-design-vue'
|
import { message } from 'ant-design-vue'
|
||||||
import AgentInputArea from '@/components/AgentInputArea.vue'
|
import AgentInputArea from '@/components/AgentInputArea.vue'
|
||||||
import AgentMessageComponent from '@/components/AgentMessageComponent.vue'
|
import AgentMessageComponent from '@/components/AgentMessageComponent.vue'
|
||||||
import ChatSidebarComponent from '@/components/ChatSidebarComponent.vue'
|
import ChatSidebarComponent from '@/components/ChatSidebarComponent.vue'
|
||||||
import RefsComponent from '@/components/RefsComponent.vue'
|
import RefsComponent from '@/components/RefsComponent.vue'
|
||||||
import { PanelLeftOpen, MessageCirclePlus, LoaderCircle } from 'lucide-vue-next'
|
import { PanelLeftOpen, MessageCirclePlus, LoaderCircle, Bot, Telescope } from 'lucide-vue-next'
|
||||||
import { handleChatError, handleValidationError } from '@/utils/errorHandler'
|
import { handleChatError, handleValidationError } from '@/utils/errorHandler'
|
||||||
import { ScrollController } from '@/utils/scrollController'
|
import { ScrollController } from '@/utils/scrollController'
|
||||||
import { AgentValidator } from '@/utils/agentValidator'
|
import { AgentValidator } from '@/utils/agentValidator'
|
||||||
@ -473,11 +473,28 @@ const conversations = computed(() => {
|
|||||||
return historyConvs
|
return historyConvs
|
||||||
})
|
})
|
||||||
|
|
||||||
|
// 智能体图标映射
|
||||||
|
const agentIconMap = {
|
||||||
|
ChatbotAgent: Bot,
|
||||||
|
DeepAgent: Telescope
|
||||||
|
}
|
||||||
|
|
||||||
|
const getAgentIconComponent = (agentId) => {
|
||||||
|
return agentIconMap[agentId] || Bot
|
||||||
|
}
|
||||||
|
|
||||||
const agentSegmentOptions = computed(() => {
|
const agentSegmentOptions = computed(() => {
|
||||||
return (agents.value || []).map((agent) => ({
|
return (agents.value || []).map((agent) => {
|
||||||
label: agent.name || 'Unknown',
|
const IconComponent = getAgentIconComponent(agent.id)
|
||||||
value: agent.id
|
return {
|
||||||
}))
|
label: () =>
|
||||||
|
h('div', { class: 'agent-option-label' }, [
|
||||||
|
h(IconComponent, { size: 16, class: 'agent-option-icon' }),
|
||||||
|
h('span', null, agent.name || 'Unknown')
|
||||||
|
]),
|
||||||
|
value: agent.id
|
||||||
|
}
|
||||||
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
const showStartAgentSegment = computed(() => {
|
const showStartAgentSegment = computed(() => {
|
||||||
@ -1599,11 +1616,11 @@ watch(currentChatId, (threadId, oldThreadId) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.chat-examples-input {
|
.chat-examples-input {
|
||||||
padding: 32px 0;
|
padding: 24px 0;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
|
||||||
h1 {
|
h1 {
|
||||||
font-size: 1.2rem;
|
font-size: 1.4rem;
|
||||||
color: var(--gray-1000);
|
color: var(--gray-1000);
|
||||||
margin: 0;
|
margin: 0;
|
||||||
}
|
}
|
||||||
@ -1612,7 +1629,7 @@ watch(currentChatId, (threadId, oldThreadId) => {
|
|||||||
.agent-segment-wrapper {
|
.agent-segment-wrapper {
|
||||||
width: fit-content;
|
width: fit-content;
|
||||||
max-width: 100%;
|
max-width: 100%;
|
||||||
margin: 0 auto 10px;
|
margin: 0 auto 18px;
|
||||||
overflow-x: auto;
|
overflow-x: auto;
|
||||||
scrollbar-width: none;
|
scrollbar-width: none;
|
||||||
|
|
||||||
@ -1869,6 +1886,26 @@ watch(currentChatId, (threadId, oldThreadId) => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 智能体选择器的图标对齐
|
||||||
|
.agent-segment-wrapper {
|
||||||
|
:deep(.ant-segmented-item-label) {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 6px;
|
||||||
|
}
|
||||||
|
|
||||||
|
:deep(.agent-option-label) {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 6px;
|
||||||
|
}
|
||||||
|
|
||||||
|
:deep(.agent-option-icon) {
|
||||||
|
flex-shrink: 0;
|
||||||
|
color: var(--gray-600);
|
||||||
|
}
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style lang="less">
|
<style lang="less">
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user