更新AI聊天页面样式

This commit is contained in:
pingchuan
2025-06-06 15:07:57 +08:00
parent d4ad36c3f2
commit 1b79f973da
17 changed files with 11257 additions and 2813 deletions
+24 -2
View File
@@ -19,7 +19,16 @@ export async function action({ request }: ActionFunctionArgs) {
response_mode: responseMode,
} = body;
// ('🚀 Chat Messages API - User:', user, 'Query:', query?.substring(0, 100));
console.log('🚀 [API] Chat Messages API - 收到请求:', {
user,
queryLength: query?.length || 0,
queryPreview: query?.substring(0, 100) + (query?.length > 100 ? '...' : ''),
conversationId,
responseMode,
hasInputs: !!inputs,
hasFiles: !!files && files.length > 0,
filesCount: files?.length || 0
});
const response = await difyClient.createChatMessage(
inputs,
@@ -30,8 +39,16 @@ export async function action({ request }: ActionFunctionArgs) {
files
);
console.log('📡 [API] Dify响应状态:', {
status: response.status,
statusText: response.statusText,
hasBody: !!response.body,
headers: Object.fromEntries(response.headers.entries())
});
// 对于流式响应,直接返回流
if (responseMode === 'streaming') {
console.log('🌊 [API] 返回流式响应');
return new Response(response.body, {
status: response.status,
headers: {
@@ -46,6 +63,7 @@ export async function action({ request }: ActionFunctionArgs) {
}
// 对于非流式响应,返回JSON
console.log('📄 [API] 返回JSON响应');
return new Response(JSON.stringify(response), {
status: 200,
headers: {
@@ -54,7 +72,11 @@ export async function action({ request }: ActionFunctionArgs) {
});
} catch (error: any) {
// console.error('❌ Chat Messages API - Error:', error);
console.error('❌ [API] Chat Messages API - Error:', {
message: error.message,
stack: error.stack,
name: error.name
});
return new Response(
JSON.stringify({ error: error.message || 'Failed to send message' }),
{
+48 -41
View File
@@ -1,42 +1,49 @@
import { json } from "@remix-run/node";
import { type MetaFunction } from "@remix-run/node";
import Chat from "~/components/chat";
import chatIndexStyles from "~/styles/components/chat-with-llm/index.css?url";
import chatMessageStyles from "~/styles/components/chat-with-llm/chat-message.css?url";
import chatInputStyles from "~/styles/components/chat-with-llm/chat-input.css?url";
import chatSidebarStyles from "~/styles/components/chat-with-llm/sidebar.css?url";
import chatThoughtProcessStyles from "~/styles/components/chat-with-llm/thought-process.css?url";
import chatMarkdownStyles from "~/styles/components/chat-with-llm/markdown.css?url";
export function links() {
return [
{ rel: "stylesheet", href: chatIndexStyles },
{ rel: "stylesheet", href: chatMessageStyles },
{ rel: "stylesheet", href: chatInputStyles },
{ rel: "stylesheet", href: chatSidebarStyles },
{ rel: "stylesheet", href: chatThoughtProcessStyles },
{ rel: "stylesheet", href: chatMarkdownStyles }
];
}
export const meta: MetaFunction = () => {
return [
{ title: "AI对话 - 中国烟草AI合同及卷宗审核系统" },
{
name: "description",
content: "与AI助手进行智能对话,获取专业的法务建议和文档分析"
}
];
};
/**
* 聊天主页面
* 实现单页面应用模式,所有会话切换都在同一页面内完成
*/
export default function ChatWithLLMIndex() {
return (
<div className="h-full chat-container">
<Chat />
</div>
);
import { json } from "@remix-run/node";
import { type MetaFunction } from "@remix-run/node";
import Chat from "~/components/chat";
import chatIndexStyles from "~/styles/components/chat-with-llm/index.css?url";
import chatMessageStyles from "~/styles/components/chat-with-llm/chat-message.css?url";
import chatInputStyles from "~/styles/components/chat-with-llm/chat-input.css?url";
import chatSidebarStyles from "~/styles/components/chat-with-llm/sidebar.css?url";
import chatThoughtProcessStyles from "~/styles/components/chat-with-llm/thought-process.css?url";
import chatMarkdownStyles from "~/styles/components/chat-with-llm/markdown.css?url";
export function links() {
return [
{ rel: "stylesheet", href: chatIndexStyles },
{ rel: "stylesheet", href: chatMessageStyles },
{ rel: "stylesheet", href: chatInputStyles },
{ rel: "stylesheet", href: chatSidebarStyles },
{ rel: "stylesheet", href: chatThoughtProcessStyles },
{ rel: "stylesheet", href: chatMarkdownStyles }
];
}
export const meta: MetaFunction = () => {
return [
{ title: "AI对话 - 中国烟草AI合同及卷宗审核系统" },
{
name: "description",
content: "与AI助手进行智能对话,获取专业的法务建议和文档分析"
}
];
};
/**
* 聊天主页面
* 实现单页面应用模式,所有会话切换都在同一页面内完成
*/
export default function ChatWithLLMIndex() {
return (
<div className="flex-1 chat-container" style={{
height: 'calc(100vh - 80px)',
borderRadius: '0.5rem',
marginTop: '20px',
marginBottom: '-20px',
minHeight: '990px',
maxHeight: '89vh'
}}>
<Chat />
</div>
);
}