mvsep-rs
mvsep-rs 在 1.2 版本中重构了 MVSep 后端,并同步更新了 Tauri 部分。仓库包含桌面 UI、Tauri command facade,以及从 test-api 抽取并稳定下来的 Rust API/后端能力:配置、算法缓存、上传下载、任务持久化和下载状态。
当前重写策略是以后端为主:已经迁移到新后端的领域,以新后端存储为准。旧前端存储只作为迁移和回滚辅助;如果同一个任务、历史记录或配置同时存在于旧存储和新后端中,除非某个迁移记录明确写了不同冲突规则,否则以新后端为准。
当前状态
manifest/rewrite-status.yaml中的所有迁移批次都已验证。- 项目版本已同步到
1.2.0,Tauri 部分使用 Tauri 2。 src/app/backend/gateway.ts是前端唯一允许导入 Tauri JavaScript API、调用invoke或调用listen的模块。- Tauri command 名称和进度事件名称保持稳定,后端实现细节通过
AppBackend替换。 - 配置、输出格式、算法缓存、上传/下载传输、活动任务和任务历史都已经放到后端 facade 后面。
- 后端路径由 Tauri 注入的 app config/data 路径解析,不再以进程 cwd、仓库根目录或旧程序本体相对路径为主线依据。
仓库结构
.
├── src/ # TypeScript + Vite 前端
├── src-tauri/ # Tauri 桌面后端和 AppBackend facade
├── test-api/ # 抽取的 Rust MVSep API/后端层和 CLI 测试入口
├── docs/ # 架构、使命、ADR 和文档索引
├── manifest/ # 机器可读的迁移批次状态
├── rewrite-records/ # 持久化迁移经验和边界决策
├── reviews/ # 各批次审查报告
├── doc/ # 本地 MVSep API 笔记
└── scripts/ # 构建脚本
快速开始
安装 JavaScript 和 Rust 依赖后,可以启动前端或 Tauri 应用:
构建前端:
构建 AppImage:
运行独立 Rust CLI 测试入口:
验证命令
后端重写相关改动完成后,使用这些基线检查:
&&
&&
&&
&&
前端必须保持 Tauri API 访问集中化:
严格结果应该只有 src/app/backend/gateway.ts 命中。
路径规则
后端路径从 Tauri app config/data 目录注入。主要数据库位于注入的 app data 目录下:
mvsep.dbuser_config.dbtasks.db
上传源文件路径保持用户选择的本地文件路径。下载输出目录可以是绝对路径;./output 这类相对输出路径会解析到注入的 app data 目录下,不会解析到旧后端二进制位置、仓库根目录或当前 cwd。
下载产物的本地路径记录保存在新后端任务/历史数据中。前端应该读取和展示这些后端记录,不要从旧 localStorage 重新推导下载路径。
文档入口
docs/INDEX.md: 智能体和维护者的主入口。docs/mission.md: 目标、非目标和重写策略。docs/architecture/backend-rewrite.md: 已接受的后端重写架构。manifest/rewrite-status.yaml: 批次状态和审查门。CONTEXT.md: 项目术语表。Note.md: 人类工作笔记和长期偏好。RESOURCES.md: 高信度资料和借鉴边界。rewrite-records/: 非显然迁移决策和经验。reviews/: 行为、追踪、异步、风格、数据和 UX 审查报告。
生成文件
dist/、node_modules/ 和 Vite 缓存都是本地生成物,不属于源码提交范围。需要时从 package-lock.json 和源码重新生成。
许可证
Apache License 2.0