diff --git a/src/components/layout/AppShell.tsx b/src/components/layout/AppShell.tsx
index 40d46e2..eab14dc 100644
--- a/src/components/layout/AppShell.tsx
+++ b/src/components/layout/AppShell.tsx
@@ -6,7 +6,6 @@ import { Topbar } from "./Topbar";
import { HomePage } from "@/components/pages/HomePage";
import { AssistantPage } from "@/components/pages/AssistantPage";
-import { AssistantWorkflowPage } from "@/components/pages/AssistantWorkflowPage";
import { ComponentsModelsPage } from "@/components/pages/ComponentsModelsPage";
import { ComponentsKnowledgePage } from "@/components/pages/ComponentsKnowledgePage";
import { ComponentsToolsPage } from "@/components/pages/ComponentsToolsPage";
@@ -17,8 +16,7 @@ import { ProfilePage } from "@/components/pages/ProfilePage";
export type NavKey =
| "home"
- | "assistant-prompt"
- | "assistant-workflow"
+ | "assistants"
| "components-models"
| "components-knowledge"
| "components-tools"
@@ -46,10 +44,7 @@ export function AppShell() {
{active === "home" &&
}
-
- {active === "assistant-prompt" &&
}
- {active === "assistant-workflow" &&
}
-
+ {active === "assistants" &&
}
{active === "components-models" &&
}
{active === "components-knowledge" &&
}
{active === "components-tools" &&
}
diff --git a/src/components/layout/Sidebar.tsx b/src/components/layout/Sidebar.tsx
index b09cd0a..d3d0434 100644
--- a/src/components/layout/Sidebar.tsx
+++ b/src/components/layout/Sidebar.tsx
@@ -9,7 +9,6 @@ import {
Clock3,
Database,
Wrench,
- FileText,
Home,
PlayCircle,
Video,
@@ -34,15 +33,6 @@ const mainItems: Array<{
{ key: "test", label: "测试助手", icon: PlayCircle },
];
-const assistantSubItems: Array<{
- key: NavKey;
- label: string;
- icon: React.ComponentType<{ size?: number }>;
-}> = [
- { key: "assistant-prompt", label: "提示词模式", icon: FileText },
- { key: "assistant-workflow", label: "工作流模式", icon: Workflow },
-];
-
const componentSubItems: Array<{
key: NavKey;
label: string;
@@ -59,8 +49,7 @@ export function Sidebar({
onNavigate,
onToggle,
}: SidebarProps) {
- const assistantActive =
- active === "assistant-prompt" || active === "assistant-workflow";
+ const assistantActive = active === "assistants";
const componentActive =
active === "components-models" || active === "components-knowledge" || active === "components-tools";
@@ -106,46 +95,14 @@ export function Sidebar({
label="控制台"
onClick={() => onNavigate("home")}
/>
-
- {collapsed ? (
-
-
-
- ) : (
-
-
- 创建助手
-
- )}
-
-
- {assistantSubItems.map((item) => (
- onNavigate(item.key)}
- small
- />
- ))}
-
+
onNavigate("assistants")}
+ />
diff --git a/src/components/pages/AssistantPage.tsx b/src/components/pages/AssistantPage.tsx
index a451344..ac27d6d 100644
--- a/src/components/pages/AssistantPage.tsx
+++ b/src/components/pages/AssistantPage.tsx
@@ -1,13 +1,19 @@
"use client";
-import { useState } from "react";
import {
Bot,
Brain,
+ Database,
Mic,
+ MoreHorizontal,
+ Pencil,
+ Plus,
Rocket,
Save,
+ Search,
Sparkles,
+ Trash2,
+ Volume2,
} from "lucide-react";
import { Button } from "@/components/ui/button";
@@ -28,6 +34,7 @@ import {
CardHeader,
CardTitle,
} from "@/components/ui/card";
+import { useState } from "react";
type AssistantForm = {
name: string;
@@ -40,6 +47,47 @@ type AssistantForm = {
enableInterrupt: boolean;
};
+type AssistantType = "提示词" | "工作流" | "Dify" | "FastGPT";
+
+type AssistantListItem = {
+ id: string;
+ name: string;
+ type: AssistantType;
+ status: "运行中" | "草稿" | "已停用";
+ updatedAt: string;
+};
+
+const mockAssistants: AssistantListItem[] = [
+ {
+ id: "asst_001",
+ name: "政务视频咨询助手",
+ type: "提示词",
+ status: "运行中",
+ updatedAt: "2026-06-05 18:20",
+ },
+ {
+ id: "asst_002",
+ name: "热线工单辅助助手",
+ type: "工作流",
+ status: "草稿",
+ updatedAt: "2026-06-04 15:12",
+ },
+ {
+ id: "asst_003",
+ name: "Dify 知识库问答助手",
+ type: "Dify",
+ status: "运行中",
+ updatedAt: "2026-06-02 09:48",
+ },
+ {
+ id: "asst_004",
+ name: "FastGPT 售后咨询助手",
+ type: "FastGPT",
+ status: "已停用",
+ updatedAt: "2026-05-29 11:06",
+ },
+];
+
export function AssistantPage() {
const [form, setForm] = useState
({
@@ -53,6 +101,8 @@ export function AssistantPage() {
knowledgeBase: "政务政策知识库",
enableInterrupt: true,
});
+ const [view, setView] = useState<"list" | "create">("list");
+ const [openMenuId, setOpenMenuId] = useState(null);
function updateForm(
key: K,
@@ -63,7 +113,125 @@ export function AssistantPage() {
[key]: value,
}));
}
-
+ if (view === "list") {
+ return (
+
+
+
+
+
+
创建助手
+
+
+ 管理已有的视频助手,支持提示词、工作流、Dify 和 FastGPT 类型。
+
+
+
+
+
+
+
+
+
+
助手列表
+
+ 共 {mockAssistants.length} 个助手
+
+
+
+
+
+ 搜索助手名称...
+
+
+
+
+
+
助手名称
+
助手类型
+
状态
+
更新时间
+
操作
+
+
+
+ {mockAssistants.map((assistant) => (
+
+
+
+ {assistant.name}
+
+
+ {assistant.id}
+
+
+
+
+
+ {assistant.type}
+
+
+
+
+
+ {assistant.status}
+
+
+
+
{assistant.updatedAt}
+
+
+
+
+
+
+ {openMenuId === assistant.id && (
+
+
+
+ )}
+
+
+ ))}
+
+
+
+
+ );
+ }
return (
@@ -78,6 +246,14 @@ export function AssistantPage() {
+