From 7e639cabf4d66ba339e2984a430d562b8e2280b4 Mon Sep 17 00:00:00 2001 From: YuShanNan <64715990+YuShanNan@users.noreply.github.com> Date: Wed, 22 Apr 2026 15:26:51 +0800 Subject: [PATCH 1/6] Polish script editor UI Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .github/copilot-instructions.md | 52 ++ index.html | 1022 +++++++++++++++++++++++++++---- 2 files changed, 951 insertions(+), 123 deletions(-) create mode 100644 .github/copilot-instructions.md diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md new file mode 100644 index 0000000..88bff7d --- /dev/null +++ b/.github/copilot-instructions.md @@ -0,0 +1,52 @@ +# Copilot Instructions + +## Project shape + +- The whole application lives in `index.html`. Template markup, CSS overrides, Vue state, persistence, import/export, audio processing, and video generation are all defined there. +- This is a browser-first tool for AI audiobook production. The README positions it around LLM-driven script analysis plus IndexTTS / Qwen3TTS workflows, with users supplying OpenAI-compatible LLM endpoints and TTS service URLs. +- Frontend dependencies are loaded in the page, not through a package manager: Vue 3 and Tailwind via CDN, `mp4-muxer` via CDN, and ffmpeg helpers from `vendor\ffmpeg` plus ffmpeg core wasm loaded at runtime. + +## Commands and validation + +- There is no repository build, test, or lint manifest (`package.json`, `requirements.txt`, etc. are absent). +- There is no built-in single-test command because the repository does not ship a test suite. +- Typical local run path is to open `index.html` in a browser or serve the repository as static files. +- For quick syntax validation after editing the inline Vue app, extract the main ` -
+
-
+

Unitale AI 1.5

-

多角色音效合成有声书生成工具

+

多角色音效合成有声书生成工具

+
+
+ +
v1.5
-
v1.5
-
+
@@ -127,10 +545,12 @@

Unitale AI 导出SRT字幕 @@ -716,11 +1136,20 @@

{{ isEditingFilter ? '编辑
-
+
+ :class="['relative flex items-center gap-2 px-3 py-2 rounded-lg cursor-pointer text-xs font-bold transition-all duration-150 min-w-[100px] flex-shrink-0 justify-between group', currentScriptId === script.id ? 'bg-white border border-slate-200 text-blue-600 shadow-sm hover:-translate-y-0.5 hover:shadow-md' : 'bg-slate-100 border-transparent text-slate-500 hover:bg-slate-200 hover:text-slate-700 hover:-translate-y-0.5 hover:shadow-sm']"> +
+
+
+ 双击修改名称 +
+
+
+
{{ script.name }} @@ -731,18 +1160,19 @@

{{ isEditingFilter ? '编辑
-
-

+
+

角色列表

-
+
@@ -786,7 +1216,7 @@

backgroundPosition: 'center center, center center', backgroundSize: '100% 100%, contain' } : {}"> -
-

2. 脚本台词列表 ({{ scriptLines.length }} 行)

+
+
+

+ 2. 脚本台词列表 + + ({{ scriptListCountLabel }} 行) + +

+ +
+
+ 角色筛选 + + + + 当前显示 {{ filteredDialogueLines.length }} 条筛选台词 + +
-
-
+
+ 当前角色筛选下没有可显示的台词。 +
+
+ :class="['flex flex-wrap items-center gap-3 p-3 rounded-lg border mb-2 transition-all', selectedLineIndex === renderedScriptLineIndexes[index] ? 'script-bgm-selected' : 'bg-purple-50/50 border-purple-200', currentSequenceIndex === renderedScriptLineIndexes[index] ? 'ring-2 ring-green-500' : '']">
- -
{{ index + 1 }}
-
+
@@ -957,7 +1417,7 @@

2. 脚本台词列表 ({{ scriptLin

- -
{{ index + 1 }}
-
+
@@ -987,7 +1447,7 @@

2. 脚本台词列表 ({{ scriptLin
背景图片块
-

- @@ -1041,15 +1501,15 @@

2. 脚本台词列表 ({{ scriptLin
+ :class="['flex flex-col gap-2 p-3 rounded-lg mb-2 transition-all group cursor-pointer border', selectedLineIndex === renderedScriptLineIndexes[index] ? 'script-line-selected' : 'bg-white border-slate-200 shadow-sm hover:bg-slate-50', currentSequenceIndex === renderedScriptLineIndexes[index] ? 'ring-2 ring-green-500' : '']">
- -
{{ index + 1 }}
-
+
@@ -1151,7 +1611,7 @@

2. 脚本台词列表 ({{ scriptLin
- @@ -1234,7 +1694,7 @@

2. 脚本台词列表 ({{ scriptLin clip-rule="evenodd" /> -

+
+
+ 正在接近底部时自动加载更多台词(已加载 {{ renderedScriptLines.length }} / {{ filteredScriptLines.length }}) +
+

-
+

3. AI 原始输出 (调试用)

{{ rawAnalysisResult }}
@@ -1382,7 +1847,7 @@

3. Qwen 音色生成参考音频

-

+

本网站由sdsds222制作,点击此处访问个人主页 @@ -1392,7 +1857,7 @@

3. Qwen 音色生成参考音频