diff --git a/src/components/layout/AppShell.tsx b/src/components/layout/AppShell.tsx index f4bd82d..40d46e2 100644 --- a/src/components/layout/AppShell.tsx +++ b/src/components/layout/AppShell.tsx @@ -7,7 +7,9 @@ import { Topbar } from "./Topbar"; import { HomePage } from "@/components/pages/HomePage"; import { AssistantPage } from "@/components/pages/AssistantPage"; import { AssistantWorkflowPage } from "@/components/pages/AssistantWorkflowPage"; -import { ComponentsPage } from "@/components/pages/ComponentsPage"; +import { ComponentsModelsPage } from "@/components/pages/ComponentsModelsPage"; +import { ComponentsKnowledgePage } from "@/components/pages/ComponentsKnowledgePage"; +import { ComponentsToolsPage } from "@/components/pages/ComponentsToolsPage"; import { HistoryPage } from "@/components/pages/HistoryPage"; import { TestPage } from "@/components/pages/TestPage"; import { WorkflowPage } from "@/components/pages/WorkflowPage"; @@ -17,12 +19,15 @@ export type NavKey = | "home" | "assistant-prompt" | "assistant-workflow" - | "components" + | "components-models" + | "components-knowledge" + | "components-tools" | "history" | "test" | "workflow" | "profile"; + export function AppShell() { const [active, setActive] = useState("home"); const [collapsed, setCollapsed] = useState(false); @@ -45,7 +50,9 @@ export function AppShell() { {active === "assistant-prompt" && } {active === "assistant-workflow" && } - {active === "components" && } + {active === "components-models" && } + {active === "components-knowledge" && } + {active === "components-tools" && } {active === "history" && } {active === "test" && } {active === "workflow" && } diff --git a/src/components/layout/Sidebar.tsx b/src/components/layout/Sidebar.tsx index b58d24f..b09cd0a 100644 --- a/src/components/layout/Sidebar.tsx +++ b/src/components/layout/Sidebar.tsx @@ -3,9 +3,12 @@ import { Bot, Boxes, + Brain, ChevronLeft, ChevronRight, Clock3, + Database, + Wrench, FileText, Home, PlayCircle, @@ -27,10 +30,8 @@ const mainItems: Array<{ icon: React.ComponentType<{ size?: number }>; }> = [ { key: "home", label: "控制台", icon: Home }, - { key: "components", label: "组件库", icon: Boxes }, { key: "history", label: "历史记录", icon: Clock3 }, { key: "test", label: "测试助手", icon: PlayCircle }, - { key: "workflow", label: "工作流", icon: Workflow }, ]; const assistantSubItems: Array<{ @@ -42,6 +43,16 @@ const assistantSubItems: Array<{ { key: "assistant-workflow", label: "工作流模式", icon: Workflow }, ]; +const componentSubItems: Array<{ + key: NavKey; + label: string; + icon: React.ComponentType<{ size?: number }>; +}> = [ + { key: "components-models", label: "模型资源", icon: Brain }, + { key: "components-knowledge", label: "知识库", icon: Database }, + { key: "components-tools", label: "工具资源", icon: Wrench }, +]; + export function Sidebar({ active, collapsed, @@ -51,6 +62,9 @@ export function Sidebar({ const assistantActive = active === "assistant-prompt" || active === "assistant-workflow"; + const componentActive = + active === "components-models" || active === "components-knowledge" || active === "components-tools"; + return (