From 9664cb653af52c69f7cb67a6eb914d79c5ba50e9 Mon Sep 17 00:00:00 2001 From: xuhd Date: Fri, 15 May 2026 15:47:49 +0800 Subject: [PATCH] =?UTF-8?q?feat(frontend):=20=E8=AE=B0=E5=BF=86=E4=BB=8E?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E5=BC=B9=E7=AA=97=E7=A7=BB=E8=87=B3=E4=BE=A7?= =?UTF-8?q?=E8=BE=B9=E6=A0=8F=E7=8B=AC=E7=AB=8B=E5=85=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增 MemoryPage 及路由 /page/workspace/memory - 侧边栏在「技能」下方新增「记忆」入口 - 设置弹窗注释掉「记忆」标签页 Co-Authored-By: Claude Opus 4.7 (1M context) --- .../workspace/settings/settings-dialog.tsx | 27 ++++++++++--------- .../workspace/workspace-nav-chat-list.tsx | 13 ++++++++- frontend-web/src/pages/MemoryPage.tsx | 9 +++++++ frontend-web/src/pages/WorkspaceRoutes.tsx | 9 +++++++ 4 files changed, 44 insertions(+), 14 deletions(-) create mode 100644 frontend-web/src/pages/MemoryPage.tsx diff --git a/frontend-web/src/components/workspace/settings/settings-dialog.tsx b/frontend-web/src/components/workspace/settings/settings-dialog.tsx index 4ff41518..ea5cc6a6 100644 --- a/frontend-web/src/components/workspace/settings/settings-dialog.tsx +++ b/frontend-web/src/components/workspace/settings/settings-dialog.tsx @@ -1,6 +1,6 @@ "use client"; -import { BellIcon, BrainIcon, PaletteIcon, SparklesIcon, UserIcon, WrenchIcon } from "lucide-react"; +import { BellIcon, PaletteIcon, SparklesIcon, UserIcon, WrenchIcon } from "lucide-react"; import { useEffect, useMemo, useState } from "react"; import { @@ -50,18 +50,19 @@ export function SettingsDialog(props: SettingsDialogProps) { label: t.settings.sections.appearance, icon: PaletteIcon, }, - { - id: "notification", - label: t.settings.sections.notification, - icon: BellIcon, - }, - { id: "tools", label: t.settings.sections.tools, icon: WrenchIcon }, - { id: "skills", label: t.settings.sections.skills, icon: SparklesIcon }, - { - id: "memory", - label: t.settings.sections.memory, - icon: BrainIcon, - }, + // { + // id: "notification", + // label: t.settings.sections.notification, + // icon: BellIcon, + // }, + // { id: "tools", label: t.settings.sections.tools, icon: WrenchIcon }, + // { id: "skills", label: t.settings.sections.skills, icon: SparklesIcon }, + // 记忆已移至侧边栏入口 (/page/workspace/memory) + // { + // id: "memory", + // label: t.settings.sections.memory, + // icon: BrainIcon, + // }, { id: "tools", label: t.settings.sections.tools, icon: WrenchIcon }, { id: "account", diff --git a/frontend-web/src/components/workspace/workspace-nav-chat-list.tsx b/frontend-web/src/components/workspace/workspace-nav-chat-list.tsx index e913eba9..74824900 100644 --- a/frontend-web/src/components/workspace/workspace-nav-chat-list.tsx +++ b/frontend-web/src/components/workspace/workspace-nav-chat-list.tsx @@ -13,7 +13,7 @@ import { } from "@/components/ui/sidebar"; import { getStoredAuth } from "@/core/auth"; import { useI18n } from "@/core/i18n/hooks"; -import { BotIcon, ListChecks, MessageSquarePlus, MessagesSquare, SparklesIcon, UsersIcon } from "lucide-react"; +import { BotIcon, BrainIcon, ListChecks, MessageSquarePlus, MessagesSquare, SparklesIcon, UsersIcon } from "lucide-react"; export function WorkspaceNavChatList() { const { t } = useI18n(); @@ -63,6 +63,17 @@ export function WorkspaceNavChatList() { + + + + + 记忆 + + + + + + ); +} diff --git a/frontend-web/src/pages/WorkspaceRoutes.tsx b/frontend-web/src/pages/WorkspaceRoutes.tsx index fd428933..737af5b6 100644 --- a/frontend-web/src/pages/WorkspaceRoutes.tsx +++ b/frontend-web/src/pages/WorkspaceRoutes.tsx @@ -21,6 +21,7 @@ import NewAgentPage from "./NewAgentPage"; import ScheduledTaskRunDetailPage from "./ScheduledTaskRunDetailPage"; import ScheduledTasksPage from "./ScheduledTasksPage"; import LlmMetricsPage from "./LlmMetricsPage"; +import MemoryPage from "./MemoryPage"; import PromptPrefixSettingsPage from "./PromptPrefixSettingsPage"; import SkillEvolutionPage from "./SkillEvolutionPage"; import SkillsPage from "./SkillsPage"; @@ -155,6 +156,14 @@ export default function WorkspaceRoutes({ } /> + + + + } + /> }