diff --git a/web/src/pages/canvas/canvas-assistant-panel-column.tsx b/web/src/pages/canvas/canvas-assistant-panel-column.tsx
index bf5e82930..753911809 100644
--- a/web/src/pages/canvas/canvas-assistant-panel-column.tsx
+++ b/web/src/pages/canvas/canvas-assistant-panel-column.tsx
@@ -10,7 +10,7 @@ export function getPanelWidthBounds(): { min: number; max: number } {
}
// 智能体面板列包裹器:承载面板宽度管理、resize 拖拽和顶部停靠偏移。
-// 面板始终作为 flex 子元素避让画布;topInset 用于避让绝对定位的顶部栏(沉浸专注时顶部栏隐藏,传 0)。
+// 面板停靠在画布工具栏下方,避免悬浮工具栏遮挡 Agent 标题和消息;沉浸模式传 0。
// closing 期间保持宽度和渲染,让面板播放滑出动画;动画结束后由父组件卸载列。
export function AssistantPanelColumn({
width,
@@ -53,7 +53,7 @@ export function AssistantPanelColumn({
return (
void;
onShare: () => void;
agentOpen: boolean;
+ agentPanelWidth?: number;
compactAgentStatus?: { connected: boolean; enabled: boolean; activity: string };
onToggleAgent: () => void;
shortcutRequestNonce: number;
@@ -64,6 +65,7 @@ export function CanvasTopBar({
onRedo,
onShare,
agentOpen,
+ agentPanelWidth,
compactAgentStatus,
onToggleAgent,
shortcutRequestNonce,
@@ -101,7 +103,7 @@ export function CanvasTopBar({
return (
<>
-
+
} onClick={onOpenSearch} aria-label="搜索画布节点" />
-
+ {!agentOpen ?
导入第三方画布
-
-
+ : null}
+ {!agentOpen ?
} aria-label="媒体性能模式" />
-
+ : null}
{compactAgentStatus ? : null}
{user && creditsEnabled ? (
@@ -229,7 +231,7 @@ export function CanvasTopBar({
style={{ color: theme.node.text }}
aria-label="查看积分明细"
>
- {refreshing && availableMicrocredits === null ? : }
+ {refreshing && availableMicrocredits === null ? : }
{availableMicrocredits === null ? "--" : (availableMicrocredits / 1_000_000).toLocaleString("zh-CN", { maximumFractionDigits: 3 })}
diff --git a/web/src/pages/canvas/project.tsx b/web/src/pages/canvas/project.tsx
index 64ba6295f..ce1a3b1e9 100644
--- a/web/src/pages/canvas/project.tsx
+++ b/web/src/pages/canvas/project.tsx
@@ -2227,6 +2227,7 @@ function InfiniteCanvasPage() {
onRedo={redoCanvas}
onShare={() => setShareModalOpen(true)}
agentOpen={assistantOpen}
+ agentPanelWidth={assistantMounted ? assistantWidth : undefined}
compactAgentStatus={codexCompactAgent ? { connected: localAgentConnected, enabled: localAgentEnabled, activity: localAgentActivity } : undefined}
onToggleAgent={() => (assistantOpen ? closeAgent() : openAgent())}
shortcutRequestNonce={shortcutRequestNonce}
@@ -2475,7 +2476,7 @@ function InfiniteCanvasPage() {
{assistantMounted ? (
-
+
{(resizing) => (