Files
mixvideo-v2/apps/desktop/src/data/tools.ts
imeepos e2a1f43e85 feat: 添加 VEO3 场景写作工具并优化文件处理逻辑
- 创建 VEO3SceneWriterTool 页面组件,集成聊天界面和文件选择功能
- 添加 veo3SceneWriterService 服务层,封装与 Rust 后端的通信逻辑
- 实现 Tauri 命令支持,调用 veo3-scene-writer crate
- 更新工具数据配置,添加 VEO3 场景写作工具
- 优化文件处理逻辑:JSON/TXT 文件读取内容作为消息,图片文件作为附件
- 支持多种文本格式:.json, .txt, .md, .yaml, .yml, .toml
- 提供专业的影视场景提示词生成功能
2025-08-18 10:14:01 +08:00

263 lines
11 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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);
};