fix: show configured agent avatar in canvas auto mode
Some checks failed
Lint / build (20) (push) Has been cancelled
Playwright Tests / test (push) Has been cancelled

This commit is contained in:
Your Name 2026-02-14 23:28:47 +08:00
parent 203e71f8f0
commit 471305c5fe
2 changed files with 21 additions and 2 deletions

View File

@ -1,5 +1,9 @@
import { auth } from "@/app/(auth)/auth";
import { getEnabledAiModelsWithProvider, getDefaultAiModel } from "@/lib/db/queries";
import {
getAgentAiModelWithProvider,
getDefaultAiModel,
getEnabledAiModelsWithProvider,
} from "@/lib/db/queries";
import { ChatSDKError } from "@/lib/errors";
import { isAiModelAgentAuto } from "@/lib/db/ai-model-flags";
@ -14,6 +18,7 @@ export async function GET() {
// 只获取主模型(不包括子模型),子模型由后端根据 videoParams.mode 自动选择
const modelsWithProvider = await getEnabledAiModelsWithProvider(false);
const agentModelWithProvider = await getAgentAiModelWithProvider();
const defaultModel = await getDefaultAiModel();
const visibleModelsWithProvider = modelsWithProvider.filter(
({ model }) => !isAiModelAgentAuto(model)
@ -48,6 +53,14 @@ export async function GET() {
return Response.json({
models,
defaultModelId: resolvedDefaultModelId,
agentModel: agentModelWithProvider
? {
id: agentModelWithProvider.model.id,
displayName: agentModelWithProvider.model.displayName,
avatarUrl: agentModelWithProvider.model.avatarUrl,
providerType: agentModelWithProvider.provider.type,
}
: null,
});
} catch (error) {
if (error instanceof ChatSDKError) {

View File

@ -827,6 +827,12 @@ export function CanvasChatPanel({ chatId, initialMessages = [], onClose, onOpenF
supportsImageGen?: boolean;
capabilities?: string[] | null;
}>;
agentModel?: {
id: string;
displayName: string;
avatarUrl?: string | null;
providerType: string;
} | null;
}>("/api/models", fetcher);
// 获取网站设置(包含广告横幅配置和画布设置)
@ -849,7 +855,7 @@ export function CanvasChatPanel({ chatId, initialMessages = [], onClose, onOpenF
id: "auto",
modelId: "auto",
displayName: "Agent模式",
avatarUrl: null,
avatarUrl: modelsData?.agentModel?.avatarUrl || null,
providerType: "auto",
supportsImageGen: true,
};