diff --git a/src/components/openclaw/OpenClawAssistantPane.tsx b/src/components/openclaw/OpenClawAssistantPane.tsx index 82dea50..d02e0dc 100644 --- a/src/components/openclaw/OpenClawAssistantPane.tsx +++ b/src/components/openclaw/OpenClawAssistantPane.tsx @@ -263,6 +263,7 @@ export function OpenClawAssistantPane({ ); const compact = variant === "sidebar"; + const minimalPage = variant === "page"; const locale = isChinese ? "zh-CN" : "en-US"; const compactConnected = compact && connectionState === "ready"; @@ -416,11 +417,17 @@ export function OpenClawAssistantPane({ const renderedMessages = useMemo( () => - messages.map((message) => ({ - ...message, - html: renderMarkdown(message.text || ""), - })), - [messages], + messages + .filter((message) => + minimalPage + ? message.role === "user" || message.role === "assistant" + : true, + ) + .map((message) => ({ + ...message, + html: renderMarkdown(message.text || ""), + })), + [messages, minimalPage], ); const connectGateway = useCallback( @@ -757,35 +764,37 @@ export function OpenClawAssistantPane({ />
-
- - {healthBadge} - {!compactConnected ? ( - <> - · - {gatewayTokenSource === "env" - ? copy.envToken - : gatewayTokenSource === "vault" - ? copy.vaultToken - : gatewayTokenSource === "request" - ? copy.sessionToken - : copy.noToken} - - ) : null} -
+ {!minimalPage ? ( +
+ + {healthBadge} + {!compactConnected ? ( + <> + · + {gatewayTokenSource === "env" + ? copy.envToken + : gatewayTokenSource === "vault" + ? copy.vaultToken + : gatewayTokenSource === "request" + ? copy.sessionToken + : copy.noToken} + + ) : null} +
+ ) : null} -
+
- + {minimalPage ? ( +
+ + {healthBadge} +
+ ) : ( + <> + - + + + )}
- {!compact ? ( + {!compact && !minimalPage ? (
{sessions.slice(0, 8).map((session) => ( @@ -895,7 +924,7 @@ export function OpenClawAssistantPane({ {compact ? copy.compactHint : copy.assistantHint}

- {!compact ? ( + {!compact && !minimalPage ? (
{quickActions.map((action) => ( @@ -418,7 +415,7 @@ export function XWorkmateWorkspacePage({ useState("assistant"); const [activeTabs, setActiveTabs] = useState>(INITIAL_TABS); - const [sidebarState, setSidebarState] = useState("collapsed"); + const [sidebarState, setSidebarState] = useState("expanded"); const { resolvedTheme, toggleTheme, isDark } = useTheme(); const user = useUserStore((state) => state.user); @@ -813,141 +810,6 @@ export function XWorkmateWorkspacePage({ return ; } - function renderAssistantSidebarContent(): ReactNode { - return ( -
- -
-

- XWorkmate -

-

- {pickCopy( - isChinese, - "在线助手工作台", - "Online assistant workspace", - )} -

-

- {pickCopy( - isChinese, - "和桌面端一样,主屏负责对话、截图、附件和执行反馈;OpenClaw 只保留为底层 gateway。", - "Like desktop, the main workspace owns chat, screenshots, attachments, and execution feedback while OpenClaw remains the underlying gateway.", - )} -

-
-
- {integrationRows.map((row) => ( - - ))} -
-
- - setActiveSection("tasks")} - className="inline-flex items-center gap-2 rounded-full border border-[color:var(--color-surface-border)] px-4 py-2 text-sm font-medium text-[var(--color-text)] transition hover:border-[color:var(--color-primary-border)] hover:bg-[var(--color-surface-muted)]" - > - {pickCopy(isChinese, "查看任务视图", "Open tasks view")} - - - } - /> - - { - setActiveSection("settings"); - setActiveTabs((current) => ({ - ...current, - settings: "integrations", - })); - }} - className="inline-flex items-center gap-2 rounded-full bg-[var(--color-primary)] px-4 py-2 text-sm font-semibold text-[var(--color-primary-foreground)]" - > - {pickCopy( - isChinese, - "打开融合设置", - "Open integration settings", - )} - - - } - /> - - - - API - - - - Console - - -
- } - /> -
- ); - } - function renderTasksSection(): ReactNode { if (activeTab === "running") { return ( @@ -1951,11 +1813,6 @@ export function XWorkmateWorkspacePage({ /> ))} - {!collapsed && activeSection === "assistant" ? ( -
- {renderAssistantSidebarContent()} -
- ) : null}
@@ -2084,31 +1941,35 @@ export function XWorkmateWorkspacePage({ {pickCopy(isChinese, "收展侧栏", "Toggle sidebar")} ) : null} - - Console - - - + {activeSection !== "assistant" ? ( + <> + + Console + + + + + ) : null}
- {activeDefinition.tabs.length > 0 ? ( + {activeDefinition.tabs.length > 0 && activeSection !== "assistant" ? (
{activeDefinition.tabs.map((tab) => (