diff --git a/src/renderer/src/pages/settings/DataSettings/DataSettings.tsx b/src/renderer/src/pages/settings/DataSettings/DataSettings.tsx
index c7fbffeb64..379165192e 100644
--- a/src/renderer/src/pages/settings/DataSettings/DataSettings.tsx
+++ b/src/renderer/src/pages/settings/DataSettings/DataSettings.tsx
@@ -23,7 +23,7 @@ import type { AppInfo } from '@renderer/types'
import { formatFileSize } from '@renderer/utils'
import { occupiedDirs } from '@shared/config/constant'
import { Button, Progress, Switch, Typography } from 'antd'
-import { FileText, FolderCog, FolderInput, FolderOpen, SaveIcon, Sparkle } from 'lucide-react'
+import { FileText, FolderCog, FolderInput, FolderOpen, SaveIcon } from 'lucide-react'
import type { FC } from 'react'
import { useEffect, useState } from 'react'
import { useTranslation } from 'react-i18next'
@@ -38,7 +38,6 @@ import {
SettingRowTitle,
SettingTitle
} from '..'
-import AgentsSubscribeUrlSettings from './AgentsSubscribeUrlSettings'
import ExportMenuOptions from './ExportMenuSettings'
import JoplinSettings from './JoplinSettings'
import LocalBackupSettings from './LocalBackupSettings'
@@ -129,11 +128,6 @@ const DataSettings: FC = () => {
key: 'siyuan',
title: t('settings.data.siyuan.title'),
icon:
- },
- {
- key: 'agentssubscribe_url',
- title: t('assistants.presets.settings.title'),
- icon:
}
]
@@ -704,7 +698,6 @@ const DataSettings: FC = () => {
{menu === 'joplin' && }
{menu === 'obsidian' && }
{menu === 'siyuan' && }
- {menu === 'agentssubscribe_url' && }
{menu === 'local_backup' && }
diff --git a/src/renderer/src/pages/settings/MCPSettings/McpSettings.tsx b/src/renderer/src/pages/settings/MCPSettings/McpSettings.tsx
index d8f26610c9..6d4210fd1d 100644
--- a/src/renderer/src/pages/settings/MCPSettings/McpSettings.tsx
+++ b/src/renderer/src/pages/settings/MCPSettings/McpSettings.tsx
@@ -1,6 +1,7 @@
import { loggerService } from '@logger'
import type { McpError } from '@modelcontextprotocol/sdk/types.js'
import { DeleteIcon } from '@renderer/components/Icons'
+import Scrollbar from '@renderer/components/Scrollbar'
import { useTheme } from '@renderer/context/ThemeProvider'
import { useMCPServer, useMCPServers } from '@renderer/hooks/useMCPServers'
import { useMCPServerTrust } from '@renderer/hooks/useMCPServerTrust'
@@ -740,51 +741,57 @@ const McpSettings: React.FC = () => {
}
return (
-
-
-
-
-
- {server?.name}
- {serverVersion && }
+
+
+
+
+
+
+ {server?.name}
+ {serverVersion && }
+
+ }
+ type="text"
+ onClick={() => onDeleteMcpServer(server)}
+ />
- }
- type="text"
- onClick={() => onDeleteMcpServer(server)}
- />
-
-
-
- }
- onClick={onSave}
- loading={loading}
- shape="round"
- disabled={!isFormChanged || activeTab !== 'settings'}>
- {t('common.save')}
-
-
-
-
- setActiveTab(key as TabKey)}
- style={{ marginTop: 8, backgroundColor: 'transparent' }}
- />
-
-
+
+
+ }
+ onClick={onSave}
+ loading={loading}
+ shape="round"
+ disabled={!isFormChanged || activeTab !== 'settings'}>
+ {t('common.save')}
+
+
+
+
+ setActiveTab(key as TabKey)}
+ style={{ marginTop: 8, backgroundColor: 'transparent' }}
+ />
+
+
+
)
}
+const Container = styled(Scrollbar)`
+ height: calc(100vh - var(--navbar-height));
+`
+
const ServerName = styled.span`
font-size: 14px;
font-weight: 500;
diff --git a/src/renderer/src/pages/store/assistants/presets/AssistantPresetsPage.tsx b/src/renderer/src/pages/store/assistants/presets/AssistantPresetsPage.tsx
index b5fdc1d335..91ea8cce75 100644
--- a/src/renderer/src/pages/store/assistants/presets/AssistantPresetsPage.tsx
+++ b/src/renderer/src/pages/store/assistants/presets/AssistantPresetsPage.tsx
@@ -1,7 +1,7 @@
-import { ImportOutlined, PlusOutlined } from '@ant-design/icons'
import { Navbar, NavbarCenter } from '@renderer/components/app/Navbar'
import { HStack } from '@renderer/components/Layout'
import ListItem from '@renderer/components/ListItem'
+import GeneralPopup from '@renderer/components/Popups/GeneralPopup'
import Scrollbar from '@renderer/components/Scrollbar'
import CustomTag from '@renderer/components/Tags/CustomTag'
import { useAssistantPresets } from '@renderer/hooks/useAssistantPresets'
@@ -11,7 +11,7 @@ import type { AssistantPreset } from '@renderer/types'
import { uuid } from '@renderer/utils'
import { Button, Empty, Flex, Input } from 'antd'
import { omit } from 'lodash'
-import { Search } from 'lucide-react'
+import { Import, Plus, Rss, Search } from 'lucide-react'
import type { FC } from 'react'
import { useCallback, useEffect, useMemo, useState } from 'react'
import { useTranslation } from 'react-i18next'
@@ -23,6 +23,7 @@ import { groupTranslations } from './assistantPresetGroupTranslations'
import AddAssistantPresetPopup from './components/AddAssistantPresetPopup'
import AssistantPresetCard from './components/AssistantPresetCard'
import { AssistantPresetGroupIcon } from './components/AssistantPresetGroupIcon'
+import AssistantsSubscribeUrlSettings from './components/AssistantsSubscribeUrlSettings'
import ImportAssistantPresetPopup from './components/ImportAssistantPresetPopup'
const AssistantPresetsPage: FC = () => {
@@ -175,6 +176,15 @@ const AssistantPresetsPage: FC = () => {
}
}
+ const handleSubscribeSettings = () => {
+ GeneralPopup.show({
+ title: t('assistants.presets.settings.title'),
+ content: ,
+ footer: null,
+ width: 600
+ })
+ }
+
return (
@@ -246,12 +256,12 @@ const AssistantPresetsPage: FC = () => {
}
-
+
{isSearchExpanded ? (
{
)
)}
- }>
+ }>
{t('assistants.presets.import.title')}
- }>
+ }>
+ {t('assistants.presets.settings.title')}
+
+ }>
{t('assistants.presets.add.title')}
diff --git a/src/renderer/src/pages/settings/DataSettings/AgentsSubscribeUrlSettings.tsx b/src/renderer/src/pages/store/assistants/presets/components/AssistantsSubscribeUrlSettings.tsx
similarity index 60%
rename from src/renderer/src/pages/settings/DataSettings/AgentsSubscribeUrlSettings.tsx
rename to src/renderer/src/pages/store/assistants/presets/components/AssistantsSubscribeUrlSettings.tsx
index ecf4fbc756..8ea3b92fde 100755
--- a/src/renderer/src/pages/settings/DataSettings/AgentsSubscribeUrlSettings.tsx
+++ b/src/renderer/src/pages/store/assistants/presets/components/AssistantsSubscribeUrlSettings.tsx
@@ -1,15 +1,15 @@
import { HStack } from '@renderer/components/Layout'
import { useTheme } from '@renderer/context/ThemeProvider'
import { useSettings } from '@renderer/hooks/useSettings'
+import { SettingDivider, SettingGroup, SettingRow, SettingRowTitle, SettingTitle } from '@renderer/pages/settings'
import { useAppDispatch } from '@renderer/store'
import { setAgentssubscribeUrl } from '@renderer/store/settings'
import Input from 'antd/es/input/Input'
+import { HelpCircle } from 'lucide-react'
import type { FC } from 'react'
import { useTranslation } from 'react-i18next'
-import { SettingDivider, SettingGroup, SettingRow, SettingRowTitle, SettingTitle } from '..'
-
-const AgentsSubscribeUrlSettings: FC = () => {
+const AssistantsSubscribeUrlSettings: FC = () => {
const { t } = useTranslation()
const { theme } = useTheme()
const dispatch = useAppDispatch()
@@ -20,12 +20,24 @@ const AgentsSubscribeUrlSettings: FC = () => {
dispatch(setAgentssubscribeUrl(e.target.value))
}
+ const handleHelpClick = () => {
+ window.open('https://docs.cherry-ai.com/data-settings/assistants-subscribe', '_blank')
+ }
+
return (
-
- {t('assistants.presets.tag.agent')}
- {t('settings.tool.websearch.subscribe_add')}
-
+
+
+ {t('assistants.presets.tag.agent')}
+ {t('settings.tool.websearch.subscribe_add')}
+
+
+
{t('settings.tool.websearch.subscribe_url')}
@@ -35,7 +47,7 @@ const AgentsSubscribeUrlSettings: FC = () => {
value={agentssubscribeUrl || ''}
onChange={handleAgentChange}
style={{ width: 315 }}
- placeholder={t('settings.tool.websearch.subscribe_name.placeholder')}
+ placeholder={t('settings.tool.websearch.subscribe_url')}
/>
@@ -43,4 +55,4 @@ const AgentsSubscribeUrlSettings: FC = () => {
)
}
-export default AgentsSubscribeUrlSettings
+export default AssistantsSubscribeUrlSettings