Преглед изворни кода

chore(release): 升级内测版本至 3.2.18

同步 npm、Cargo 与 Tauri 版本元数据,并补充 Writing DNA 文风、深度/模型选择与分片预算的中英文更新说明。

Co-authored-by: Cursor <cursoragent@cursor.com>
darknessomi пре 1 дан
родитељ
комит
56d2119964
7 измењених фајлова са 33 додато и 7 уклоњено
  1. 2 2
      package-lock.json
  2. 1 1
      package.json
  3. 1 1
      src-tauri/Cargo.lock
  4. 1 1
      src-tauri/Cargo.toml
  5. 1 1
      src-tauri/tauri.conf.json
  6. 7 1
      src/lib/changelog.spec.ts
  7. 20 0
      src/lib/changelog.ts

+ 2 - 2
package-lock.json

@@ -1,12 +1,12 @@
 {
   "name": "qmai",
-  "version": "3.2.17",
+  "version": "3.2.18",
   "lockfileVersion": 3,
   "requires": true,
   "packages": {
     "": {
       "name": "qmai",
-      "version": "3.2.17",
+      "version": "3.2.18",
       "license": "GPL-3.0-or-later",
       "dependencies": {
         "@base-ui/react": "^1.8.0",

+ 1 - 1
package.json

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

+ 1 - 1
src-tauri/Cargo.lock

@@ -5879,7 +5879,7 @@ checksum = "d55d956fa96f5ec02be2e13af0e20391a5aa83d6a074e3ad368959d0fab299ea"
 
 [[package]]
 name = "qmai"
-version = "3.2.17"
+version = "3.2.18"
 dependencies = [
  "arrow-array",
  "arrow-schema",

+ 1 - 1
src-tauri/Cargo.toml

@@ -1,6 +1,6 @@
 [package]
 name = "qmai"
-version = "3.2.17"
+version = "3.2.18"
 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.2.17",
+  "version": "3.2.18",
   "identifier": "com.qingmuai.writer",
   "build": {
     "beforeDevCommand": "npm run dev",

+ 7 - 1
src/lib/changelog.spec.ts

@@ -6,7 +6,13 @@ describe("changelog", () => {
     const entries = allChangelog()
     const versions = entries.map((entry) => entry.version)
 
-    expect(versions.slice(0, 3)).toEqual(["3.2.17", "3.2.16", "3.2.15"])
+    expect(versions.slice(0, 3)).toEqual(["3.2.18", "3.2.17", "3.2.16"])
+    const release3218 = currentVersionChangelog("3.2.18")[0]
+    expect(release3218.version).toBe("3.2.18")
+    expect(release3218.highlights.zh.join("\n")).toContain("Writing DNA 文风")
+    expect(release3218.highlights.zh.join("\n")).toContain("文风深度与模型")
+    expect(release3218.highlights.zh.join("\n")).toContain("分片按实际发送量")
+    expect(release3218.highlights.en.join("\n")).toContain("Writing DNA Style")
     const release3217 = currentVersionChangelog("3.2.17")[0]
     expect(release3217.version).toBe("3.2.17")
     expect(release3217.highlights.zh.join("\n")).toContain("大纲计划模式")

+ 20 - 0
src/lib/changelog.ts

@@ -7,6 +7,23 @@ interface ChangelogEntry {
   };
 }
 
+const THREE_POINT_TWO_EIGHTEEN_CHANGELOG: ChangelogEntry = {
+  version: "3.2.18",
+  date: "2026-09-16",
+  highlights: {
+    en: [
+      "[Writing DNA Style] Book-analysis style extraction is now layered DNA distillation (L1-L6). Writing injects the integrated DNA; old profiles migrate in place.",
+      "[Style Depth and Model] The analysis dialog can pick full or fast depth and a per-task model. Pause/resume and parallel tasks keep the model they started with.",
+      "[Chunk Budget Matches Sends] Oversized chapters count as 12,000 characters when planning chunks. The dialog shows the real chunk count and warns which chapters will be truncated.",
+    ],
+    zh: [
+      "【Writing DNA 文风】拆书文风改为分层蒸馏(L1-L6),写作时注入 integrated DNA;旧 profile 原地迁移",
+      "【文风深度与模型】分析弹窗可选完整/快速深度,并按任务选择分析模型;暂停继续和并行任务沿用当初选的模型",
+      "【分片按实际发送量】超长章按每章 12,000 字计入预算,弹窗显示真实片数并提示哪些章会被截断",
+    ],
+  },
+};
+
 const THREE_POINT_TWO_SEVENTEEN_CHANGELOG: ChangelogEntry = {
   version: "3.2.17",
   date: "2026-09-16",
@@ -1549,6 +1566,8 @@ const CHANGELOG: ChangelogEntry[] = [
 ];
 
 export function currentVersionChangelog(version: string): ChangelogEntry[] {
+  if (version === THREE_POINT_TWO_EIGHTEEN_CHANGELOG.version)
+    return [THREE_POINT_TWO_EIGHTEEN_CHANGELOG];
   if (version === THREE_POINT_TWO_SEVENTEEN_CHANGELOG.version)
     return [THREE_POINT_TWO_SEVENTEEN_CHANGELOG];
   if (version === THREE_POINT_TWO_SIXTEEN_CHANGELOG.version)
@@ -1688,6 +1707,7 @@ export function currentVersionChangelog(version: string): ChangelogEntry[] {
 
 export function allChangelog(): ChangelogEntry[] {
   return [
+    THREE_POINT_TWO_EIGHTEEN_CHANGELOG,
     THREE_POINT_TWO_SEVENTEEN_CHANGELOG,
     THREE_POINT_TWO_SIXTEEN_CHANGELOG,
     THREE_POINT_TWO_FIFTEEN_CHANGELOG,