优化全能创作

This commit is contained in:
Azmat@qq.com
2026-09-11 10:47:19 +08:00
parent 43f80a4d90
commit dbcac8a44b
6 changed files with 560 additions and 143 deletions
+35 -37
View File
@@ -326,14 +326,16 @@ function ElicitCard({
// 素材选择闸门:先轻量询问,用户愿意时再展开真正的选择卡
if (phase === "gate") {
const gateAnswer = saved._asset_gate;
const selectedLabel = gateField?.options?.find((option) => option.value === gateAnswer)?.label;
const selectedLabel =
gateField?.options?.find((option) => option.value === gateAnswer)?.label
|| (gateAnswer ? String(gateAnswer) : undefined);
return (
<div className="omni-chat-row agent">
<span className="omni-chat-avatar">
<Sparkles />
</span>
<div className="omni-chat-bubble omni-gate-bubble">
<p className="omni-chat-text">{gateLabel}</p>
<p className="omni-chat-text">{message.text || gateLabel}</p>
{!submitted ? (
<div className="omni-gate-actions">
{(gateField?.options || []).map((option) => (
@@ -1188,15 +1190,11 @@ export function OmniSessionPage({
<Sparkles />
</span>
)}
<div className="omni-chat-bubble">
{message.role === "user" ? <MentionChips refs={refs} tone="user" /> : null}
{body ? <p className="omni-chat-text">{body}</p> : null}
{pending ? (
<span className="omni-send-pending">
<span className="omni-send-spinner" />
</span>
) : null}
<div className={`omni-chat-stack${pending ? " is-pending" : ""}`}>
<div className="omni-chat-bubble" aria-busy={pending || undefined}>
{message.role === "user" ? <MentionChips refs={refs} tone="user" /> : null}
{body ? <p className="omni-chat-text">{body}</p> : null}
</div>
</div>
</div>
);
@@ -1248,36 +1246,36 @@ export function OmniSessionPage({
{streaming && !hasGenerating ? (
/生成图片|生成视频/.test(activeTool) && !liveText ? (
<ProcessCard payload={{ kind: /生成视频/.test(activeTool) ? "video" : "image" }} />
) : (
) : liveText ? (
<div className="omni-chat-row agent is-live">
<span className="omni-chat-avatar">
<Sparkles />
</span>
<div className={`omni-chat-bubble${liveText || liveReasoning ? "" : " is-thinking"}${liveReasoning && !liveText ? " is-reasoning" : ""}`}>
{liveText ? (
<p className="omni-chat-text">{liveText}</p>
) : liveReasoning ? (
<>
<div className="omni-think-head">
<span className="omni-typing" aria-hidden="true">
<i />
<i />
<i />
</span>
<span>{activeTool ? `${activeTool}` : "思考中"}</span>
</div>
<p className="omni-think-text">{liveReasoning}</p>
</>
) : (
<>
<span className="omni-typing" aria-hidden="true">
<i />
<i />
<i />
</span>
<span>{activeTool ? `${activeTool}` : isVideo ? "正在整理方案" : "正在思考"}</span>
</>
)}
<div className="omni-chat-bubble">
<p className="omni-chat-text">{liveText}</p>
</div>
</div>
) : liveReasoning ? (
<div className="omni-chat-row agent is-live">
<span className="omni-chat-avatar">
<Sparkles />
</span>
<div className="omni-chat-bubble is-reasoning">
<div className="omni-think-head">
<span className="omni-typing" aria-hidden="true"><i /><i /><i /></span>
<span>{activeTool ? `${activeTool}` : "正在整理方案"}</span>
</div>
<p className="omni-think-text">{liveReasoning}</p>
</div>
</div>
) : (
<div className="omni-chat-row agent is-live" aria-label="正在回复">
<span className="omni-chat-avatar">
<Sparkles />
</span>
<div className="omni-chat-bubble is-thinking" aria-hidden="true">
<span className="omni-typing"><i /><i /><i /></span>
<span>{activeTool ? `${activeTool}` : isVideo ? "正在整理方案" : "正在思考"}</span>
</div>
</div>
)