From 2956d4b67ca24991e0962f2be7f849ec5b682be6 Mon Sep 17 00:00:00 2001 From: blackhao <13851610112@163.com> Date: Sun, 14 Dec 2025 01:47:36 -0600 Subject: add tutorial --- frontend/src/components/LeftSidebar.tsx | 65 ++++++++++++++++++++++++++++++++- 1 file changed, 63 insertions(+), 2 deletions(-) (limited to 'frontend') diff --git a/frontend/src/components/LeftSidebar.tsx b/frontend/src/components/LeftSidebar.tsx index 668f75a..8f9f202 100644 --- a/frontend/src/components/LeftSidebar.tsx +++ b/frontend/src/components/LeftSidebar.tsx @@ -1,8 +1,8 @@ import React, { useEffect, useMemo, useRef, useState, useCallback } from 'react'; import { useReactFlow } from 'reactflow'; import { - Folder, FileText, Archive, ChevronLeft, ChevronRight, Trash2, MessageSquare, - MoreVertical, Download, Upload, Plus, RefreshCw, Edit3, Loader2, LogOut, User, Settings, Key, X, Eye, EyeOff + Folder, FileText, Archive, ChevronLeft, ChevronRight, ChevronDown, Trash2, MessageSquare, + MoreVertical, Download, Upload, Plus, RefreshCw, Edit3, Loader2, LogOut, User, Settings, Key, X, Eye, EyeOff, BookOpen } from 'lucide-react'; import useFlowStore, { type FSItem, type BlueprintDocument, type FileMeta } from '../store/flowStore'; import { useAuthStore } from '../store/authStore'; @@ -59,6 +59,7 @@ const LeftSidebar: React.FC = ({ isOpen, onToggle }) => { const [showUserSettings, setShowUserSettings] = useState(false); const [openaiApiKey, setOpenaiApiKey] = useState(''); const [geminiApiKey, setGeminiApiKey] = useState(''); + const [showGuide, setShowGuide] = useState(false); const [showOpenaiKey, setShowOpenaiKey] = useState(false); const [showGeminiKey, setShowGeminiKey] = useState(false); const [savingKeys, setSavingKeys] = useState(false); @@ -649,6 +650,66 @@ const LeftSidebar: React.FC = ({ isOpen, onToggle }) => {

)} + + {/* Quick Guide Section */} +
+ + + {showGuide && ( +
+
+

🎯 Basic Operations

+
    +
  • Double-click canvas to create a node
  • +
  • Drag from handle to connect nodes
  • +
  • Click node to edit in right sidebar
  • +
  • Delete key to remove selected node
  • +
+
+ +
+

🔀 Traces & Branching

+
    +
  • Traces = conversation paths through nodes
  • +
  • Fork a trace by connecting to new node
  • +
  • Merge traces by connecting multiple inputs
  • +
  • Select active traces in the right sidebar
  • +
+
+ +
+

💬 Quick Chat

+
    +
  • Right-click node → Quick Chat
  • +
  • Continue conversation from any trace
  • +
  • Auto-creates connected nodes as you chat
  • +
+
+ +
+

📎 File Attachments (OpenAI only)

+
    +
  • Upload files in Files tab (left sidebar)
  • +
  • Attach to nodes in Settings tab (right)
  • +
  • LLM can search attached files via file_search
  • +
+
+ +
+

💡 Tip

+

Use Ctrl+S to save, or enable auto-save in blueprints.

+
+
+ )} +
{/* Footer */} -- cgit v1.2.3