面向通用实验记录场景的本地电子实验记录本(ELN)桌面应用。
Labra 是一个本地优先的通用实验记录工具,用来管理实验记录、笔记、待办、统计和报告预览。前端采用 React + TypeScript,桌面端能力由 Tauri + Rust 提供。
它适合用于:
- 创建和管理本地实验记录
- 按模板填写不同类型的实验信息
- 记录实验目的、原理、材料、步骤和结果
- 添加实验图片与分析图集
- 预览、导出和备份实验记录
- 支持本地登录、注册和密码找回
- 支持记住登录状态
- 用户数据保存在本地环境中
- 支持从空白记录或模板新建实验记录
- 支持标题、分类、标签、实验时间和正文信息
- 支持实验目的、实验原理、仪器材料、实验步骤和结果摘要
- 支持记录列表、搜索、分类和批量选择
- 支持添加实验分析图
- 支持记录编辑和报告预览两种查看方式
- 支持导出 HTML、Markdown、JSON、PDF 和 Word 风格报告
- 使用 Tauri 桌面端保存本地数据
- 支持备份导入和导出
- 支持设置主题、界面样式和应用偏好
| 模块 | 技术 |
|---|---|
| 桌面框架 | Tauri 2 |
| 前端 | React 18、TypeScript、Vite |
| 后端 | Rust、Tauri Commands |
| 数据库 | SQLite(rusqlite bundled) |
| 图表 | Plotly.js |
| 表格解析 | xlsx |
| 富文本 | TipTap |
| 动效与图标 | Framer Motion、Lucide React |
| 导出 | html2pdf.js、自定义 HTML / Markdown / JSON 报告生成 |
请先安装:
- Node.js 18+
- npm
- Rust stable
- Tauri 2 所需系统依赖
npm installnpm run devnpm run tauri devnpm run buildnpm run build:win构建产物会由 Tauri 输出到 src-tauri/target/release/bundle/ 目录下。
应用首次初始化时会创建一个本地演示账号:
| 字段 | 值 |
|---|---|
| 用户名 | test |
| 密码 | test123 |
| 安全问题答案 | demo |
演示账号仅用于本地体验。正式使用时建议注册自己的本地账号。
.
├── src/ # React 前端源码
│ ├── App.tsx # 主应用、工作台、记录、笔记、导出逻辑
│ ├── GeistTemplate.tsx # 极简 UI 模板组件
│ ├── NoteRichEditor.tsx# 富文本笔记编辑器
│ ├── lib/ # Excel、图表、拟合、报告、认证等工具
│ └── styles.css # 全局样式
├── src-tauri/ # Tauri / Rust 后端
│ ├── src/ # SQLite、文件存储、Trace / XDAT 读取命令
│ ├── icons/ # 应用图标
│ └── tauri.conf.json # Tauri 应用配置
├── package.json # 前端依赖与脚本
└── README.md
| 命令 | 说明 |
|---|---|
npm run dev |
启动 Vite 开发服务器 |
npm run build |
TypeScript 检查并构建前端 |
npm run preview |
预览前端构建结果 |
npm run tauri dev |
启动 Tauri 桌面开发模式 |
npm run build:win |
构建 Windows NSIS 安装包 |
Labra 采用本地优先设计:
- 实验记录由 Tauri 后端写入本地 SQLite 数据库
- 关联文件路径保存在记录中,文件可直接通过系统默认软件打开
- 图像资料可保存为 Data URL,便于随记录导出
- 设置页提供备份导入 / 导出能力
建议在重要实验节点定期导出备份文件。
- 通用实验记录管理
- 样品测试流程记录
- 日常实验室 ELN 管理
- 本地化实验数据索引
- 实验报告整理与归档
- 轻量级个人科研工作台
Made for local-first lab notebooks.
