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) => (
- {message.timestampMs && !compact ? (
+ {message.timestampMs && !compact && !minimalPage ? (
- {!compact ? (
+ {!compact && !minimalPage ? (
diff --git a/src/components/xworkmate/XWorkmateWorkspacePage.tsx b/src/components/xworkmate/XWorkmateWorkspacePage.tsx
index 89d5923..669f4cf 100644
--- a/src/components/xworkmate/XWorkmateWorkspacePage.tsx
+++ b/src/components/xworkmate/XWorkmateWorkspacePage.tsx
@@ -280,9 +280,6 @@ function SidebarSectionButton({
{!collapsed ? (
{section.label}
-
- {section.description}
-
) : null}
@@ -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) => (