Forráskód Böngészése

chore: bump version to 3.0.0, remove Linux from CI, add 3.0.0 changelog

Mochocyang 2 hónapja
szülő
commit
1f818d0757
5 módosított fájl, 33 hozzáadás és 167 törlés
  1. 0 164
      .github/workflows/build.yml
  2. 1 1
      package.json
  3. 1 1
      src-tauri/Cargo.toml
  4. 1 1
      src-tauri/tauri.conf.json
  5. 30 0
      src/lib/changelog.ts

+ 0 - 164
.github/workflows/build.yml

@@ -4,12 +4,6 @@ on:
   push:
     tags:
       - "v*"
-  workflow_dispatch:
-    inputs:
-      release_tag:
-        description: "目标 Release Tag(手动触发时上传 Linux 版本到指定 Release)"
-        required: true
-        default: "v2.2.31"
 
 permissions:
   contents: write
@@ -60,17 +54,6 @@ jobs:
               src-tauri/target/**/release/bundle/dmg/*.dmg
               release-assets/*.app.tar.gz
 
-          - label: linux-x64
-            display_label: Linux x64
-            runner: ubuntu-22.04
-            rust_targets: ""
-            tauri_args: "--bundles appimage,deb"
-            pdfium_asset: "pdfium-linux-x64.tgz"
-            pdfium_library: "libpdfium.so"
-            artifact_globs: |
-              src-tauri/target/**/release/bundle/appimage/*.AppImage
-              src-tauri/target/**/release/bundle/deb/*.deb
-
     steps:
       - name: Checkout
         uses: actions/checkout@v4
@@ -90,24 +73,6 @@ jobs:
         with:
           workspaces: src-tauri
 
-      - name: Install Linux dependencies
-        if: runner.os == 'Linux'
-        run: |
-          sudo apt-get update
-          sudo apt-get install -y \
-            build-essential \
-            curl \
-            file \
-            libayatana-appindicator3-dev \
-            librsvg2-dev \
-            libssl-dev \
-            libwebkit2gtk-4.1-dev \
-            libxdo-dev \
-            patchelf \
-            protobuf-compiler \
-            wget \
-            xdg-utils
-
       - name: Install macOS dependencies
         if: runner.os == 'macOS'
         run: brew install protobuf
@@ -252,24 +217,6 @@ jobs:
           fi
           tar -C "$(dirname "$app_path")" -czf "release-assets/QMaiWrite_${version}_${system_label}.app.tar.gz" "$(basename "$app_path")"
 
-      - name: Package Linux release assets
-        if: runner.os == 'Linux'
-        shell: bash
-        run: |
-          set -euo pipefail
-          version="$(node -p "require('./package.json').version")"
-          mkdir -p release-assets
-
-          appimage_path="$(find src-tauri/target -path '*/release/bundle/appimage/*.AppImage' -print -quit)"
-          if [ -n "$appimage_path" ]; then
-            cp "$appimage_path" "release-assets/QMaiWrite_${version}_linux_X64.AppImage"
-          fi
-
-          deb_path="$(find src-tauri/target -path '*/release/bundle/deb/*.deb' -print -quit)"
-          if [ -n "$deb_path" ]; then
-            cp "$deb_path" "release-assets/QMaiWrite_${version}_linux_X64.deb"
-          fi
-
       - name: Attach macOS assets to release
         if: runner.os == 'macOS'
         env:
@@ -277,13 +224,6 @@ jobs:
         shell: bash
         run: gh release upload "${{ github.ref_name }}" release-assets/QMaiWrite_*_macOS_* --clobber
 
-      - name: Attach Linux assets to release
-        if: runner.os == 'Linux'
-        env:
-          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
-        shell: bash
-        run: gh release upload "${{ github.ref_name }}" release-assets/QMaiWrite_*_linux_* --clobber
-
       - name: Build Windows portable
         if: matrix.label == 'windows-x64'
         shell: pwsh
@@ -315,107 +255,3 @@ jobs:
           path: ${{ matrix.artifact_globs }}
           if-no-files-found: warn
           retention-days: 14
-
-  build-linux-only:
-    name: Build Linux x64 (manual)
-    if: github.event_name == 'workflow_dispatch'
-    runs-on: ubuntu-22.04
-    env:
-      CARGO_PROFILE_RELEASE_LTO: "false"
-      CARGO_PROFILE_RELEASE_CODEGEN_UNITS: "16"
-      CARGO_PROFILE_RELEASE_OPT_LEVEL: "1"
-    steps:
-      - name: Checkout
-        uses: actions/checkout@v4
-
-      - name: Install Rust stable
-        uses: dtolnay/rust-toolchain@stable
-
-      - name: Rust cache
-        uses: Swatinem/rust-cache@v2
-        with:
-          workspaces: src-tauri
-
-      - name: Install Linux dependencies
-        run: |
-          sudo apt-get update
-          sudo apt-get install -y \
-            build-essential \
-            curl \
-            file \
-            libayatana-appindicator3-dev \
-            librsvg2-dev \
-            libssl-dev \
-            libwebkit2gtk-4.1-dev \
-            libxdo-dev \
-            patchelf \
-            protobuf-compiler \
-            wget \
-            xdg-utils
-
-      - name: Install PDFium binary
-        shell: bash
-        run: |
-          set -euo pipefail
-          mkdir -p "$RUNNER_TEMP/pdfium" src-tauri/pdfium
-          curl -L --fail --retry 5 --retry-delay 2 \
-            -o "$RUNNER_TEMP/pdfium.tgz" \
-            "https://github.com/bblanchon/pdfium-binaries/releases/latest/download/pdfium-linux-x64.tgz"
-          tar -xzf "$RUNNER_TEMP/pdfium.tgz" -C "$RUNNER_TEMP/pdfium"
-          cp "$RUNNER_TEMP/pdfium/lib/libpdfium.so" "src-tauri/pdfium/libpdfium.so"
-          ls -la src-tauri/pdfium
-
-      - name: Setup Node.js
-        uses: actions/setup-node@v4
-        with:
-          node-version: 20
-          cache: npm
-
-      - name: Install frontend dependencies
-        run: npm ci
-
-      - name: Build Tauri app
-        env:
-          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
-          TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }}
-          TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }}
-        run: npx tauri build --bundles appimage,deb
-
-      - name: Package Linux release assets
-        shell: bash
-        run: |
-          set -euo pipefail
-          version="$(node -p "require('./package.json').version")"
-          mkdir -p release-assets
-
-          appimage_path="$(find src-tauri/target -path '*/release/bundle/appimage/*.AppImage' -print -quit)"
-          if [ -n "$appimage_path" ]; then
-            cp "$appimage_path" "release-assets/QMaiWrite_${version}_linux_X64.AppImage"
-          fi
-
-          deb_path="$(find src-tauri/target -path '*/release/bundle/deb/*.deb' -print -quit)"
-          if [ -n "$deb_path" ]; then
-            cp "$deb_path" "release-assets/QMaiWrite_${version}_linux_X64.deb"
-          fi
-
-      - name: Upload to target release
-        env:
-          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
-        shell: bash
-        run: |
-          set -euo pipefail
-          TAG="${{ inputs.release_tag }}"
-          echo "上传到 Release: $TAG"
-          gh release upload "$TAG" release-assets/QMaiWrite_*_linux_* --clobber
-          echo "上传完成!"
-
-      - name: Upload bundles as workflow artifacts
-        if: always()
-        uses: actions/upload-artifact@v4
-        with:
-          name: qmai-linux-x64
-          path: |
-            src-tauri/target/**/release/bundle/appimage/*.AppImage
-            src-tauri/target/**/release/bundle/deb/*.deb
-          if-no-files-found: warn
-          retention-days: 14

+ 1 - 1
package.json

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

+ 1 - 1
src-tauri/Cargo.toml

@@ -1,6 +1,6 @@
 [package]
 name = "qmai"
-version = "2.2.37"
+version = "3.0.0"
 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": "2.2.37",
+  "version": "3.0.0",
   "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_ZERO_CHANGELOG: ChangelogEntry = {
+  version: "3.0.0",
+  date: "2026-07-22",
+  highlights: {
+    en: [
+      "AI Chat: Real-time streaming with typewriter effect, visible thinking process, tool call chain visualization, plan-before-write mode, @reference system, and 20+ built-in tools.",
+      "AI Outline: Multi-agent collaborative generation with 14-stage workflow, quality check loop, intelligent save classification, and progressive stage tracking.",
+      "De-AI: Batch parallel processing for multiple chapters, three-column review panel (chapter list / original / revised), breakpoint resume, and persistent task storage.",
+      "Brand Visual: Complete 'Cangzhu' brand visual system with signature teal-green color, redesigned welcome page, chat panel styling, and sidebar optimization.",
+      "Context & Memory: CJK-aware context budgeting, three-layer cache system, and user memory system that learns and remembers your writing preferences.",
+      "Export Center: Unified export for chapters/outlines/dismantling/simulations/soul works, supporting TXT and DOCX (self-implemented, no external dependencies).",
+      "Story Simulation: Multi-agent blackboard collaboration, director agent for plot quality evaluation, rumor system, and external tool (MCP) connection support.",
+      "@Reference: Input @ to reference chapters, memories, outlines, simulations, skills, and chat history across both AI Chat and AI Outline.",
+    ],
+    zh: [
+      "AI 对话全面升级:逐字流式输出、思考过程实时可见、工具调用链可视化、写前计划确认、@引用功能,内置 20+ 工具,AI 不再是黑盒",
+      "AI 大纲重构:多智能体协作生成,14 阶段工作流,质量检查闭环,智能分类保存,渐进式阶段追踪",
+      "去 AI 味升级:批量并行处理多章节,三栏审核面板(章节列表/原文/修改后),断点恢复,任务进度持久化",
+      "品牌视觉系统化:苍竹青绿色品牌风格,欢迎页、聊天面板、侧边栏全新设计",
+      "上下文与记忆:中英文自适应上下文预算,三层缓存加速,用户记忆系统自动学习写作偏好",
+      "统一导出中心:支持章节/大纲/拆书库/推演/灵魂作品导出,TXT 和 Word 双格式,完全自研无需安装 Word",
+      "剧情推演升级:多智能体黑板协作,导演智能体评估剧情质量,谣言系统,支持连接外部工具扩展能力",
+      "@ 引用功能:输入 @ 即可引用章节、记忆、大纲、推演、技能和对话历史,AI 对话和 AI 大纲均支持",
+    ],
+  },
+};
+
 const TWO_POINT_TWO_THIRTY_SEVEN_CHANGELOG: ChangelogEntry = {
   version: "2.2.37",
   date: "2026-07-15",
@@ -865,6 +892,8 @@ export const CHANGELOG: ChangelogEntry[] = [
 ];
 
 export function currentVersionChangelog(version: string): ChangelogEntry[] {
+  if (version === THREE_POINT_ZERO_ZERO_CHANGELOG.version)
+    return [THREE_POINT_ZERO_ZERO_CHANGELOG];
   if (version === TWO_POINT_TWO_THIRTY_SEVEN_CHANGELOG.version)
     return [TWO_POINT_TWO_THIRTY_SEVEN_CHANGELOG];
   if (version === TWO_POINT_TWO_THIRTY_SIX_CHANGELOG.version)
@@ -936,6 +965,7 @@ export function currentVersionChangelog(version: string): ChangelogEntry[] {
 
 export function allChangelog(): ChangelogEntry[] {
   return [
+    THREE_POINT_ZERO_ZERO_CHANGELOG,
     TWO_POINT_TWO_THIRTY_SEVEN_CHANGELOG,
     TWO_POINT_TWO_THIRTY_SIX_CHANGELOG,
     TWO_POINT_TWO_THIRTY_FIVE_CHANGELOG,