Browse Source

chore: 合并 PR #43 拆书库角色分析改进 + 版本号升级至 v3.0.8

Mochocyang 1 month ago
parent
commit
d1b00dcfd5
5 changed files with 34 additions and 4 deletions
  1. 1 1
      package.json
  2. 1 1
      src-tauri/Cargo.lock
  3. 1 1
      src-tauri/Cargo.toml
  4. 1 1
      src-tauri/tauri.conf.json
  5. 30 0
      src/lib/changelog.ts

+ 1 - 1
package.json

@@ -1,7 +1,7 @@
 {
   "name": "qmai",
   "private": true,
-  "version": "3.0.7",
+  "version": "3.0.8",
   "license": "GPL-3.0-or-later",
   "type": "module",
   "scripts": {

+ 1 - 1
src-tauri/Cargo.lock

@@ -5825,7 +5825,7 @@ checksum = "e0c5ccf5294c6ccd63a74f1565028353830a9c2f5eb0c682c355c471726a6e3f"
 
 [[package]]
 name = "qmai"
-version = "3.0.7"
+version = "3.0.8"
 dependencies = [
  "arrow-array",
  "arrow-schema",

+ 1 - 1
src-tauri/Cargo.toml

@@ -1,6 +1,6 @@
 [package]
 name = "qmai"
-version = "3.0.7"
+version = "3.0.8"
 description = "QMAI - AI writing system for long-form novels"
 authors = ["Mochocyang"]
 edition = "2021"

+ 1 - 1
src-tauri/tauri.conf.json

@@ -1,7 +1,7 @@
 {
   "$schema": "https://schema.tauri.app/config/2",
   "productName": "QMaiWrite",
-  "version": "3.0.7",
+  "version": "3.0.8",
   "identifier": "com.qingmuai.writer",
   "build": {
     "beforeDevCommand": "npm run dev",

+ 30 - 0
src/lib/changelog.ts

@@ -7,6 +7,33 @@ export interface ChangelogEntry {
   };
 }
 
+const THREE_POINT_ZERO_EIGHT_CHANGELOG: ChangelogEntry = {
+  version: "3.0.8",
+  date: "2026-08-04",
+  highlights: {
+    en: [
+      "[Character Selection Gate] Book analysis character deep-dive now uses an identify -> select target characters -> queue deep-dive flow (awaiting-character-selection), avoiding blind deep-dive on all characters. (Merged from PR #43, thanks @darknessomi)",
+      "[Visual Progress] Pipeline/scheduler expose runtime fine-grained progress (phase text + percentage + currentItem), wired to task bar and chunk row UI.",
+      "[JSON Tolerance] LLM dirty JSON now parsed via jsonrepair, reducing character/story/style adapter parse failures.",
+      "[Character Sorting] Character result list panel sorts by importance -> type -> name, important characters first.",
+      "[Orphan Chunk Fix] Reassigning tasks now clears old disk chunks via replaceAnalysisTaskChunks; scheduler/aggregate only honor expectedIds to prevent orphan pending from running LLM.",
+      "[Progress Stuck / Fake 100% Fix] Chunk occupies 0-90%, aggregate/publish uses phase percentage; concurrent running progress accumulates; fixed {total} template not interpolated.",
+      "[Partial Failure Tolerance] Single chapter/character/6-dim failure can skip with warnings; partial chunk failure can still aggregate/publish; all fail only then fail; continue resets failed chunks.",
+      "[UI Cleanup] Cleaned P0 broken-link novel UI (de-ai-batch, dismantling/plot-framework, character-profile, foreshadowing, timeline, clue-board, etc.).",
+    ],
+    zh: [
+      "【角色选择门禁】拆书库角色深度分析增加「识别 → 勾选目标角色 → 再排队深挖」门禁流程,避免对所有角色盲目深挖浪费算力(合并自 PR #43,感谢 @darknessomi 贡献)",
+      "【可视化进度】pipeline/scheduler 暴露运行时细粒度进度(阶段文案+百分比+currentItem),接到任务条/区块行 UI",
+      "【JSON 容错解析】LLM 脏 JSON 经 jsonrepair 解析,降低角色/故事/文风 adapter 解析失败率",
+      "【角色排序】角色结果列表面板按「重要度→类型→名称」排序,重要角色优先展示",
+      "【孤儿区块修复】重配任务时清磁盘旧区块,调度/汇总只认 expectedIds,避免孤儿 pending 误跑 LLM",
+      "【进度钉死修复】chunk 占 0-90%,aggregate/publish 用 phase 百分比,修复 {total} 未插值与假 100%",
+      "【部分失败容忍】单章/单角色/6 维失败可跳过并带 warnings,部分区块失败仍可 aggregate/publish",
+      "【UI 清理】清理 P0 断链 novel UI(de-ai-batch、拆书/情节框架、角色档案、伏笔、时间线、线索板等)",
+    ],
+  },
+};
+
 const THREE_POINT_ZERO_SEVEN_CHANGELOG: ChangelogEntry = {
   version: "3.0.7",
   date: "2026-08-04",
@@ -1035,6 +1062,8 @@ export const CHANGELOG: ChangelogEntry[] = [
 ];
 
 export function currentVersionChangelog(version: string): ChangelogEntry[] {
+  if (version === THREE_POINT_ZERO_EIGHT_CHANGELOG.version)
+    return [THREE_POINT_ZERO_EIGHT_CHANGELOG];
   if (version === THREE_POINT_ZERO_SEVEN_CHANGELOG.version)
     return [THREE_POINT_ZERO_SEVEN_CHANGELOG];
   if (version === THREE_POINT_ZERO_SIX_CHANGELOG.version)
@@ -1120,6 +1149,7 @@ export function currentVersionChangelog(version: string): ChangelogEntry[] {
 
 export function allChangelog(): ChangelogEntry[] {
   return [
+    THREE_POINT_ZERO_EIGHT_CHANGELOG,
     THREE_POINT_ZERO_SEVEN_CHANGELOG,
     THREE_POINT_ZERO_SIX_CHANGELOG,
     THREE_POINT_ZERO_FIVE_CHANGELOG,