diff --git a/src/renderer/src/assets/styles/color.scss b/src/renderer/src/assets/styles/color.scss
index 278d732a4e..6100e1d0ee 100644
--- a/src/renderer/src/assets/styles/color.scss
+++ b/src/renderer/src/assets/styles/color.scss
@@ -44,6 +44,9 @@
--color-reference-text: #ffffff;
--color-reference-background: #0b0e12;
+ --color-list-item: #222;
+ --color-list-item-hover: #1e1e1e;
+
--modal-background: #1f1f1f;
--color-highlight: rgba(0, 0, 0, 1);
@@ -68,7 +71,7 @@
--chat-background-assistant: #2c2c2c;
--chat-text-user: var(--color-black);
- --list-item-border-radius: 16px;
+ --list-item-border-radius: 20px;
}
[theme-mode='light'] {
@@ -117,6 +120,9 @@
--color-reference-text: #000000;
--color-reference-background: #f1f7ff;
+ --color-list-item: #eee;
+ --color-list-item-hover: #f5f5f5;
+
--modal-background: var(--color-white);
--color-highlight: initial;
diff --git a/src/renderer/src/components/app/Sidebar.tsx b/src/renderer/src/components/app/Sidebar.tsx
index c221e04dd1..5e4365c3c9 100644
--- a/src/renderer/src/components/app/Sidebar.tsx
+++ b/src/renderer/src/components/app/Sidebar.tsx
@@ -9,6 +9,7 @@ import { useMinapps } from '@renderer/hooks/useMinapps'
import useNavBackgroundColor from '@renderer/hooks/useNavBackgroundColor'
import { modelGenerating, useRuntime } from '@renderer/hooks/useRuntime'
import { useSettings } from '@renderer/hooks/useSettings'
+import i18n from '@renderer/i18n'
import { ThemeMode } from '@renderer/types'
import { isEmoji } from '@renderer/utils'
import type { MenuProps } from 'antd'
@@ -19,7 +20,7 @@ import {
Folder,
Languages,
LayoutGrid,
- MessageSquareQuote,
+ MessageSquare,
Moon,
Palette,
Settings,
@@ -35,7 +36,6 @@ import styled from 'styled-components'
import DragableList from '../DragableList'
import MinAppIcon from '../Icons/MinAppIcon'
import UserPopup from '../Popups/UserPopup'
-import i18n from '@renderer/i18n'
const Sidebar: FC = () => {
const { hideMinappPopup, openMinapp } = useMinappPopup()
@@ -67,9 +67,7 @@ const Sidebar: FC = () => {
openMinapp({
id: docsId,
name: t('docs.title'),
- url: isChinese
- ? 'https://docs.cherry-ai.com/'
- : 'https://docs.cherry-ai.com/cherry-studio-wen-dang/en-us',
+ url: isChinese ? 'https://docs.cherry-ai.com/' : 'https://docs.cherry-ai.com/cherry-studio-wen-dang/en-us',
logo: AppLogo
})
}
@@ -151,7 +149,7 @@ const MainMenus: FC = () => {
const isRoutes = (path: string): string => (pathname.startsWith(path) && !minappShow ? 'active' : '')
const iconMap = {
- assistants: ,
+ assistants: ,
agents: ,
paintings: ,
translate: ,
diff --git a/src/renderer/src/context/AntdProvider.tsx b/src/renderer/src/context/AntdProvider.tsx
index 570da9fc48..592121cccb 100644
--- a/src/renderer/src/context/AntdProvider.tsx
+++ b/src/renderer/src/context/AntdProvider.tsx
@@ -48,6 +48,10 @@ const AntdProvider: FC = ({ children }) => {
},
ColorPicker: {
fontFamily: 'var(--code-font-family)'
+ },
+ Segmented: {
+ itemActiveBg: 'var(--color-background-mute)',
+ itemHoverBg: 'var(--color-background-mute)'
}
},
token: {
diff --git a/src/renderer/src/pages/home/Messages/Prompt.tsx b/src/renderer/src/pages/home/Messages/Prompt.tsx
index 4de6809233..1fe67eca43 100644
--- a/src/renderer/src/pages/home/Messages/Prompt.tsx
+++ b/src/renderer/src/pages/home/Messages/Prompt.tsx
@@ -34,7 +34,7 @@ const Container = styled.div<{ $isDark: boolean }>`
margin: 5px 20px 0 20px;
border-radius: 10px;
cursor: pointer;
- border: 1px solid var(--color-border);
+ border: 0.5px solid var(--color-border);
`
const Text = styled.div`
diff --git a/src/renderer/src/pages/home/Tabs/SettingsTab.tsx b/src/renderer/src/pages/home/Tabs/SettingsTab.tsx
index e3f2f72cd9..5595f4bcfc 100644
--- a/src/renderer/src/pages/home/Tabs/SettingsTab.tsx
+++ b/src/renderer/src/pages/home/Tabs/SettingsTab.tsx
@@ -60,7 +60,7 @@ import {
} from '@renderer/types'
import { modalConfirm } from '@renderer/utils'
import { Button, Col, InputNumber, Row, Select, Slider, Switch, Tooltip } from 'antd'
-import { CircleHelp, RotateCcw, Settings2 } from 'lucide-react'
+import { CircleHelp, Settings2 } from 'lucide-react'
import { FC, useCallback, useEffect, useMemo, useState } from 'react'
import { useTranslation } from 'react-i18next'
import styled from 'styled-components'
@@ -72,7 +72,7 @@ interface Props {
}
const SettingsTab: FC = (props) => {
- const { assistant, updateAssistantSettings, updateAssistant } = useAssistant(props.assistant.id)
+ const { assistant, updateAssistantSettings } = useAssistant(props.assistant.id)
const { provider } = useProvider(assistant.model.provider)
const { messageStyle, fontSize, language } = useSettings()
@@ -140,24 +140,6 @@ const SettingsTab: FC = (props) => {
}
}
- const onReset = () => {
- setTemperature(DEFAULT_TEMPERATURE)
- setContextCount(DEFAULT_CONTEXTCOUNT)
- updateAssistant({
- ...assistant,
- settings: {
- ...assistant.settings,
- temperature: DEFAULT_TEMPERATURE,
- contextCount: DEFAULT_CONTEXTCOUNT,
- enableMaxTokens: false,
- maxTokens: DEFAULT_MAX_TOKENS,
- streamOutput: true,
- hideMessages: false,
- customParameters: []
- }
- })
- }
-
const codeStyle = useMemo(() => {
return codeEditor.enabled
? theme === ThemeMode.light
@@ -211,14 +193,6 @@ const SettingsTab: FC = (props) => {
defaultExpanded={true}
extra={
-
- }
- />
-
-
+
+
{t('common.prompt')}
@@ -139,7 +142,6 @@ const Container = styled.div`
flex: 1;
flex-direction: column;
overflow: hidden;
- padding: 5px;
`
const EmojiButtonWrapper = styled.div`
diff --git a/src/renderer/src/pages/settings/AssistantSettings/AssistantRegularPromptsSettings.tsx b/src/renderer/src/pages/settings/AssistantSettings/AssistantRegularPromptsSettings.tsx
index 602b77ad2a..13194325f7 100644
--- a/src/renderer/src/pages/settings/AssistantSettings/AssistantRegularPromptsSettings.tsx
+++ b/src/renderer/src/pages/settings/AssistantSettings/AssistantRegularPromptsSettings.tsx
@@ -8,7 +8,7 @@ import { useTranslation } from 'react-i18next'
import styled from 'styled-components'
import { v4 as uuidv4 } from 'uuid'
-import { SettingContainer, SettingDivider, SettingGroup, SettingRow, SettingTitle } from '..'
+import { SettingDivider, SettingRow, SettingTitle } from '..'
const { TextArea } = Input
@@ -79,52 +79,50 @@ const AssistantRegularPromptsSettings: FC
const reversedPrompts = [...promptsList].reverse()
return (
-
-
-
- {t('assistants.settings.regular_phrases.title', 'Regular Prompts')}
- } onClick={handleAdd} />
-
-
-
-
- handleUpdateOrder([...newPrompts].reverse())}
- style={{ paddingBottom: dragging ? '34px' : 0 }}
- onDragStart={() => setDragging(true)}
- onDragEnd={() => setDragging(false)}>
- {(prompt) => (
-
- } onClick={() => handleEdit(prompt)} />
- handleDelete(prompt.id)}
- icon={}>
- } />
-
-
- )
- }}
- />
- )}
-
-
-
-
+
+
+ {t('assistants.settings.regular_phrases.title', 'Regular Prompts')}
+ } onClick={handleAdd} />
+
+
+
+
+ handleUpdateOrder([...newPrompts].reverse())}
+ style={{ paddingBottom: dragging ? '34px' : 0 }}
+ onDragStart={() => setDragging(true)}
+ onDragEnd={() => setDragging(false)}>
+ {(prompt) => (
+
+ } onClick={() => handleEdit(prompt)} />
+ handleDelete(prompt.id)}
+ icon={}>
+ } />
+
+
+ )
+ }}
+ />
+ )}
+
+
+
-
+
)
}
+const Container = styled.div`
+ display: flex;
+ flex: 1;
+ flex-direction: column;
+`
+
const Label = styled.div`
font-size: 14px;
color: var(--color-text);
@@ -171,8 +175,6 @@ const Label = styled.div`
const StyledPromptList = styled.div`
width: 100%;
- height: calc(100vh - 162px); // Adjusted height to match other settings pages
- overflow-y: auto;
display: flex;
flex-direction: column;
gap: 8px;
diff --git a/src/renderer/src/store/llm.ts b/src/renderer/src/store/llm.ts
index 931d72276a..c2597320a7 100644
--- a/src/renderer/src/store/llm.ts
+++ b/src/renderer/src/store/llm.ts
@@ -66,16 +66,6 @@ export const INITIAL_PROVIDERS: Provider[] = [
isSystem: true,
enabled: false
},
- {
- id: 'openrouter',
- name: 'OpenRouter',
- type: 'openai',
- apiKey: '',
- apiHost: 'https://openrouter.ai/api/v1/',
- models: SYSTEM_MODELS.openrouter,
- isSystem: true,
- enabled: false
- },
{
id: 'ppio',
name: 'PPIO',
@@ -96,16 +86,6 @@ export const INITIAL_PROVIDERS: Provider[] = [
isSystem: true,
enabled: false
},
- {
- id: 'infini',
- name: 'Infini',
- type: 'openai',
- apiKey: '',
- apiHost: 'https://cloud.infini-ai.com/maas',
- models: SYSTEM_MODELS.infini,
- isSystem: true,
- enabled: false
- },
{
id: 'qiniu',
name: 'Qiniu',
@@ -136,6 +116,16 @@ export const INITIAL_PROVIDERS: Provider[] = [
isSystem: true,
enabled: false
},
+ {
+ id: 'tokenflux',
+ name: 'TokenFlux',
+ type: 'openai',
+ apiKey: '',
+ apiHost: 'https://tokenflux.ai',
+ models: SYSTEM_MODELS.tokenflux,
+ isSystem: true,
+ enabled: false
+ },
{
id: 'o3',
name: 'O3',
@@ -146,6 +136,16 @@ export const INITIAL_PROVIDERS: Provider[] = [
isSystem: true,
enabled: false
},
+ {
+ id: 'openrouter',
+ name: 'OpenRouter',
+ type: 'openai',
+ apiKey: '',
+ apiHost: 'https://openrouter.ai/api/v1/',
+ models: SYSTEM_MODELS.openrouter,
+ isSystem: true,
+ enabled: false
+ },
{
id: 'ollama',
name: 'Ollama',
@@ -298,6 +298,16 @@ export const INITIAL_PROVIDERS: Provider[] = [
isSystem: true,
enabled: false
},
+ {
+ id: 'infini',
+ name: 'Infini',
+ type: 'openai',
+ apiKey: '',
+ apiHost: 'https://cloud.infini-ai.com/maas',
+ models: SYSTEM_MODELS.infini,
+ isSystem: true,
+ enabled: false
+ },
{
id: 'minimax',
name: 'MiniMax',
@@ -477,16 +487,6 @@ export const INITIAL_PROVIDERS: Provider[] = [
models: SYSTEM_MODELS.voyageai,
isSystem: true,
enabled: false
- },
- {
- id: 'tokenflux',
- name: 'TokenFlux',
- type: 'openai',
- apiKey: '',
- apiHost: 'https://tokenflux.ai',
- models: SYSTEM_MODELS.tokenflux,
- isSystem: true,
- enabled: false
}
]