Tauri 2 + Vue 3 + Vite 6 桌面应用,Rust workspace 含 13 个 crate (df-ai / df-storage / df-workflow / df-core / df-execute 等)。 核心能力:AI 聊天 agentic 循环(工具调用+人工审批)、工作流引擎、 任务/想法/项目/阶段管理、可追溯性,及配套前端组件。
1.2 KiB
1.2 KiB
Tauri IPC 模式
创建: 2026-06-10 | 状态: 初稿
概述
Tauri v2 的 IPC 机制是 DevFlow 前后端通信的核心桥梁。本文档描述 DevFlow 中 Tauri IPC 的设计模式。
当前状态
- Tauri Commands: 仅
greet示例命令 - 业务 IPC: 待实施
设计要点
待实施内容
- Command 定义 — 在
src-tauri/src/commands/下按模块组织 - 序列化约定 — Rust 结构体 derive
Serialize/Deserialize - 错误传递 —
Result<T, String>返回给前端 - 流式支持 — AI 输出、Shell 输出的流式推送
- 状态注入 — 通过
tauri::State共享 Rust 运行时状态
IPC 层次
Vue Component
→ Pinia Store (Action)
→ @tauri-apps/api (invoke)
→ Tauri Command (Rust)
→ Crate 业务逻辑
→ df-storage (SQLite)
命名约定
- Rust command:
#[tauri::command] fn get_projects(...) - 前端调用:
invoke("get_projects", { ... }) - Store action:
async fetchProjects()
相关文件
src-tauri/src/main.rs— Tauri 入口src-tauri/src/commands/— IPC 命令目录frontend/src/stores/— Pinia Store