diff --git a/package.json b/package.json
index 2475e5b06a502..1290878c7dbc3 100644
--- a/package.json
+++ b/package.json
@@ -143,7 +143,6 @@
"@fal-ai/client": "^1.6.2",
"@formkit/auto-animate": "^0.9.0",
"@google/genai": "^1.24.0",
- "@huggingface/inference": "^4.11.3",
"@icons-pack/react-simple-icons": "^13.8.0",
"@khmyznikov/pwa-install": "0.3.9",
"@langchain/community": "^0.3.57",
@@ -262,6 +261,7 @@
"react-lazy-load": "^4.0.1",
"react-pdf": "^9.2.1",
"react-rnd": "^10.5.2",
+ "react-router-dom": "^7.9.4",
"react-scan": "^0.4.3",
"react-virtuoso": "^4.14.1",
"react-wrap-balancer": "^1.1.1",
diff --git a/src/app/[variants]/(main)/profile/(home)/[[...slugs]]/page.tsx b/src/app/[variants]/(main)/profile/(home)/[[...slugs]]/page.tsx
deleted file mode 100644
index 9020cbc30954d..0000000000000
--- a/src/app/[variants]/(main)/profile/(home)/[[...slugs]]/page.tsx
+++ /dev/null
@@ -1,40 +0,0 @@
-import { Skeleton } from 'antd';
-import dynamic from 'next/dynamic';
-
-import { enableClerk } from '@/const/auth';
-import { metadataModule } from '@/server/metadata';
-import { translation } from '@/server/translation';
-import { DynamicLayoutProps } from '@/types/next';
-import { RouteVariants } from '@/utils/server/routeVariants';
-
-import Client from '../Client';
-
-// 为了兼容 ClerkProfile, 需要使用 [[...slug]]
-
-const ClerkProfile = dynamic(() => import('../../features/ClerkProfile'), {
- loading: () => (
-
-
-
- ),
-});
-
-export const generateMetadata = async (props: DynamicLayoutProps) => {
- const locale = await RouteVariants.getLocale(props);
- const { t } = await translation('auth', locale);
- return metadataModule.generate({
- description: t('header.desc'),
- title: t('tab.profile'),
- url: '/profile',
- });
-};
-
-const Page = async (props: DynamicLayoutProps) => {
- const mobile = await RouteVariants.getIsMobile(props);
-
- if (enableClerk) return ;
-
- return ;
-};
-
-export default Page;
diff --git a/src/app/[variants]/(main)/profile/@category/default.tsx b/src/app/[variants]/(main)/profile/@category/default.tsx
deleted file mode 100644
index 6177d698b5044..0000000000000
--- a/src/app/[variants]/(main)/profile/@category/default.tsx
+++ /dev/null
@@ -1,17 +0,0 @@
-import { Suspense } from 'react';
-
-import SkeletonLoading from '@/components/Loading/SkeletonLoading';
-
-import CategoryContent from './features/CategoryContent';
-
-const Category = () => {
- return (
- }>
-
-
- );
-};
-
-Category.displayName = 'SettingCategory';
-
-export default Category;
diff --git a/src/app/[variants]/(main)/profile/@category/features/CategoryContent.tsx b/src/app/[variants]/(main)/profile/@category/features/CategoryContent.tsx
deleted file mode 100644
index 85f99f8e02711..0000000000000
--- a/src/app/[variants]/(main)/profile/@category/features/CategoryContent.tsx
+++ /dev/null
@@ -1,34 +0,0 @@
-'use client';
-
-import { usePathname } from 'next/navigation';
-import { memo } from 'react';
-import urlJoin from 'url-join';
-
-import Menu from '@/components/Menu';
-import { useQueryRoute } from '@/hooks/useQueryRoute';
-import { ProfileTabs } from '@/store/global/initialState';
-
-import { useCategory } from '../../hooks/useCategory';
-
-const CategoryContent = memo(() => {
- const pathname = usePathname();
- const activeTab = pathname.split('/').at(-1);
- const cateItems = useCategory();
- const router = useQueryRoute();
-
- return (
-