修复Agent页面的消息报错提示

This commit is contained in:
Wenjie Zhang 2025-04-25 09:43:08 +08:00
parent 565b502f25
commit e7262c04b0
2 changed files with 15 additions and 35 deletions

View File

@ -345,40 +345,21 @@ const updateMessage = (info) => {
const msg = conv.value.messages.find((msg) => msg.id === info.id); const msg = conv.value.messages.find((msg) => msg.id === info.id);
if (msg) { if (msg) {
try { try {
// text // content
if (info.content !== null && info.content !== undefined && info.content !== '') { if (info.content != null && info.content !== '') {
msg.content += info.content; msg.content += info.content;
} }
if (info.reasoning_content !== null && info.reasoning_content !== undefined && info.reasoning_content !== '') { // null/undefined
msg.reasoning_content = info.reasoning_content; const propertiesToUpdate = [
} 'reasoning_content', 'model_name', 'status', 'message', 'showThinking', 'refs', 'meta'
];
// refs propertiesToUpdate.forEach(prop => {
if (info.refs !== null && info.refs !== undefined) { if (info[prop] != null && (typeof info[prop] !== 'string' || info[prop] !== '')) {
msg.refs = info.refs; msg[prop] = info[prop];
} }
});
if (info.model_name !== null && info.model_name !== undefined && info.model_name !== '') {
msg.model_name = info.model_name;
}
// status
if (info.status !== null && info.status !== undefined && info.status !== '') {
msg.status = info.status;
}
if (info.meta !== null && info.meta !== undefined) {
msg.meta = info.meta;
}
if (info.message !== null && info.message !== undefined) {
msg.message = info.message;
}
if (info.showThinking !== null && info.showThinking !== undefined) {
msg.showThinking = info.showThinking;
}
scrollToBottom(); scrollToBottom();
} catch (error) { } catch (error) {

View File

@ -51,9 +51,10 @@
:key="message.id" :key="message.id"
class="message-md"/> class="message-md"/>
<div v-else-if="message.reasoning_content" class="searching-msg"> <div v-else-if="message.reasoning_content" class="empty-block"></div>
<!-- <i>正在思考</i> -->
</div> <!-- 工具调用 (AgentView特有) -->
<slot v-else-if="message.toolCalls && Object.keys(message.toolCalls).length > 0" name="tool-calls"></slot>
<div v-else class="err-msg" @click="$emit('retry')"> <div v-else class="err-msg" @click="$emit('retry')">
请求错误请重试{{ message.message }} 请求错误请重试{{ message.message }}
@ -64,8 +65,6 @@
<span class="retry-link" @click="emit('retryStoppedMessage', message.id)">重新编辑问题</span> <span class="retry-link" @click="emit('retryStoppedMessage', message.id)">重新编辑问题</span>
</div> </div>
<!-- 工具调用 (AgentView特有) -->
<slot name="tool-calls"></slot>
<div v-if="(message.role=='received' || message.role=='assistant') && message.status=='finished' && showRefs"> <div v-if="(message.role=='received' || message.role=='assistant') && message.status=='finished' && showRefs">
<RefsComponent :message="message" :show-refs="showRefs" @retry="emit('retry')" /> <RefsComponent :message="message" :show-refs="showRefs" @retry="emit('retry')" />