style: group AI assistant settings in system page

This commit is contained in:
jxxghp
2026-04-25 10:48:55 +08:00
parent e043669a10
commit f9e74cf436
4 changed files with 228 additions and 195 deletions
+4 -1
View File
@@ -1322,13 +1322,16 @@ export default {
aiAgent: 'Enable AI Assistant',
aiAgentEnable: 'Enable AI Assistant',
aiAgentEnableHint: 'Enable AI assistant functionality, requires LLM configuration',
aiAgentSectionTitle: 'AI Assistant Configuration',
aiAgentSectionDesc:
'After enabling it, you can use the Agent in message conversations and optionally turn on transfer-failure takeover and AI recommendations.',
llmProvider: 'LLM Provider',
llmProviderHint: 'Select the LLM service provider to use',
llmModel: 'LLM Model Name',
llmModelHint: 'Specify the LLM model to use, such as gpt-3.5-turbo, deepseek-chat, etc.',
llmThinking: 'Thinking Mode / Depth',
llmThinkingHint:
'Use one setting to control both thinking off and depth: off/auto/minimal/low/medium/high/max/xhigh. Unsupported levels will be mapped to the nearest provider-supported value.',
'Thinking depth: off/auto/minimal/low/medium/high/max/xhigh. Unsupported levels will be mapped to the nearest provider-supported value.',
llmThinkingLevelOff: 'Off (off)',
llmThinkingLevelAuto: 'Auto (auto)',
llmThinkingLevelMinimal: 'Minimal (minimal)',
+3 -1
View File
@@ -1317,13 +1317,15 @@ export default {
aiAgent: '启用智能助手',
aiAgentEnable: '启用智能助手',
aiAgentEnableHint: '启用后可使用智能助手功能,需要配置LLM相关参数',
aiAgentSectionTitle: '智能助手配置',
aiAgentSectionDesc: '启用后可在消息会话中使用 Agent 能力,也可开启失败整理接管和智能推荐。',
llmProvider: 'LLM提供商',
llmProviderHint: '选择使用的LLM服务提供商',
llmModel: 'LLM模型名称',
llmModelHint: '指定使用的LLM模型,如gpt-3.5-turbo、deepseek-chat等',
llmThinking: '思考模式 / 深度',
llmThinkingHint:
'用一个设置统一控制关闭与深度:off/auto/minimal/low/medium/high/max/xhigh;不支持的级别会按 provider 能力自动映射到最近值',
'思考深度:off/auto/minimal/low/medium/high/max/xhigh;不支持的级别会按 provider 能力自动映射到最近值',
llmThinkingLevelOff: '关闭 (off)',
llmThinkingLevelAuto: '自动 (auto)',
llmThinkingLevelMinimal: '最小 (minimal)',
+3 -1
View File
@@ -1319,13 +1319,15 @@ export default {
aiAgent: '啟用智能助手',
aiAgentEnable: '啟用智能助手',
aiAgentEnableHint: '啟用後可使用智能助手功能,需要配置LLM相關參數',
aiAgentSectionTitle: '智能助手配置',
aiAgentSectionDesc: '啟用後可在消息對話中使用 Agent 能力,也可開啟失敗整理接管與智能推薦。',
llmProvider: 'LLM提供商',
llmProviderHint: '選擇使用的LLM服務提供商',
llmModel: 'LLM模型名稱',
llmModelHint: '指定使用的LLM模型,如gpt-3.5-turbo、deepseek-chat等',
llmThinking: '思考模式 / 深度',
llmThinkingHint:
'用一個設置統一控制關閉與深度:off/auto/minimal/low/medium/high/max/xhigh;不支援的級別會按 provider 能力自動映射到最近值',
'思考深度:off/auto/minimal/low/medium/high/max/xhigh;不支援的級別會按 provider 能力自動映射到最近值',
llmThinkingLevelOff: '關閉 (off)',
llmThinkingLevelAuto: '自動 (auto)',
llmThinkingLevelMinimal: '最小 (minimal)',
+28 -2
View File
@@ -202,7 +202,9 @@ function buildLlmTestPayload(snapshot: LlmSettingsSnapshot) {
}
function normalizeThinkingLevelValue(value?: unknown) {
const normalized = String(value ?? '').trim().toLowerCase()
const normalized = String(value ?? '')
.trim()
.toLowerCase()
if (!normalized) return ''
const aliasMap: Record<string, string> = {
@@ -854,7 +856,21 @@ watch(currentLlmSnapshotKey, (snapshotKey, previousSnapshotKey) => {
/>
</VCol>
</VRow>
<VDivider class="my-4" />
<VCard variant="outlined" class="ai-agent-settings-card mt-6">
<VCardItem class="pb-2">
<template #prepend>
<VAvatar color="primary" variant="tonal" size="40">
<VIcon icon="mdi-robot-outline" />
</VAvatar>
</template>
<VCardTitle class="text-subtitle-1">
{{ t('setting.system.aiAgentSectionTitle') }}
</VCardTitle>
<VCardSubtitle>
{{ t('setting.system.aiAgentSectionDesc') }}
</VCardSubtitle>
</VCardItem>
<VCardText class="pt-2">
<VRow>
<VCol cols="12" md="4">
<VSwitch
@@ -992,6 +1008,8 @@ watch(currentLlmSnapshotKey, (snapshotKey, previousSnapshotKey) => {
prepend-inner-icon="mdi-timer-outline"
/>
</VCol>
</VRow>
<VRow>
<VCol v-if="SystemSettings.Basic.AI_AGENT_ENABLE" cols="12" md="6">
<VSwitch
v-model="SystemSettings.Basic.LLM_SUPPORT_IMAGE_INPUT"
@@ -1046,6 +1064,8 @@ watch(currentLlmSnapshotKey, (snapshotKey, previousSnapshotKey) => {
/>
</VCol>
</VRow>
</VCardText>
</VCard>
</VForm>
</VCardText>
<VCardText>
@@ -1710,6 +1730,12 @@ watch(currentLlmSnapshotKey, (snapshotKey, previousSnapshotKey) => {
</template>
<style scoped>
.ai-agent-settings-card {
border-color: rgba(var(--v-theme-primary), 0.16);
background: linear-gradient(180deg, rgba(var(--v-theme-primary), 0.04) 0%, rgba(var(--v-theme-surface), 0.92) 100%);
box-shadow: 0 12px 24px rgba(var(--v-theme-on-surface), 0.04);
}
.setting-actions {
display: flex;
align-items: center;