refactor: 聊天室 Agent 重构 — ToolLoopAgent + 论坛式布局
后端: - 删除 agent-stream.ts,新建 alfred-agent.ts (ToolLoopAgent 工厂) - 新建 get-current-time.ts 工具 (zod schema) - 重构 send.ts: createAgentUIStreamResponse + onFinish 可靠持久化 前端: - 删除 MessageBubble.tsx,新建 ToolCallCard.tsx (四态) - 重构 ChatPanel.tsx: 论坛式 Card 布局 + PartRenderer 分派 - 移除 @ant-design/x 依赖,改用 antd 组件 + streamdown 依赖: + zod + streamdown - @ant-design/x - @ant-design/x-markdown 测试: 306 pass, typecheck/lint 0 errors
This commit is contained in:
@@ -150,13 +150,58 @@ body {
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.app-chat-panel-sender {
|
||||
padding: var(--ant-padding-sm) var(--ant-padding);
|
||||
.chat-input-area {
|
||||
padding: 8px 16px;
|
||||
border-top: 1px solid var(--ant-color-border-secondary);
|
||||
}
|
||||
|
||||
.app-chat-message-bubble {
|
||||
white-space: pre-wrap;
|
||||
word-break: break-word;
|
||||
line-height: 1.6;
|
||||
.msg-user .ant-card-body {
|
||||
background: var(--ant-color-bg-text-hover);
|
||||
}
|
||||
|
||||
.msg-ai .ant-card-body {
|
||||
background: var(--ant-color-bg-container);
|
||||
}
|
||||
|
||||
.message-body {
|
||||
margin-top: 8px;
|
||||
}
|
||||
|
||||
.message-body pre {
|
||||
background: var(--ant-color-bg-layout);
|
||||
padding: 8px 12px;
|
||||
border-radius: 6px;
|
||||
overflow-x: auto;
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
.chat-scroll-area {
|
||||
flex: 1;
|
||||
overflow: auto;
|
||||
padding: 16px;
|
||||
}
|
||||
|
||||
.chat-loading-indicator {
|
||||
padding: 8px;
|
||||
}
|
||||
|
||||
.chat-textarea {
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.message-body-text {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.step-divider {
|
||||
margin: 4px 0;
|
||||
}
|
||||
|
||||
.tool-result-pre {
|
||||
font-size: 12px;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.avatar-ai {
|
||||
background-color: var(--ant-color-primary);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user