feat(plugin): AI 审美批改 - 增加结构化视觉分析与精准标注 (#387)

* feat(portrait-clearance): 肖像排查 - 增加画布插件与本机检测链路

* fix(web): 插件中心 - 修复应用插件筛选与自动定位

* feat(plugin): AI审美批改 - 完成分析报告与问题标注闭环
This commit is contained in:
QAyong
2026-09-02 20:32:58 +08:00
committed by GitHub
parent 29f7a5c0e5
commit a6504c0e00
29 changed files with 4909 additions and 15 deletions

View File

@@ -0,0 +1,35 @@
import { registerPlugin } from "@/lib/plugins/plugin-registry";
import type { PluginManifest, RegisteredPlugin } from "@/lib/plugins/plugin-types";
import { ART_CRITIQUE_NODE_TYPE, ART_CRITIQUE_PLUGIN_ID } from "@/lib/art-critique/contracts";
const manifest: PluginManifest = {
apiVersion: "yingce.plugin/v1",
id: ART_CRITIQUE_PLUGIN_ID,
name: "AI 审美批改",
version: "0.1.0",
description: "分析图片的构图、色彩、光线和比例问题,输出结构化批改报告与可视化标注。",
author: "影策团队",
surfaces: ["node", "fullscreen"],
permissions: ["canvas.read", "canvas.write", "media.read", "ai.text"],
trusted: true,
runtime: { backend: "trusted-backend", web: "declarative" },
contributes: {
canvasNodes: [
{
id: ART_CRITIQUE_NODE_TYPE,
label: "AI 审美批改",
defaultTitle: "AI 审美批改",
defaultSize: { width: 560, height: 420 },
schema: { type: "object", properties: { artCritique: { type: "object" } } },
renderer: "declarative",
acceptsInputKind: "image",
showOutputConnection: false,
},
],
},
};
export const artCritiquePlugin: RegisteredPlugin = { manifest };
registerPlugin(artCritiquePlugin);

View File

@@ -2,3 +2,4 @@ import "./eagle";
import "./prompt-optimizer";
import "./workflows";
import "./portrait-clearance";
import "./ai-art-critique";

View File

@@ -74,6 +74,10 @@ export type PluginCanvasNodeContribution = {
defaultSize: { width: number; height: number };
schema: Record<string, unknown>;
renderer: "declarative" | "sandbox";
/** Optional input contract for nodes that consume one media kind. */
acceptsInputKind?: "image" | "video" | "audio" | "text";
/** Analysis/sink nodes can hide the right-side output connection. */
showOutputConnection?: boolean;
};
export type PluginTransformContribution = {
id: string;