feat: improve goal mode and Codex App resilience

This commit is contained in:
shiyue
2026-08-18 21:27:58 +08:00
parent 389690af64
commit 8fe31e0a5e
27 changed files with 631 additions and 24 deletions

View File

@@ -7979,11 +7979,13 @@
const isCrossConversation = !!meta.crossConversation;
const isCrossConversationReply = isCrossConversation && !!(meta.crossConversation.reply || meta.crossConversation.replyToRequestId);
const canCollapseCrossConversationReply = role === 'assistant' && isCrossConversationReply;
const isGoalMessage = role === 'user' && meta?.ccwebGoalCommand?.action === 'set';
const resolvedMessageId = meta?.messageId || meta?.id || createLocalId('user');
div.className = `msg ${role}${role === 'assistant' ? ' agent-' + currentAgent : ''}${isCrossConversation ? ' cross-conversation' : ''}${isCrossConversationReply ? ' cross-conversation-reply' : ''}`;
div.className = `msg ${role}${role === 'assistant' ? ' agent-' + currentAgent : ''}${isCrossConversation ? ' cross-conversation' : ''}${isCrossConversationReply ? ' cross-conversation-reply' : ''}${isGoalMessage ? ' goal-message' : ''}`;
if (role === 'user') {
div.id = `hapi-message-${resolvedMessageId}`;
div.dataset.messageId = resolvedMessageId;
if (isGoalMessage) div.dataset.goalMode = 'true';
}
if (role === 'system') {
@@ -8109,6 +8111,13 @@
}
if (role === 'user') {
if (isGoalMessage) {
const goalLabel = document.createElement('div');
goalLabel.className = 'goal-message-label';
goalLabel.textContent = '目标模式';
goalLabel.setAttribute('aria-label', '目标模式');
bubble.appendChild(goalLabel);
}
if (content) {
const textNode = document.createElement('div');
textNode.className = 'msg-text';