diff --git a/web/app/page.tsx b/web/app/page.tsx
index cae3262a7..20b15a235 100644
--- a/web/app/page.tsx
+++ b/web/app/page.tsx
@@ -9,6 +9,7 @@ import { useMainViewState } from '@/hooks/useMainViewState'
import ChatScreen from '@/screens/Chat'
import ExploreModelsScreen from '@/screens/ExploreModels'
+import LocalServerScreen from '@/screens/LocalServer'
import SettingsScreen from '@/screens/Settings'
import SystemMonitorScreen from '@/screens/SystemMonitor'
@@ -29,6 +30,10 @@ export default function Page() {
children =
break
+ case MainViewState.LocalServer:
+ children =
+ break
+
default:
children =
break
diff --git a/web/constants/screens.ts b/web/constants/screens.ts
index 19f82aaac..6a8adc185 100644
--- a/web/constants/screens.ts
+++ b/web/constants/screens.ts
@@ -4,4 +4,5 @@ export enum MainViewState {
Settings,
Thread,
SystemMonitor,
+ LocalServer,
}
diff --git a/web/containers/Layout/Ribbon/index.tsx b/web/containers/Layout/Ribbon/index.tsx
index 2fa5189cc..6118a69f1 100644
--- a/web/containers/Layout/Ribbon/index.tsx
+++ b/web/containers/Layout/Ribbon/index.tsx
@@ -11,6 +11,7 @@ import {
SettingsIcon,
MonitorIcon,
LayoutGridIcon,
+ SquareCodeIcon,
} from 'lucide-react'
import { twMerge } from 'tailwind-merge'
@@ -53,6 +54,16 @@ export default function RibbonNav() {
]
const secondaryMenus = [
+ {
+ name: 'Local Server',
+ icon: (
+
+ ),
+ state: MainViewState.LocalServer,
+ },
{
name: 'System Monitor',
icon: (
diff --git a/web/screens/LocalServer/index.tsx b/web/screens/LocalServer/index.tsx
new file mode 100644
index 000000000..7a3ca5ea6
--- /dev/null
+++ b/web/screens/LocalServer/index.tsx
@@ -0,0 +1,11 @@
+const LocalServerScreen = () => {
+ return (
+
+ Lorem ipsum dolor, sit amet consectetur adipisicing elit. Nostrum labore,
+ neque, voluptatum necessitatibus est commodi perferendis, quo ea alias
+ rerum facilis! Optio commodi quae vero eius sint iusto illum est?
+
+ )
+}
+
+export default LocalServerScreen