diff --git a/src/renderer/src/assets/images/apps/3mintop.png b/src/renderer/src/assets/images/apps/3mintop.png
index d43da03cbb..4063caf74a 100644
Binary files a/src/renderer/src/assets/images/apps/3mintop.png and b/src/renderer/src/assets/images/apps/3mintop.png differ
diff --git a/src/renderer/src/assets/images/apps/stepfun.png b/src/renderer/src/assets/images/apps/stepfun.png
new file mode 100644
index 0000000000..74aba7e592
Binary files /dev/null and b/src/renderer/src/assets/images/apps/stepfun.png differ
diff --git a/src/renderer/src/assets/images/apps/wpslingxi.webp b/src/renderer/src/assets/images/apps/wpslingxi.webp
index 4c2c3b83ea..facadaccb0 100644
Binary files a/src/renderer/src/assets/images/apps/wpslingxi.webp and b/src/renderer/src/assets/images/apps/wpslingxi.webp differ
diff --git a/src/renderer/src/assets/images/apps/yuewen.png b/src/renderer/src/assets/images/apps/yuewen.png
deleted file mode 100644
index de9d81e545..0000000000
Binary files a/src/renderer/src/assets/images/apps/yuewen.png and /dev/null differ
diff --git a/src/renderer/src/components/MinApp/MinappPopupContainer.tsx b/src/renderer/src/components/MinApp/MinappPopupContainer.tsx
index 848173e9b1..57e5141048 100644
--- a/src/renderer/src/components/MinApp/MinappPopupContainer.tsx
+++ b/src/renderer/src/components/MinApp/MinappPopupContainer.tsx
@@ -549,7 +549,7 @@ const MinappPopupContainer: React.FC = () => {
{/* 在所有小程序中显示GoogleLoginTip */}
{!isReady && (
-
+
=
// Default quick assistant model
glm45FlashModel
],
- // cherryin: [],
+ cherryin: [],
vertexai: [],
'302ai': [
{
diff --git a/src/renderer/src/config/providers.ts b/src/renderer/src/config/providers.ts
index 6d447f60fa..aa734260f7 100644
--- a/src/renderer/src/config/providers.ts
+++ b/src/renderer/src/config/providers.ts
@@ -82,16 +82,16 @@ export const CHERRYAI_PROVIDER: SystemProvider = {
}
export const SYSTEM_PROVIDERS_CONFIG: Record = {
- // cherryin: {
- // id: 'cherryin',
- // name: 'CherryIN',
- // type: 'openai',
- // apiKey: '',
- // apiHost: 'https://open.cherryin.ai',
- // models: [],
- // isSystem: true,
- // enabled: true
- // },
+ cherryin: {
+ id: 'cherryin',
+ name: 'CherryIN',
+ type: 'openai',
+ apiKey: '',
+ apiHost: 'https://open.cherryin.net',
+ models: [],
+ isSystem: true,
+ enabled: true
+ },
silicon: {
id: 'silicon',
name: 'Silicon',
@@ -742,17 +742,17 @@ type ProviderUrls = {
}
export const PROVIDER_URLS: Record = {
- // cherryin: {
- // api: {
- // url: 'https://open.cherryin.ai'
- // },
- // websites: {
- // official: 'https://open.cherryin.ai',
- // apiKey: 'https://open.cherryin.ai/console/token',
- // docs: 'https://open.cherryin.ai',
- // models: 'https://open.cherryin.ai/pricing'
- // }
- // },
+ cherryin: {
+ api: {
+ url: 'https://open.cherryin.net'
+ },
+ websites: {
+ official: 'https://open.cherryin.ai',
+ apiKey: 'https://open.cherryin.ai/console/token',
+ docs: 'https://open.cherryin.ai',
+ models: 'https://open.cherryin.ai/pricing'
+ }
+ },
ph8: {
api: {
url: 'https://ph8.co'
diff --git a/src/renderer/src/i18n/locales/en-us.json b/src/renderer/src/i18n/locales/en-us.json
index 74b2911dd1..0d46390767 100644
--- a/src/renderer/src/i18n/locales/en-us.json
+++ b/src/renderer/src/i18n/locales/en-us.json
@@ -1806,13 +1806,13 @@
"nami-ai-search": "Nami AI Search",
"qwen": "Qwen",
"sensechat": "SenseChat",
+ "stepfun": "Stepfun",
"tencent-yuanbao": "Yuanbao",
"tiangong-ai": "Skywork",
"wanzhi": "Wanzhi",
"wenxin": "ERNIE",
"wps-copilot": "WPS Copilot",
"xiaoyi": "Xiaoyi",
- "yuewen": "Yuewen",
"zhihu": "Zhihu"
},
"miniwindow": {
diff --git a/src/renderer/src/i18n/locales/zh-cn.json b/src/renderer/src/i18n/locales/zh-cn.json
index 821d755aa8..2ae391419f 100644
--- a/src/renderer/src/i18n/locales/zh-cn.json
+++ b/src/renderer/src/i18n/locales/zh-cn.json
@@ -1806,13 +1806,13 @@
"nami-ai-search": "纳米AI搜索",
"qwen": "通义千问",
"sensechat": "商量",
+ "stepfun": "阶跃AI",
"tencent-yuanbao": "腾讯元宝",
"tiangong-ai": "天工AI",
"wanzhi": "万知",
"wenxin": "文心一言",
"wps-copilot": "WPS灵犀",
"xiaoyi": "小艺",
- "yuewen": "跃问",
"zhihu": "知乎直答"
},
"miniwindow": {
diff --git a/src/renderer/src/i18n/locales/zh-tw.json b/src/renderer/src/i18n/locales/zh-tw.json
index bac03e14a2..3e9f321f17 100644
--- a/src/renderer/src/i18n/locales/zh-tw.json
+++ b/src/renderer/src/i18n/locales/zh-tw.json
@@ -1806,13 +1806,13 @@
"nami-ai-search": "納米AI搜索",
"qwen": "通義千問",
"sensechat": "商量",
+ "stepfun": "階躍AI",
"tencent-yuanbao": "騰訊元寶",
"tiangong-ai": "天工AI",
"wanzhi": "萬知",
"wenxin": "文心一言",
"wps-copilot": "WPS靈犀",
"xiaoyi": "小藝",
- "yuewen": "躍問",
"zhihu": "知乎直答"
},
"miniwindow": {
diff --git a/src/renderer/src/i18n/translate/el-gr.json b/src/renderer/src/i18n/translate/el-gr.json
index a9e730734f..ed2ae1aee7 100644
--- a/src/renderer/src/i18n/translate/el-gr.json
+++ b/src/renderer/src/i18n/translate/el-gr.json
@@ -1806,13 +1806,13 @@
"nami-ai-search": "Nami AI Search",
"qwen": "Qwen",
"sensechat": "SenseChat",
+ "stepfun": "Stepfun",
"tencent-yuanbao": "Yuanbao",
"tiangong-ai": "Skywork",
"wanzhi": "Wanzhi",
"wenxin": "ERNIE",
"wps-copilot": "WPS Copilot",
"xiaoyi": "Xiaoyi",
- "yuewen": "Yuewen",
"zhihu": "Zhihu"
},
"miniwindow": {
diff --git a/src/renderer/src/i18n/translate/es-es.json b/src/renderer/src/i18n/translate/es-es.json
index 3cb4d7a3ea..eeb943c39f 100644
--- a/src/renderer/src/i18n/translate/es-es.json
+++ b/src/renderer/src/i18n/translate/es-es.json
@@ -1806,13 +1806,13 @@
"nami-ai-search": "Nami AI Search",
"qwen": "Qwen",
"sensechat": "SenseChat",
+ "stepfun": "Stepfun",
"tencent-yuanbao": "Yuanbao",
"tiangong-ai": "Skywork",
"wanzhi": "Wanzhi",
"wenxin": "ERNIE",
"wps-copilot": "WPS Copilot",
"xiaoyi": "Xiaoyi",
- "yuewen": "Yuewen",
"zhihu": "Zhihu"
},
"miniwindow": {
diff --git a/src/renderer/src/i18n/translate/fr-fr.json b/src/renderer/src/i18n/translate/fr-fr.json
index c0f4ff3def..b0e4a1afed 100644
--- a/src/renderer/src/i18n/translate/fr-fr.json
+++ b/src/renderer/src/i18n/translate/fr-fr.json
@@ -1806,13 +1806,13 @@
"nami-ai-search": "Nami AI Search",
"qwen": "Qwen",
"sensechat": "SenseChat",
+ "stepfun": "Stepfun",
"tencent-yuanbao": "Yuanbao",
"tiangong-ai": "Skywork",
"wanzhi": "Wanzhi",
"wenxin": "ERNIE",
"wps-copilot": "WPS Copilot",
"xiaoyi": "Xiaoyi",
- "yuewen": "Yuewen",
"zhihu": "Zhihu"
},
"miniwindow": {
diff --git a/src/renderer/src/i18n/translate/ja-jp.json b/src/renderer/src/i18n/translate/ja-jp.json
index dc047aec76..7d07988276 100644
--- a/src/renderer/src/i18n/translate/ja-jp.json
+++ b/src/renderer/src/i18n/translate/ja-jp.json
@@ -1806,13 +1806,13 @@
"nami-ai-search": "Nami AI Search",
"qwen": "通義千問",
"sensechat": "SenseChat",
+ "stepfun": "Stepfun",
"tencent-yuanbao": "騰訊元宝",
"tiangong-ai": "Skywork",
"wanzhi": "万知",
"wenxin": "ERNIE",
"wps-copilot": "WPS Copilot",
"xiaoyi": "小藝",
- "yuewen": "躍問",
"zhihu": "知乎直答"
},
"miniwindow": {
diff --git a/src/renderer/src/i18n/translate/pt-pt.json b/src/renderer/src/i18n/translate/pt-pt.json
index f24fea2013..e4707b846d 100644
--- a/src/renderer/src/i18n/translate/pt-pt.json
+++ b/src/renderer/src/i18n/translate/pt-pt.json
@@ -1806,13 +1806,13 @@
"nami-ai-search": "Nami AI Search",
"qwen": "Qwen",
"sensechat": "SenseChat",
+ "stepfun": "Stepfun",
"tencent-yuanbao": "Yuanbao",
"tiangong-ai": "Skywork",
"wanzhi": "Wanzhi",
"wenxin": "ERNIE",
"wps-copilot": "WPS Copilot",
"xiaoyi": "Xiaoyi",
- "yuewen": "Yuewen",
"zhihu": "Zhihu"
},
"miniwindow": {
diff --git a/src/renderer/src/i18n/translate/ru-ru.json b/src/renderer/src/i18n/translate/ru-ru.json
index a210be8dd4..d4c631d81c 100644
--- a/src/renderer/src/i18n/translate/ru-ru.json
+++ b/src/renderer/src/i18n/translate/ru-ru.json
@@ -1806,13 +1806,13 @@
"nami-ai-search": "Nami AI Search",
"qwen": "Qwen",
"sensechat": "SenseChat",
+ "stepfun": "Stepfun",
"tencent-yuanbao": "Tencent Yuanbao",
"tiangong-ai": "Skywork",
"wanzhi": "Wanzhi",
"wenxin": "ERNIE",
"wps-copilot": "WPS Copilot",
"xiaoyi": "Xiaoyi",
- "yuewen": "Yuewen",
"zhihu": "Zhihu"
},
"miniwindow": {
diff --git a/src/renderer/src/pages/minapps/components/WebviewSearch.tsx b/src/renderer/src/pages/minapps/components/WebviewSearch.tsx
index 80b88f9c1f..20970147d6 100644
--- a/src/renderer/src/pages/minapps/components/WebviewSearch.tsx
+++ b/src/renderer/src/pages/minapps/components/WebviewSearch.tsx
@@ -121,7 +121,7 @@ const WebviewSearch: FC = ({ webviewRef, isWebviewReady, app
const nextWebview = webviewRef.current ?? null
if (currentWebview === nextWebview) return
setCurrentWebview(nextWebview)
- })
+ }, [currentWebview, webviewRef])
useEffect(() => {
const target = currentWebview
diff --git a/src/renderer/src/store/index.ts b/src/renderer/src/store/index.ts
index f3f0fa3dda..d38c0a23ed 100644
--- a/src/renderer/src/store/index.ts
+++ b/src/renderer/src/store/index.ts
@@ -65,7 +65,7 @@ const persistedReducer = persistReducer(
{
key: 'cherry-studio',
storage,
- version: 160,
+ version: 161,
blacklist: ['runtime', 'messages', 'messageBlocks', 'tabs'],
migrate
},
diff --git a/src/renderer/src/store/migrate.ts b/src/renderer/src/store/migrate.ts
index 89738b5821..f4449895ae 100644
--- a/src/renderer/src/store/migrate.ts
+++ b/src/renderer/src/store/migrate.ts
@@ -68,6 +68,7 @@ function removeMiniAppIconsFromState(state: RootState) {
function removeMiniAppFromState(state: RootState, id: string) {
if (state.minapps) {
+ state.minapps.pinned = state.minapps.pinned.filter((app) => app.id !== id)
state.minapps.enabled = state.minapps.enabled.filter((app) => app.id !== id)
state.minapps.disabled = state.minapps.disabled.filter((app) => app.id !== id)
}
@@ -2654,6 +2655,19 @@ const migrateConfig = {
logger.error('migrate 160 error', error as Error)
return state
}
+ },
+ '161': (state: RootState) => {
+ try {
+ removeMiniAppFromState(state, 'nm-search')
+ removeMiniAppFromState(state, 'hika')
+ removeMiniAppFromState(state, 'hugging-chat')
+ addProvider(state, 'cherryin')
+ state.llm.providers = moveProvider(state.llm.providers, 'cherryin', 1)
+ return state
+ } catch (error) {
+ logger.error('migrate 161 error', error as Error)
+ return state
+ }
}
}
diff --git a/src/renderer/src/types/provider.ts b/src/renderer/src/types/provider.ts
index 3f9f45305d..fd87397a47 100644
--- a/src/renderer/src/types/provider.ts
+++ b/src/renderer/src/types/provider.ts
@@ -106,7 +106,7 @@ export type Provider = {
}
export const SystemProviderIds = {
- // cherryin: 'cherryin',
+ cherryin: 'cherryin',
silicon: 'silicon',
aihubmix: 'aihubmix',
ocoolai: 'ocoolai',