|
@@ -19,6 +19,7 @@ import {
|
|
|
BusinessAssistantSuggestion,
|
|
BusinessAssistantSuggestion,
|
|
|
createBusinessAssistantId,
|
|
createBusinessAssistantId,
|
|
|
appendAiMessageChunk,
|
|
appendAiMessageChunk,
|
|
|
|
|
+ buildQuestionWithAttachments,
|
|
|
businessAssistantSuggestions,
|
|
businessAssistantSuggestions,
|
|
|
createAiMessageChunkBuffer,
|
|
createAiMessageChunkBuffer,
|
|
|
createUserMessage,
|
|
createUserMessage,
|
|
@@ -444,10 +445,14 @@ export function useBusinessAssistantChat(options: UseBusinessAssistantChatOption
|
|
|
}
|
|
}
|
|
|
const userMessagePos = session.messages.filter((message) => message.role === 'user').length;
|
|
const userMessagePos = session.messages.filter((message) => message.role === 'user').length;
|
|
|
const fileTransmission = options.getInputFileTransmission?.(userMessagePos);
|
|
const fileTransmission = options.getInputFileTransmission?.(userMessagePos);
|
|
|
- // [旧协议] 新接口 /api/chat 只接受 {thread_id, question},不再支持文件上传;
|
|
|
|
|
- // 上传入口已隐藏,这里不再写入 transmission.files/file_pos
|
|
|
|
|
|
|
+ // [旧协议] 新接口 /api/chat 只接受 {thread_id, question},多一个字段 422,
|
|
|
|
|
+ // 因此 transmission.files / file_pos 发不出去(下面两行停用)。
|
|
|
|
|
+ // 现改为把附件的 OSS 地址**拼进 question 文本**(用户 2026-09-18 拍板的方案②):
|
|
|
|
|
+ // · questionForBackend —— 只发给后端,含附件地址
|
|
|
|
|
+ // · text —— 本地消息内容、会话标题、DMS 记录,保持原文(不显示 URL)
|
|
|
// globalThis.transmission.files = fileTransmission?.files || [];
|
|
// globalThis.transmission.files = fileTransmission?.files || [];
|
|
|
// globalThis.transmission.file_pos = fileTransmission?.file_pos || [];
|
|
// globalThis.transmission.file_pos = fileTransmission?.file_pos || [];
|
|
|
|
|
+ const questionForBackend = buildQuestionWithAttachments(text, fileTransmission?.files);
|
|
|
|
|
|
|
|
session.messages.push(createUserMessage(text, fileTransmission?.attachments || []));
|
|
session.messages.push(createUserMessage(text, fileTransmission?.attachments || []));
|
|
|
// 预置一条空的 AI 消息:它的 id 既是本轮的 DMS 记录标识(c_record_id),
|
|
// 预置一条空的 AI 消息:它的 id 既是本轮的 DMS 记录标识(c_record_id),
|
|
@@ -470,7 +475,7 @@ export function useBusinessAssistantChat(options: UseBusinessAssistantChatOption
|
|
|
// fire-and-forget,失败只 warn,不影响聊天
|
|
// fire-and-forget,失败只 warn,不影响聊天
|
|
|
saveTurnToDms({ sessionId: session.id, recordId: pendingAiMessage.id, question: text });
|
|
saveTurnToDms({ sessionId: session.id, recordId: pendingAiMessage.id, question: text });
|
|
|
|
|
|
|
|
- void coordinator.generateAnswer(text);
|
|
|
|
|
|
|
+ void coordinator.generateAnswer(questionForBackend);
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
const playMockStreamMessage = async ({
|
|
const playMockStreamMessage = async ({
|