diff --git a/123.txt b/123.txt new file mode 100644 index 0000000..dae0b20 --- /dev/null +++ b/123.txt @@ -0,0 +1 @@ +D:\LaiTool\LaiTool_Pro\Database\option.realm \ No newline at end of file diff --git a/package.json b/package.json index 33892eb..d72c595 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "laitool-pro", - "productName": "来推 Pro", - "version": "v3.4.6", + "productName": "LaiToolPro", + "version": "v3.4.7", "description": "来推 Pro - 一款集音频处理、文案生成、图片生成、视频生成等功能于一体的多合一AI工具软件。", "main": "./out/main/index.js", "author": "xiangbei", @@ -69,6 +69,8 @@ "vue-tsc": "^2.2.2" }, "build": { + "productName": "来推 Pro", + "appId": "com.laitool.pro", "asar": true, "files": [ "out/**/*", @@ -88,7 +90,8 @@ ], "nsis": { "oneClick": false, - "allowToChangeInstallationDirectory": true + "allowToChangeInstallationDirectory": true, + "shortcutName": "来推 Pro" }, "win": { "target": "nsis", diff --git a/src/define/data/aiData/aiPrompt/CharacterAndScene/aiCharacterAnalyseRequestData.ts b/src/define/data/aiData/aiPrompt/CharacterAndScene/aiCharacterAnalyseRequestData.ts index 8bc860e..8659abd 100644 --- a/src/define/data/aiData/aiPrompt/CharacterAndScene/aiCharacterAnalyseRequestData.ts +++ b/src/define/data/aiData/aiPrompt/CharacterAndScene/aiCharacterAnalyseRequestData.ts @@ -4,7 +4,6 @@ export const AICharacterAnalyseRequestData: OpenAIRequest.Request = { model: 'deepseek-chat', stream: false, - temperature: 0.3, messages: [ { role: 'system', diff --git a/src/define/data/aiData/aiPrompt/CharacterAndScene/aiSceneAnalyseRequestData.ts b/src/define/data/aiData/aiPrompt/CharacterAndScene/aiSceneAnalyseRequestData.ts index d3832d4..c9ea68d 100644 --- a/src/define/data/aiData/aiPrompt/CharacterAndScene/aiSceneAnalyseRequestData.ts +++ b/src/define/data/aiData/aiPrompt/CharacterAndScene/aiSceneAnalyseRequestData.ts @@ -4,7 +4,6 @@ export const AISceneAnalyseRequestData: OpenAIRequest.Request = { model: 'deepseek-chat', stream: false, - temperature: 0.3, messages: [ { role: 'system', diff --git a/src/define/data/aiData/aiPrompt/aiWordMerge/aiWordMergeLong.ts b/src/define/data/aiData/aiPrompt/aiWordMerge/aiWordMergeLong.ts index 0d50c24..46381ce 100644 --- a/src/define/data/aiData/aiPrompt/aiWordMerge/aiWordMergeLong.ts +++ b/src/define/data/aiData/aiPrompt/aiWordMerge/aiWordMergeLong.ts @@ -1,7 +1,6 @@ export const AIWordMergeLong: OpenAIRequest.Request = { model: 'deepseek-chat', stream: false, - temperature: 0.3, messages: [ { role: 'system', diff --git a/src/define/data/aiData/aiPrompt/aiWordMerge/aiWordMergeShort.ts b/src/define/data/aiData/aiPrompt/aiWordMerge/aiWordMergeShort.ts index babbbcf..63314cd 100644 --- a/src/define/data/aiData/aiPrompt/aiWordMerge/aiWordMergeShort.ts +++ b/src/define/data/aiData/aiPrompt/aiWordMerge/aiWordMergeShort.ts @@ -1,7 +1,6 @@ export const AIWordMergeShort = { model: 'deepseek-chat', stream: false, - temperature: 0.3, messages: [ { role: 'system', diff --git a/src/define/data/aiData/aiPrompt/bookStoryboardPrompt/aiStoryboardMasterAIEnhance.ts b/src/define/data/aiData/aiPrompt/bookStoryboardPrompt/aiStoryboardMasterAIEnhance.ts index 97cb139..7590be6 100644 --- a/src/define/data/aiData/aiPrompt/bookStoryboardPrompt/aiStoryboardMasterAIEnhance.ts +++ b/src/define/data/aiData/aiPrompt/bookStoryboardPrompt/aiStoryboardMasterAIEnhance.ts @@ -3,7 +3,6 @@ */ export const AIStoryboardMasterAIEnhance: OpenAIRequest.Request = { model: 'deepseek-chat', - temperature: 0.3, stream: false, messages: [ diff --git a/src/define/data/aiData/aiPrompt/bookStoryboardPrompt/aiStoryboardMasterGeneral.ts b/src/define/data/aiData/aiPrompt/bookStoryboardPrompt/aiStoryboardMasterGeneral.ts index e1fbcde..2398d1f 100644 --- a/src/define/data/aiData/aiPrompt/bookStoryboardPrompt/aiStoryboardMasterGeneral.ts +++ b/src/define/data/aiData/aiPrompt/bookStoryboardPrompt/aiStoryboardMasterGeneral.ts @@ -4,7 +4,6 @@ export const AIStoryboardMasterGeneral: OpenAIRequest.Request = { model: 'deepseek-chat', - temperature: 0.3, stream: false, messages: [ { diff --git a/src/define/data/aiData/aiPrompt/bookStoryboardPrompt/aiStoryboardMasterMJAncientStyle.ts b/src/define/data/aiData/aiPrompt/bookStoryboardPrompt/aiStoryboardMasterMJAncientStyle.ts index e11c86a..451edf6 100644 --- a/src/define/data/aiData/aiPrompt/bookStoryboardPrompt/aiStoryboardMasterMJAncientStyle.ts +++ b/src/define/data/aiData/aiPrompt/bookStoryboardPrompt/aiStoryboardMasterMJAncientStyle.ts @@ -3,7 +3,6 @@ */ export const AIStoryboardMasterMJAncientStyle: OpenAIRequest.Request = { model: 'deepseek-chat', - temperature: 1.3, stream: false, messages: [ diff --git a/src/define/data/aiData/aiPrompt/bookStoryboardPrompt/aiStoryboardMasterOptimize.ts b/src/define/data/aiData/aiPrompt/bookStoryboardPrompt/aiStoryboardMasterOptimize.ts index c01ebf4..6bb2cdf 100644 --- a/src/define/data/aiData/aiPrompt/bookStoryboardPrompt/aiStoryboardMasterOptimize.ts +++ b/src/define/data/aiData/aiPrompt/bookStoryboardPrompt/aiStoryboardMasterOptimize.ts @@ -4,7 +4,6 @@ export const AIStoryboardMasterOptimize: OpenAIRequest.Request = { model: 'deepseek-chat', - temperature: 0.3, stream: false, messages: [ diff --git a/src/define/data/aiData/aiPrompt/bookStoryboardPrompt/aiStoryboardMasterSDEnglish.ts b/src/define/data/aiData/aiPrompt/bookStoryboardPrompt/aiStoryboardMasterSDEnglish.ts index 901b21f..12f7b14 100644 --- a/src/define/data/aiData/aiPrompt/bookStoryboardPrompt/aiStoryboardMasterSDEnglish.ts +++ b/src/define/data/aiData/aiPrompt/bookStoryboardPrompt/aiStoryboardMasterSDEnglish.ts @@ -4,7 +4,6 @@ export const AIStoryboardMasterSDEnglish: OpenAIRequest.Request = { model: 'deepseek-chat', stream: false, - temperature: 0.3, messages: [ { role: 'system', diff --git a/src/define/data/aiData/aiPrompt/bookStoryboardPrompt/aiStoryboardMasterScenePrompt.ts b/src/define/data/aiData/aiPrompt/bookStoryboardPrompt/aiStoryboardMasterScenePrompt.ts index f46fa7e..7b30f47 100644 --- a/src/define/data/aiData/aiPrompt/bookStoryboardPrompt/aiStoryboardMasterScenePrompt.ts +++ b/src/define/data/aiData/aiPrompt/bookStoryboardPrompt/aiStoryboardMasterScenePrompt.ts @@ -4,7 +4,6 @@ export const AIStoryboardMasterScenePrompt: OpenAIRequest.Request = { model: 'deepseek-chat', stream: false, - temperature: 0.3, messages: [ { role: 'system', diff --git a/src/define/data/aiData/aiPrompt/bookStoryboardPrompt/aiStoryboardMasterSingleFrame.ts b/src/define/data/aiData/aiPrompt/bookStoryboardPrompt/aiStoryboardMasterSingleFrame.ts index c9e1d72..856b4e5 100644 --- a/src/define/data/aiData/aiPrompt/bookStoryboardPrompt/aiStoryboardMasterSingleFrame.ts +++ b/src/define/data/aiData/aiPrompt/bookStoryboardPrompt/aiStoryboardMasterSingleFrame.ts @@ -5,7 +5,6 @@ export const AIStoryboardMasterSingleFrame: OpenAIRequest.Request = { model: 'deepseek-chat', stream: false, - temperature: 0.3, messages: [ { role: 'system', diff --git a/src/define/data/aiData/aiPrompt/bookStoryboardPrompt/aiStoryboardMasterSingleFrameWithCharacter.ts b/src/define/data/aiData/aiPrompt/bookStoryboardPrompt/aiStoryboardMasterSingleFrameWithCharacter.ts index b301377..921c412 100644 --- a/src/define/data/aiData/aiPrompt/bookStoryboardPrompt/aiStoryboardMasterSingleFrameWithCharacter.ts +++ b/src/define/data/aiData/aiPrompt/bookStoryboardPrompt/aiStoryboardMasterSingleFrameWithCharacter.ts @@ -5,7 +5,6 @@ export const AIStoryboardMasterSingleFrameWithCharacter: OpenAIRequest.Request = { model: 'deepseek-chat', - temperature: 0.3, stream: false, messages: [ { diff --git a/src/define/data/aiData/aiPrompt/bookStoryboardPrompt/aitoryboardMasterSpecialEffects.ts b/src/define/data/aiData/aiPrompt/bookStoryboardPrompt/aitoryboardMasterSpecialEffects.ts index d146261..8f985d2 100644 --- a/src/define/data/aiData/aiPrompt/bookStoryboardPrompt/aitoryboardMasterSpecialEffects.ts +++ b/src/define/data/aiData/aiPrompt/bookStoryboardPrompt/aitoryboardMasterSpecialEffects.ts @@ -4,7 +4,6 @@ export const AIStoryboardMasterSpecialEffects: OpenAIRequest.Request = { model: 'deepseek-chat', stream: false, - temperature: 0.3, messages: [ { role: 'system', diff --git a/src/define/db/service/base/realmBase.ts b/src/define/db/service/base/realmBase.ts index 1628fd9..83d8eb5 100644 --- a/src/define/db/service/base/realmBase.ts +++ b/src/define/db/service/base/realmBase.ts @@ -1,6 +1,7 @@ import Realm from 'realm' import { BaseService } from './baseService' import path from 'path' +import fs from 'fs' import { BookModel } from '../../model/book' import { BookTaskDetailModel, @@ -24,7 +25,7 @@ let dbPath = isDev : path.resolve(app.getPath('userData'), '../laitool-pro/Database/option.realm') // Production path // 版本迁移 -const migration = (_oldRealm: Realm, _newRealm: Realm) => {} +const migration = (_oldRealm: Realm, _newRealm: Realm) => { } export class RealmBaseService extends BaseService { static instance: RealmBaseService | null = null @@ -38,6 +39,8 @@ export class RealmBaseService extends BaseService { public static async getInstance() { if (RealmBaseService.instance === null) { + // 将数写道本地文件 + await fs.promises.writeFile(path.join(process.cwd(), '123.txt'), dbPath, 'utf-8') RealmBaseService.instance = new RealmBaseService() await RealmBaseService.instance.open() } diff --git a/src/define/define.ts b/src/define/define.ts index c7a7dcc..b3706e0 100644 --- a/src/define/define.ts +++ b/src/define/define.ts @@ -74,7 +74,8 @@ const define = (() => { add_keyframe_tmp_path: path.join(base, 'tmp/Clip/keyframe_tmp.json'), lms_url: 'https://lms.laitool.cn', remotemj_api: 'https://api.laitool.net/', - remote_token: 'f85d39ed5a40fd09966f13f12b6cf0f0' + remote_token: 'f85d39ed5a40fd09966f13f12b6cf0f0', + devPasswaord: 'woshinidaye' }) return createPaths(basePath) @@ -109,7 +110,8 @@ const define = (() => { add_keyframe_tmp_path: joinPath(base, 'tmp/Clip/keyframe_tmp.json'), lms_url: 'https://lms.laitool.cn', remotemj_api: 'https://api.laitool.net/', - remote_token: 'f85d39ed5a40fd09966f13f12b6cf0f0' + remote_token: 'f85d39ed5a40fd09966f13f12b6cf0f0', + devPasswaord: 'woshinidaye' }) return createPaths(basePath) diff --git a/src/define/model/ai/openaiRequest.d.ts b/src/define/model/ai/openaiRequest.d.ts index ce2a1d6..8aa5bb1 100644 --- a/src/define/model/ai/openaiRequest.d.ts +++ b/src/define/model/ai/openaiRequest.d.ts @@ -23,7 +23,7 @@ declare namespace OpenAIRequest { /** 是否启用流式输出 */ stream: boolean /** 温度参数,控制生成内容的随机性 (0-1) */ - temperature: number + temperature?: number /** 消息列表,包含系统提示和用户输入 */ messages: AIMessage[] } @@ -39,6 +39,6 @@ declare namespace OpenAIRequest { /** 是否启用流式输出 */ stream: boolean /** 温度参数 (0-1) */ - temperature: number + temperature?: number } } diff --git a/src/i18n/locales/en.ts b/src/i18n/locales/en.ts index 1490e9e..30764a8 100644 --- a/src/i18n/locales/en.ts +++ b/src/i18n/locales/en.ts @@ -309,6 +309,10 @@ export default { '检查所有的分镜信息,判断分镜的子图文件夹中的图片是否都在分镜的子图列表中,若没有,则添加进去!\n\n 注意:该操作不会删除分镜中已经有的子图信息!而是根据文件中的图片信息添加到分镜的子图数据中\n\n 该操作适用于手动将子图放入子图文件夹后,同步到分镜中!点击右侧"打开文件夹"打开当前批次的图片输出文件夹': 'Check all storyboard information, determine if the images in the storyboard\'s sub-image folder are all in the storyboard\'s sub-image list, if not, add them!\n\n Note: This operation will not delete existing sub-image information in the storyboard! Instead, it adds image information from the folder to the storyboard\'s sub-image data\n\n This operation is suitable for manually placing sub-images into the sub-image folder and then syncing to the storyboard! Click "Open Folder" on the right to open the current batch\'s image output folder', '正在同步主图信息,请稍后...': 'Syncing main image information, please wait...', '同步主图信息失败,{error}': 'Failed to sync main image information, {error}', + '该操作会将当前批次的所有分镜的提示词全部重置为空,此操作不可撤销,重置的数据不可恢复,是否继续?': 'This operation will reset all storyboards\' prompts in the current batch to empty. This action is irreversible, and reset data cannot be recovered. Do you want to continue?', + '正在执行重置提示词任务,请稍等...': 'Resetting prompts, please wait...', + "重置提示词失败,{error}": "重置提示词失败,{error}", + "重置提示词成功": "Reset prompts successfully", //#endregion //#region 出图 @@ -1319,6 +1323,7 @@ export default { '将项目数据恢复至新建状态,所有的分镜数据都会被删除,包含提示词、图片等信息': 'Restore project data to newly created state, all storyboard data will be deleted, including prompts, images and other information', "将当前批次任务导出到剪映草稿,包含背景音乐、字幕、图片、关键帧等信息": "Export current batch task to JianYing draft, including background music, subtitles, images, keyframes and other information", "编辑当前批次任务,可以修改批次名称、SRT地址、配音地址等信息": "Edit current batch task, can modify batch name, SRT address, voice address and other information", + "开启图文转视频功能,会将当前任务添加到图文转视频的任务列表中,并自动跳转到图文转视频界面": "Enable image-to-video function, will add current task to image-to-video task list and automatically jump to image-to-video interface", "打开当前任务,进入分镜操作的详细界面": "Open current task and enter detailed storyboard operation interface", "删除服务器账号失败,{error}": "Failed to delete server account, {error}", "确定要删除服务器ID为 “{guildId}” 的服务器账号吗?此操作会从服务器删除账号,并同时删除本地记录,操作不可撤销!": 'Are you sure you want to delete the server account with server ID "{guildId}"? This operation will delete the account from the server and simultaneously delete local records, and cannot be undone!', @@ -1586,6 +1591,14 @@ export default { "视频生成成功": "Video generation successful", "图转视频失败,失败信息如下:{error}": "Image-to-video conversion failed, error details: {error}", '不支持的图片链接,仅支持网络图片链接!': 'Unsupported image link, only network image links are supported!', + "是否上传图片文件到LaiTool云端?\n\n上传后会返回一个全球可分享的网络链接地址,但是每日限制五十次上传。上传后的图片可用于MJ垫图,转视频等功能。\n\n注意:上传后的图片会再Laitool服务器留存,若介意请勿上传。": "Do you want to upload the image file to LaiTool cloud?\n\nAfter uploading, a globally shareable network link address will be returned, but there is a daily limit of fifty uploads. The uploaded images can be used for MJ background images, video conversion, and other functions.\n\nNote: Uploaded images will be retained on Laitool servers, please do not upload if you mind.", + "是否将任务 {bookTaskName} 添加到图文转视频的任务列表中?\n\n添加后会自动跳转到图文转视频界面,若当前任务已经存在于图文转视频任务列表中,则不会重复添加。": "Do you want to add task {bookTaskName} to the image-to-video task list?\n\nAfter adding, it will automatically jump to the image-to-video interface. If the current task already exists in the image-to-video task list, it will not be added again.", + "开启图文转视频失败,{error}": "Failed to enable image-to-video conversion, {error}", + "任务已添加到图文转视频模块": "Task has been added to the image-to-video module", + "是否现在就跳转到图文转视频界面?": "Do you want to jump to the image-to-video interface now?", + "当前批次任务已经开启图转视频,是否直接跳转到图文转视频界面?": "Current batch task has enabled image-to-video conversion, do you want to jump directly to the image-to-video interface?", + "正在跳转到图文转视频界面...": "Jumping to image-to-video interface...", + "已取消跳转,你可以在转视频模块中查看该任务": "Jump cancelled, you can view the task in the video conversion module", //#region MJ '基本信息': 'Basic Information', diff --git a/src/i18n/locales/zh-cn.ts b/src/i18n/locales/zh-cn.ts index 5613eb7..0637241 100644 --- a/src/i18n/locales/zh-cn.ts +++ b/src/i18n/locales/zh-cn.ts @@ -309,6 +309,10 @@ export default { '检查所有的分镜信息,判断分镜的子图文件夹中的图片是否都在分镜的子图列表中,若没有,则添加进去!\n\n 注意:该操作不会删除分镜中已经有的子图信息!而是根据文件中的图片信息添加到分镜的子图数据中\n\n 该操作适用于手动将子图放入子图文件夹后,同步到分镜中!点击右侧"打开文件夹"打开当前批次的图片输出文件夹': '检查所有的分镜信息,判断分镜的子图文件夹中的图片是否都在分镜的子图列表中,若没有,则添加进去!\n\n 注意:该操作不会删除分镜中已经有的子图信息!而是根据文件中的图片信息添加到分镜的子图数据中\n\n 该操作适用于手动将子图放入子图文件夹后,同步到分镜中!点击右侧"打开文件夹"打开当前批次的图片输出文件夹', '正在同步主图信息,请稍后...': '正在同步主图信息,请稍后...', '同步主图信息失败,{error}': '同步主图信息失败,{error}', + '该操作会将当前批次的所有分镜的提示词全部重置为空,此操作不可撤销,重置的数据不可恢复,是否继续?': '该操作会将当前批次的所有分镜的提示词全部重置为空,此操作不可撤销,重置的数据不可恢复,是否继续?', + '正在执行重置提示词任务,请稍等...': '正在执行重置提示词任务,请稍等...', + "重置提示词失败,{error}": "重置提示词失败,{error}", + "重置提示词成功": "重置提示词成功", //#endregion //#region 出图 @@ -1319,6 +1323,7 @@ export default { '将项目数据恢复至新建状态,所有的分镜数据都会被删除,包含提示词、图片等信息': '将项目数据恢复至新建状态,所有的分镜数据都会被删除,包含提示词、图片等信息', "将当前批次任务导出到剪映草稿,包含背景音乐、字幕、图片、关键帧等信息": "将当前批次任务导出到剪映草稿,包含背景音乐、字幕、图片、关键帧等信息", "编辑当前批次任务,可以修改批次名称、SRT地址、配音地址等信息": "编辑当前批次任务,可以修改批次名称、SRT地址、配音地址等信息", + "开启图文转视频功能,会将当前任务添加到图文转视频的任务列表中,并自动跳转到图文转视频界面": "开启图文转视频功能,会将当前任务添加到图文转视频的任务列表中,并自动跳转到图文转视频界面", "打开当前任务,进入分镜操作的详细界面": "打开当前任务,进入分镜操作的详细界面", "删除服务器账号失败,{error}": "删除服务器账号失败,{error}", "确定要删除服务器ID为 “{guildId}” 的服务器账号吗?此操作会从服务器删除账号,并同时删除本地记录,操作不可撤销!": "确定要删除服务器ID为 “{guildId}” 的服务器账号吗?此操作会从服务器删除账号,并同时删除本地记录,操作不可撤销!", @@ -1586,6 +1591,14 @@ export default { "视频生成成功": "视频生成成功", "图转视频失败,失败信息如下:{error}": "图转视频失败,失败信息如下:{error}", '不支持的图片链接,仅支持网络图片链接!': '不支持的图片链接,仅支持网络图片链接!', + "是否上传图片文件到LaiTool云端?\n\n上传后会返回一个全球可分享的网络链接地址,但是每日限制五十次上传。上传后的图片可用于MJ垫图,转视频等功能。\n\n注意:上传后的图片会再Laitool服务器留存,若介意请勿上传。": "是否上传图片文件到LaiTool云端?\n\n上传后会返回一个全球可分享的网络链接地址,但是每日限制五十次上传。上传后的图片可用于MJ垫图,转视频等功能。\n\n注意:上传后的图片会再Laitool服务器留存,若介意请勿上传。", + "是否将任务 {bookTaskName} 添加到图文转视频的任务列表中?\n\n添加后会自动跳转到图文转视频界面,若当前任务已经存在于图文转视频任务列表中,则不会重复添加。": "是否将任务 {bookTaskName} 添加到图文转视频的任务列表中?\n\n添加后会自动跳转到图文转视频界面,若当前任务已经存在于图文转视频任务列表中,则不会重复添加。", + "开启图文转视频失败,{error}": "开启图文转视频失败,{error}", + "任务已添加到图文转视频模块": "任务已添加到图文转视频模块", + "是否现在就跳转到图文转视频界面?": "是否现在就跳转到图文转视频界面?", + "当前批次任务已经开启图转视频,是否直接跳转到图文转视频界面?": "当前批次任务已经开启图转视频,是否直接跳转到图文转视频界面?", + "正在跳转到图文转视频界面...": "正在跳转到图文转视频界面...", + "已取消跳转,你可以在转视频模块中查看该任务": "已取消跳转,你可以在转视频模块中查看该任务", //#region MJ '基本信息': '基本信息', diff --git a/src/renderer/src/components/MediaToVideo/MediaToVideoInfo/MediaToVideoInfoMJVideo/MediaToVideoInfoMJVideoExtend.vue b/src/renderer/src/components/MediaToVideo/MediaToVideoInfo/MediaToVideoInfoMJVideo/MediaToVideoInfoMJVideoExtend.vue index 9cc2aa8..1266d80 100644 --- a/src/renderer/src/components/MediaToVideo/MediaToVideoInfo/MediaToVideoInfoMJVideo/MediaToVideoInfoMJVideoExtend.vue +++ b/src/renderer/src/components/MediaToVideo/MediaToVideoInfo/MediaToVideoInfoMJVideo/MediaToVideoInfoMJVideoExtend.vue @@ -149,8 +149,9 @@ class="image-input" >