From c8f69781e477dc5e78e6bd500346f0e1d687ecbe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=AE=8F=E5=87=AF?= Date: Thu, 23 Jul 2026 10:10:47 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A0=B7=E5=BC=8F=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../assets/position-roundtable/down-logo.svg | 12 + .../position-roundtable/expand-logo.svg | 14 ++ .../pages/PositionRoundtablePage.tsx | 217 +++++++++++++----- offline-backend-20260512/backend/CLAUDE.md | 8 + offline-backend-20260512/backend/README.md | 8 + .../backend/app/gateway/app.py | 21 +- 6 files changed, 218 insertions(+), 62 deletions(-) create mode 100644 frontend-web/src/assets/position-roundtable/down-logo.svg create mode 100644 frontend-web/src/assets/position-roundtable/expand-logo.svg diff --git a/frontend-web/src/assets/position-roundtable/down-logo.svg b/frontend-web/src/assets/position-roundtable/down-logo.svg new file mode 100644 index 00000000..eafe014d --- /dev/null +++ b/frontend-web/src/assets/position-roundtable/down-logo.svg @@ -0,0 +1,12 @@ + + + + + + + + + diff --git a/frontend-web/src/assets/position-roundtable/expand-logo.svg b/frontend-web/src/assets/position-roundtable/expand-logo.svg new file mode 100644 index 00000000..a1b533ac --- /dev/null +++ b/frontend-web/src/assets/position-roundtable/expand-logo.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + diff --git a/frontend-web/src/position-roundtable/pages/PositionRoundtablePage.tsx b/frontend-web/src/position-roundtable/pages/PositionRoundtablePage.tsx index dd2a0c31..e6b654e5 100644 --- a/frontend-web/src/position-roundtable/pages/PositionRoundtablePage.tsx +++ b/frontend-web/src/position-roundtable/pages/PositionRoundtablePage.tsx @@ -62,6 +62,7 @@ import type { AgentThreadState } from "@/core/threads/types"; import { textOfMessage } from "@/core/threads/utils"; import { desensitize } from "@/lib/desensitize"; import { cn } from "@/lib/utils"; +import expandLogo from "@/assets/position-roundtable/expand-logo.svg"; import { listChains } from "@/roundtable-planning/api/chains"; import { Step1Panel } from "@/roundtable-planning/components/Step1Panel"; import { PositionNodeChat } from "@/position-roundtable/components/PositionNodeChat"; @@ -462,6 +463,8 @@ export default function PositionRoundtablePage({ const [startingChain, setStartingChain] = useState(false); const [rightPanelOpen, setRightPanelOpen] = useState(true); const [rightTab, setRightTab] = useState("agents"); + const [taskPanelCollapsed, setTaskPanelCollapsed] = useState(false); + const [intentPanelCollapsed, setIntentPanelCollapsed] = useState(false); const artifactsCtx = useArtifactsOptional(); const artifactsCtxRef = useRef(artifactsCtx); const [sandboxArtifact, setSandboxArtifact] = useState(null); @@ -748,6 +751,9 @@ export default function PositionRoundtablePage({ }, [positionSession?.chainSnapshot, positionSession?.status, selectedChain]); const isIntelligenceDeliveryOverview = activePosition.isIntentPosition && positionSession !== null && positionSession.status !== "intent_pending"; + const showTaskAndIntentPanels = !activePosition.isIntentPosition || isIntelligenceDeliveryOverview; + const leftSidebarHidden = + showTaskAndIntentPanels && taskPanelCollapsed && intentPanelCollapsed; const allPositionDeliveriesDone = useMemo( () => allExecutableNodesDone(positionSession?.nodes ?? []), [positionSession?.nodes], @@ -1347,6 +1353,8 @@ export default function PositionRoundtablePage({ setSelectedAgentId(null); setActiveNodeKey(null); setRightPanelOpen(nextPositionId === DEFAULT_POSITION_ID); + setTaskPanelCollapsed(false); + setIntentPanelCollapsed(false); }, [closeSandbox], ); @@ -1512,12 +1520,27 @@ export default function PositionRoundtablePage({ -
-