diff --git a/.gitignore b/.gitignore
index 89b392e4..49ec5947 100644
--- a/.gitignore
+++ b/.gitignore
@@ -46,5 +46,5 @@ out
.env
.env.*
-# Ollama
-ollama
+# Local
+local
diff --git a/package.json b/package.json
index adbdc849..99eebe20 100644
--- a/package.json
+++ b/package.json
@@ -8,7 +8,7 @@
"homepage": "https://github.com/kangfenmao/cherry-studio",
"workspaces": {
"packages": [
- "ollama"
+ "local"
]
},
"scripts": {
diff --git a/src/renderer/index.html b/src/renderer/index.html
index 8798d0a4..a2a838e9 100644
--- a/src/renderer/index.html
+++ b/src/renderer/index.html
@@ -2,7 +2,6 @@
- Cherry Studio
{
return (
-
+
diff --git a/src/renderer/src/config/app.ts b/src/renderer/src/config/app.ts
new file mode 100644
index 00000000..c970d886
--- /dev/null
+++ b/src/renderer/src/config/app.ts
@@ -0,0 +1,3 @@
+export { default as AppLogo } from '@renderer/assets/images/logo.png'
+
+export const APP_NAME = 'Cherry Studio'
diff --git a/src/renderer/src/init.ts b/src/renderer/src/init.ts
index c43e6cd9..ae074378 100644
--- a/src/renderer/src/init.ts
+++ b/src/renderer/src/init.ts
@@ -1,6 +1,7 @@
import KeyvStorage from '@kangfenmao/keyv-storage'
import localforage from 'localforage'
+import { APP_NAME } from './config/app'
import { ThemeMode } from './store/settings'
import { loadScript } from './utils'
@@ -22,7 +23,7 @@ function init() {
name: 'CherryAI',
version: 1.0,
storeName: 'cherryai',
- description: 'Cherry Studio Storage'
+ description: `${APP_NAME} Storage`
})
window.keyv = new KeyvStorage()
diff --git a/src/renderer/src/pages/settings/AboutSettings.tsx b/src/renderer/src/pages/settings/AboutSettings.tsx
index 7e384a34..3ac16a4d 100644
--- a/src/renderer/src/pages/settings/AboutSettings.tsx
+++ b/src/renderer/src/pages/settings/AboutSettings.tsx
@@ -1,8 +1,8 @@
import { GithubOutlined } from '@ant-design/icons'
import { FileProtectOutlined, GlobalOutlined, MailOutlined, SoundOutlined } from '@ant-design/icons'
-import Logo from '@renderer/assets/images/logo.png'
import { HStack } from '@renderer/components/Layout'
import MinApp from '@renderer/components/MinApp'
+import { APP_NAME, AppLogo } from '@renderer/config/app'
import { runAsyncFunction } from '@renderer/utils'
import { Avatar, Button, Progress, Row, Tag } from 'antd'
import { ProgressInfo } from 'electron-updater'
@@ -44,7 +44,7 @@ const AboutSettings: FC = () => {
const mailto = async () => {
const email = 'kangfenmao@qq.com'
- const subject = 'Cherry Studio Feedback'
+ const subject = `${APP_NAME} Feedback`
const version = (await window.api.getAppInfo()).version
const platform = window.electron.process.platform
const url = `mailto:${email}?subject=${subject}&body=%0A%0AVersion: ${version} | Platform: ${platform}`
@@ -117,10 +117,10 @@ const AboutSettings: FC = () => {
strokeColor="#67ad5b"
/>
)}
-
+
- Cherry Studio
+ {APP_NAME}
{t('settings.about.description')}
onOpenWebsite('https://github.com/kangfenmao/cherry-studio/releases')}
diff --git a/src/renderer/src/store/runtime.ts b/src/renderer/src/store/runtime.ts
index bfa8ec01..5444611c 100644
--- a/src/renderer/src/store/runtime.ts
+++ b/src/renderer/src/store/runtime.ts
@@ -1,5 +1,5 @@
import { createSlice, PayloadAction } from '@reduxjs/toolkit'
-import Logo from '@renderer/assets/images/logo.png'
+import { AppLogo } from '@renderer/config/app'
export interface RuntimeState {
avatar: string
@@ -8,7 +8,7 @@ export interface RuntimeState {
}
const initialState: RuntimeState = {
- avatar: Logo,
+ avatar: AppLogo,
generating: false,
minappShow: false
}
@@ -18,7 +18,7 @@ const runtimeSlice = createSlice({
initialState,
reducers: {
setAvatar: (state, action: PayloadAction) => {
- state.avatar = action.payload || Logo
+ state.avatar = action.payload || AppLogo
},
setGenerating: (state, action: PayloadAction) => {
state.generating = action.payload
diff --git a/tsconfig.json b/tsconfig.json
index 31bac6e9..b1d115b8 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -1,4 +1,11 @@
{
"files": [],
- "references": [{ "path": "./tsconfig.node.json" }, { "path": "./tsconfig.web.json" }]
+ "references": [
+ {
+ "path": "./tsconfig.node.json"
+ },
+ {
+ "path": "./tsconfig.web.json"
+ }
+ ]
}
diff --git a/tsconfig.node.json b/tsconfig.node.json
index 04c642a5..dbea6885 100644
--- a/tsconfig.node.json
+++ b/tsconfig.node.json
@@ -4,8 +4,7 @@
"electron.vite.config.*",
"src/main/**/*",
"src/preload/**/*",
- "src/ollma/**/*",
- "src/main/env.d.ts"
+ "src/main/env.d.ts",
],
"compilerOptions": {
"composite": true,
diff --git a/tsconfig.web.json b/tsconfig.web.json
index 9c16b661..28dc1773 100644
--- a/tsconfig.web.json
+++ b/tsconfig.web.json
@@ -4,7 +4,8 @@
"src/renderer/src/env.d.ts",
"src/renderer/src/**/*",
"src/renderer/src/**/*.tsx",
- "src/preload/*.d.ts"
+ "src/preload/*.d.ts",
+ "local/src/renderer/**/*",
],
"compilerOptions": {
"composite": true,
diff --git a/yarn.lock b/yarn.lock
index 8a7764bc..b3a4f6ba 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -5,6 +5,26 @@ __metadata:
version: 8
cacheKey: 10c0
+"700AI@workspace:local":
+ version: 0.0.0-use.local
+ resolution: "700AI@workspace:local"
+ dependencies:
+ "@electron-toolkit/preload": "npm:^3.0.0"
+ "@electron-toolkit/utils": "npm:^3.0.0"
+ "@types/adm-zip": "npm:^0"
+ adm-zip: "npm:^0.5.15"
+ dotenv-cli: "npm:^7.4.2"
+ electron: "npm:^28.3.3"
+ electron-builder: "npm:^24.9.1"
+ electron-log: "npm:^5.1.5"
+ electron-store: "npm:^8.2.0"
+ electron-updater: "npm:^6.1.7"
+ electron-vite: "npm:^2.0.0"
+ electron-window-state: "npm:^5.0.3"
+ eslint-plugin-simple-import-sort: "npm:^12.1.1"
+ languageName: unknown
+ linkType: soft
+
"7zip-bin@npm:~5.2.0":
version: 5.2.0
resolution: "7zip-bin@npm:5.2.0"
@@ -1949,26 +1969,6 @@ __metadata:
languageName: unknown
linkType: soft
-"SevenAI@workspace:ollama":
- version: 0.0.0-use.local
- resolution: "SevenAI@workspace:ollama"
- dependencies:
- "@electron-toolkit/preload": "npm:^3.0.0"
- "@electron-toolkit/utils": "npm:^3.0.0"
- "@types/adm-zip": "npm:^0"
- adm-zip: "npm:^0.5.15"
- dotenv-cli: "npm:^7.4.2"
- electron: "npm:^28.3.3"
- electron-builder: "npm:^24.9.1"
- electron-log: "npm:^5.1.5"
- electron-store: "npm:^8.2.0"
- electron-updater: "npm:^6.1.7"
- electron-vite: "npm:^2.0.0"
- electron-window-state: "npm:^5.0.3"
- eslint-plugin-simple-import-sort: "npm:^12.1.1"
- languageName: unknown
- linkType: soft
-
"abbrev@npm:^2.0.0":
version: 2.0.0
resolution: "abbrev@npm:2.0.0"