diff --git a/src/renderer/src/App.tsx b/src/renderer/src/App.tsx
index d1abfc44f2..e6dfb110f1 100644
--- a/src/renderer/src/App.tsx
+++ b/src/renderer/src/App.tsx
@@ -9,6 +9,7 @@ import AntdProvider from './context/AntdProvider'
import { ThemeProvider } from './context/ThemeProvider'
import AgentsPage from './pages/agents/AgentsPage'
import AppsPage from './pages/apps/AppsPage'
+import FilesPage from './pages/files/FilesPage'
import HomePage from './pages/home/HomePage'
import SettingsPage from './pages/settings/SettingsPage'
import TranslatePage from './pages/translate/TranslatePage'
@@ -24,6 +25,7 @@ function App(): JSX.Element {
} />
+ } />
} />
} />
} />
diff --git a/src/renderer/src/components/app/Sidebar.tsx b/src/renderer/src/components/app/Sidebar.tsx
index ffdc1c20af..d5eb740608 100644
--- a/src/renderer/src/components/app/Sidebar.tsx
+++ b/src/renderer/src/components/app/Sidebar.tsx
@@ -1,4 +1,4 @@
-import { TranslationOutlined } from '@ant-design/icons'
+import { FolderOutlined, TranslationOutlined } from '@ant-design/icons'
import { isMac } from '@renderer/config/constant'
import { isLocalAi, UserAvatar } from '@renderer/config/env'
import useAvatar from '@renderer/hooks/useAvatar'
@@ -51,6 +51,11 @@ const Sidebar: FC = () => {
+ to('/files')}>
+
+
+
+
to('/agents')}>
diff --git a/src/renderer/src/i18n/index.ts b/src/renderer/src/i18n/index.ts
index aeeaa4b3b2..239e2b4ff6 100644
--- a/src/renderer/src/i18n/index.ts
+++ b/src/renderer/src/i18n/index.ts
@@ -102,6 +102,9 @@ const resources = {
'message.new.context': 'New Context',
'assistant.search.placeholder': 'Search'
},
+ files: {
+ title: 'Files'
+ },
agents: {
title: 'Assistants',
my_agents: 'My Assistants',
@@ -358,6 +361,9 @@ const resources = {
'message.new.context': '清除上下文',
'assistant.search.placeholder': '搜索'
},
+ files: {
+ title: '文件'
+ },
agents: {
title: '智能体',
my_agents: '我的智能体',
diff --git a/src/renderer/src/pages/files/FilesPage.tsx b/src/renderer/src/pages/files/FilesPage.tsx
new file mode 100644
index 0000000000..3d0a012115
--- /dev/null
+++ b/src/renderer/src/pages/files/FilesPage.tsx
@@ -0,0 +1,40 @@
+import { Navbar, NavbarCenter } from '@renderer/components/app/Navbar'
+import { Button } from 'antd'
+import { FC } from 'react'
+import { useTranslation } from 'react-i18next'
+import styled from 'styled-components'
+
+const FilesPage: FC = () => {
+ const { t } = useTranslation()
+
+ return (
+
+
+ {t('files.title')}
+
+
+
+
+
+ )
+}
+
+const Container = styled.div`
+ display: flex;
+ flex: 1;
+ flex-direction: column;
+ height: 100%;
+`
+
+const ContentContainer = styled.div`
+ display: flex;
+ flex: 1;
+ flex-direction: row;
+ justify-content: center;
+ height: 100%;
+ overflow-y: scroll;
+ background-color: var(--color-background);
+ padding: 20px;
+`
+
+export default FilesPage
diff --git a/src/renderer/src/pages/home/Inputbar/Inputbar.tsx b/src/renderer/src/pages/home/Inputbar/Inputbar.tsx
index 1936f66aa1..49b37d3d17 100644
--- a/src/renderer/src/pages/home/Inputbar/Inputbar.tsx
+++ b/src/renderer/src/pages/home/Inputbar/Inputbar.tsx
@@ -26,6 +26,7 @@ import { CSSProperties, FC, useCallback, useEffect, useMemo, useRef, useState }
import { useTranslation } from 'react-i18next'
import styled from 'styled-components'
+import AttachmentButton from './AttachmentButton'
import SendMessageButton from './SendMessageButton'
import TokenCount from './TokenCount'
@@ -260,7 +261,7 @@ const Inputbar: FC = ({ assistant, setActiveTopic }) => {
- {/* */}
+
{expended ? : }