- 创建 VEO3SceneWriterTool 页面组件,集成聊天界面和文件选择功能 - 添加 veo3SceneWriterService 服务层,封装与 Rust 后端的通信逻辑 - 实现 Tauri 命令支持,调用 veo3-scene-writer crate - 更新工具数据配置,添加 VEO3 场景写作工具 - 优化文件处理逻辑:JSON/TXT 文件读取内容作为消息,图片文件作为附件 - 支持多种文本格式:.json, .txt, .md, .yaml, .yml, .toml - 提供专业的影视场景提示词生成功能
263 lines
11 KiB
TypeScript
263 lines
11 KiB
TypeScript
import {
|
||
Code,
|
||
Wrench,
|
||
Database,
|
||
FileSearch,
|
||
Image,
|
||
Mic,
|
||
Video,
|
||
Wand2,
|
||
FileText,
|
||
ImagePlus,
|
||
Frame,
|
||
Sparkles,
|
||
User,
|
||
Clapperboard,
|
||
} from 'lucide-react';
|
||
import { Tool, ToolCategory, ToolStatus } from '../types/tool';
|
||
|
||
/**
|
||
* 工具数据配置
|
||
* 定义所有可用的工具及其属性
|
||
*/
|
||
export const TOOLS_DATA: Tool[] = [
|
||
{
|
||
id: 'veo3-actor-define',
|
||
name: 'VEO3 角色定义工具',
|
||
description: '专业的影视角色档案创建助手,支持图片上传和智能对话,生成详细的角色描述和声音特征',
|
||
longDescription: '基于 VEO3 场景写作系统的专业角色定义工具,集成 Gemini AI 提供智能对话功能。支持上传参考图片进行角色分析,或通过对话生成全新角色。能够创建包含视觉特征、声音特征、性格特点等完整角色档案,输出 JSON 格式的结构化数据。适用于影视制作、游戏开发、创意写作等需要角色设定的场景。',
|
||
icon: User,
|
||
route: '/tools/veo3-actor-define',
|
||
category: ToolCategory.AI_TOOLS,
|
||
status: ToolStatus.STABLE,
|
||
tags: ['角色定义', 'VEO3', '影视制作', 'AI对话', '图片分析', '角色档案'],
|
||
isNew: true,
|
||
isPopular: true,
|
||
version: '1.0.0',
|
||
lastUpdated: '2025-08-15'
|
||
},
|
||
{
|
||
id: 'veo3-scene-writer',
|
||
name: 'VEO3 场景写作工具',
|
||
description: '专业的影视场景提示词生成助手,支持图片上传和智能对话,创建电影级别的场景描述',
|
||
longDescription: '基于 VEO3 场景写作系统的专业场景提示词生成工具,集成 Gemini AI 提供智能对话功能。支持上传参考图片进行场景分析,或通过对话生成全新场景。能够创建包含视觉效果、镜头语言、环境氛围等完整场景描述,输出专业的提示词格式。适用于影视制作、广告创意、短视频制作等需要场景设计的场景。',
|
||
icon: Clapperboard,
|
||
route: '/tools/veo3-scene-writer',
|
||
category: ToolCategory.AI_TOOLS,
|
||
status: ToolStatus.STABLE,
|
||
tags: ['场景写作', 'VEO3', '影视制作', 'AI对话', '图片分析', '提示词生成'],
|
||
isNew: true,
|
||
isPopular: true,
|
||
version: '1.0.0',
|
||
lastUpdated: '2025-08-15'
|
||
},
|
||
{
|
||
id: 'topaz-video-ai',
|
||
name: 'Topaz Video AI 参数配置器',
|
||
description: '基于真实命令分析的专业视频处理参数配置工具,支持AI增强、慢动作、防抖、HDR等功能',
|
||
longDescription: '专业的 Topaz Video AI 参数配置工具,基于真实 Topaz Video AI FFmpeg 命令深度分析开发。支持75%的参数使用率,包含AI视频增强、慢动作插帧、视频防抖、运动模糊去除、HDR处理等完整功能。提供单阶段和两阶段处理模式,内置多种专业模板,实时生成高质量FFmpeg命令。适用于视频后期制作、AI视频增强、专业视频处理等场景。',
|
||
icon: Video,
|
||
route: '/tools/topaz-video-ai',
|
||
category: ToolCategory.AI_TOOLS,
|
||
status: ToolStatus.STABLE,
|
||
tags: ['视频增强', 'AI处理', '慢动作', '防抖', 'HDR', 'FFmpeg', '参数配置'],
|
||
isNew: true,
|
||
isPopular: true,
|
||
version: '1.0.0',
|
||
lastUpdated: '2024-01-29'
|
||
},
|
||
{
|
||
id: 'image-generation',
|
||
name: 'AI图片生成工具',
|
||
description: '基于先进AI技术的图片生成工具,支持提示词预审、参考图片和多种生成参数',
|
||
longDescription: '专业的AI图片生成工具,集成Midjourney等先进的图像生成模型。支持提示词合规性预审、参考图片上传、多种画面比例和艺术风格选择。提供实时任务状态监控、异步生成处理、云存储自动上传等完整的图片生成流程。适用于创意设计、内容创作、艺术创作等多种场景。',
|
||
icon: Image,
|
||
route: '/tools/image-generation',
|
||
category: ToolCategory.AI_TOOLS,
|
||
status: ToolStatus.STABLE,
|
||
tags: ['AI生成', '图片创作', '提示词预审', '异步处理', '云存储'],
|
||
isNew: true,
|
||
isPopular: true,
|
||
version: '1.0.0',
|
||
lastUpdated: '2024-01-29'
|
||
},
|
||
{
|
||
id: 'ai-model-face-hair-fix',
|
||
name: 'AI模型面部头发修复工具',
|
||
description: '专业的AI模型面部和头发细节修复工具,支持单张图片和批量处理',
|
||
longDescription: '基于ComfyUI的专业AI模型面部头发修复工具,使用分割和局部修复技术增强AI模型照片的面部和头发细节。支持单张图片处理和批量目录处理,保持原有目录结构。提供可调节的面部提示词和去噪强度,适用于AI模型照片后期处理、人像美化、细节增强等场景。',
|
||
icon: ImagePlus,
|
||
route: '/tools/ai-model-face-hair-fix',
|
||
category: ToolCategory.AI_TOOLS,
|
||
status: ToolStatus.STABLE,
|
||
tags: ['面部修复', '头发增强', 'AI模型', '细节修复', '批量处理', 'ComfyUI'],
|
||
isNew: true,
|
||
isPopular: true,
|
||
version: '1.0.0',
|
||
lastUpdated: '2024-01-29'
|
||
},
|
||
{
|
||
id: 'frame-extractor',
|
||
name: '视频关键帧提取工具',
|
||
description: '快速提取视频的第一帧、最后帧或自定义位置的帧,支持批量处理和多种输出格式',
|
||
longDescription: '专业的视频关键帧提取工具,基于 FFmpeg 提供高质量的帧提取功能。支持提取第一帧、最后帧、自定义时间点或多个时间点的帧。提供多种图片格式输出(JPEG、PNG、WebP、BMP),支持自定义输出尺寸和质量设置。具备批量处理能力,可以处理单个文件或整个文件夹,支持递归扫描。提供实时预览功能,帮助用户精确选择提取时间点。适用于视频缩略图生成、关键帧分析、内容预览等多种场景。',
|
||
icon: Frame,
|
||
route: '/tools/frame-extractor',
|
||
category: ToolCategory.FILE_PROCESSING,
|
||
status: ToolStatus.STABLE,
|
||
tags: ['视频处理', '帧提取', '缩略图生成', '批量处理', 'FFmpeg', '图片导出'],
|
||
isNew: true,
|
||
isPopular: true,
|
||
version: '1.0.0',
|
||
lastUpdated: '2025-08-11'
|
||
},
|
||
{
|
||
id: 'voice-clone',
|
||
name: '声音克隆与TTS工具',
|
||
description: '专业的语音合成和声音克隆工具,支持音频上传、声音克隆、音色管理和语音生成',
|
||
longDescription: '先进的声音克隆与TTS工具,基于海螺API提供完整的语音合成和声音克隆功能。支持多种音频格式上传、个性化音色克隆、音色库管理、语音合成参数控制(语速、音量、情感等)。提供音频播放器和下载功能,适用于内容创作、配音制作、语音助手等多种场景。',
|
||
icon: Mic,
|
||
route: '/tools/voice-clone',
|
||
category: ToolCategory.AI_TOOLS,
|
||
status: ToolStatus.STABLE,
|
||
tags: ['声音克隆', 'TTS', '语音合成', '音频处理', '音色管理'],
|
||
isNew: true,
|
||
isPopular: true,
|
||
version: '1.0.0',
|
||
lastUpdated: '2024-01-29'
|
||
},
|
||
{
|
||
id: 'volcano-video-generation',
|
||
name: '图片模特模仿视频动作',
|
||
description: '基于火山云API的智能视频生成工具,支持图片转视频、音频配音等功能',
|
||
longDescription: '专业的火山云视频生成工具,集成火山云先进的视频生成API。支持图片转视频、音频配音、多种视频参数配置、实时进度监控等功能。提供直观的任务管理界面,支持批量操作、下载管理等完整的视频生成流程。适用于内容创作、营销推广、艺术创作等多种场景。',
|
||
icon: Video,
|
||
route: '/tools/volcano-video-generation',
|
||
category: ToolCategory.AI_TOOLS,
|
||
status: ToolStatus.STABLE,
|
||
tags: ['视频生成', '图片转视频', '音频配音', '火山云API', '批量处理'],
|
||
isNew: true,
|
||
isPopular: true,
|
||
version: '1.0.0',
|
||
lastUpdated: '2024-01-31'
|
||
},
|
||
{
|
||
id: 'hedra-records',
|
||
name: '图片说话/唱歌',
|
||
description: '查看和管理所有 Hedra 口型合成任务记录',
|
||
longDescription: 'Hedra 口型合成记录管理工具,提供完整的任务历史记录查看功能。支持查看所有合成任务的详细信息,包括输入文件、处理状态、结果视频等。提供批量下载、删除操作,以及详细的统计信息展示。帮助用户更好地管理和追踪口型合成工作流程。',
|
||
icon: FileText,
|
||
route: '/tools/hedra-records',
|
||
category: ToolCategory.AI_TOOLS,
|
||
status: ToolStatus.STABLE,
|
||
tags: ['记录管理', '历史查看', '批量操作', 'Hedra', '数据管理'],
|
||
isNew: true,
|
||
isPopular: false,
|
||
version: '1.0.0',
|
||
lastUpdated: '2025-08-01'
|
||
},
|
||
{
|
||
id: 'image-editing',
|
||
name: '智能PS',
|
||
description: '基于火山云SeedEdit 3.0 API的智能图像编辑工具,支持单张和批量图片编辑',
|
||
longDescription: '专业的AI图像编辑工具,集成火山云SeedEdit 3.0先进的图像编辑模型。支持通过提示词进行图像编辑、风格转换、场景变换等功能。提供单张图片编辑和批量处理模式,支持多种参数配置、实时进度监控、任务管理等完整的图像编辑流程。适用于创意设计、内容创作、图片处理等多种场景。',
|
||
icon: Wand2,
|
||
route: '/tools/image-editing',
|
||
category: ToolCategory.AI_TOOLS,
|
||
status: ToolStatus.STABLE,
|
||
tags: ['图像编辑', 'AI编辑', '批量处理', '火山云API', '提示词编辑'],
|
||
isNew: true,
|
||
isPopular: true,
|
||
version: '1.0.0',
|
||
lastUpdated: '2024-01-31'
|
||
}
|
||
];
|
||
|
||
/**
|
||
* 根据ID获取工具信息
|
||
*/
|
||
export const getToolById = (id: string): Tool | undefined => {
|
||
return TOOLS_DATA.find(tool => tool.id === id);
|
||
};
|
||
|
||
/**
|
||
* 根据分类获取工具列表
|
||
*/
|
||
export const getToolsByCategory = (category: ToolCategory): Tool[] => {
|
||
return TOOLS_DATA.filter(tool => tool.category === category);
|
||
};
|
||
|
||
/**
|
||
* 获取热门工具列表
|
||
*/
|
||
export const getPopularTools = (): Tool[] => {
|
||
return TOOLS_DATA.filter(tool => tool.isPopular);
|
||
};
|
||
|
||
/**
|
||
* 获取新功能工具列表
|
||
*/
|
||
export const getNewTools = (): Tool[] => {
|
||
return TOOLS_DATA.filter(tool => tool.isNew);
|
||
};
|
||
|
||
/**
|
||
* 搜索工具
|
||
*/
|
||
export const searchTools = (query: string): Tool[] => {
|
||
const lowercaseQuery = query.toLowerCase();
|
||
return TOOLS_DATA.filter(tool =>
|
||
tool.name.toLowerCase().includes(lowercaseQuery) ||
|
||
tool.description.toLowerCase().includes(lowercaseQuery) ||
|
||
tool.tags?.some(tag => tag.toLowerCase().includes(lowercaseQuery))
|
||
);
|
||
};
|
||
|
||
/**
|
||
* 工具分类配置
|
||
*/
|
||
export const TOOL_CATEGORIES = [
|
||
{
|
||
id: ToolCategory.DATA_PROCESSING,
|
||
name: '数据处理',
|
||
description: '数据清洗、转换和处理工具',
|
||
icon: Database,
|
||
color: 'purple'
|
||
},
|
||
{
|
||
id: ToolCategory.DEVELOPMENT,
|
||
name: '开发调试',
|
||
description: '开发和调试相关工具',
|
||
icon: Code,
|
||
color: 'indigo'
|
||
},
|
||
{
|
||
id: ToolCategory.FILE_PROCESSING,
|
||
name: '文件处理',
|
||
description: '文件操作和处理工具',
|
||
icon: FileSearch,
|
||
color: 'orange'
|
||
},
|
||
{
|
||
id: ToolCategory.AI_TOOLS,
|
||
name: 'AI工具',
|
||
description: '人工智能相关工具',
|
||
icon: Wrench,
|
||
color: 'pink'
|
||
},
|
||
{
|
||
id: ToolCategory.UTILITIES,
|
||
name: '实用工具',
|
||
description: '通用实用工具集合',
|
||
icon: Wrench,
|
||
color: 'teal'
|
||
}
|
||
];
|
||
|
||
/**
|
||
* 获取分类配置
|
||
*/
|
||
export const getCategoryConfig = (category: ToolCategory) => {
|
||
return TOOL_CATEGORIES.find(cat => cat.id === category);
|
||
};
|