竖直时间轴拖拽创建记录,支持标签分组、Markdown 备注、JSON 备份的桌面应用。
基于 Tauri v2 构建,Vue 3 + Vite + Pinia 前端,Rust 后端提供文件系统存取与窗口管理。
时间轴交互
- 竖直 24 小时时间轴,像素级精确定位
- 拖拽创建 / 调整时间块,右键多选批量操作
- 全键盘支持(方向键微调、Delete 删除、Ctrl+C/V 复制粘贴跨日期)
- N 键批量创建:格式化文本输入,
---分隔多块,标题/标签/时间/备注固定格式
标签系统
- 分组归类(如「自我评价」「正事」「生活」)
- 自定义颜色,多标签叠加
- 时间块透明度可调
备注 Markdown
- 支持粗体、斜体、删除线、行内代码、列表、标题
- 编辑区与预览区实时同步滚动
数据管理
- 所有数据存于浏览器 localStorage,刷新不丢失
- Tauri 桌面模式下自动备份到 AppData(JSON + 天级轮转,最多 4 份)
- 可自定义备份路径
- 导入 / 导出 JSON,文本导入 / 导出
- 日期段删除、全部删除
- 自动清理:设置保留最近 N 天数据,每天首次操作自动删除旧记录
窗口体验
- 无边框窗口模式(自定义最小化 / 最大化 / 关闭按钮)
- 窗口位置、大小、最大化状态记忆
- Header 空白区域可拖动窗口
- 自定义猫爪光标
其他
- 打开时自动滚到当前时间
- 默认时长、导出文件名时间戳、导出保存对话框等可配置
- 多弹窗 ESC 按 LIFO 栈逐一关闭,确认型弹窗拦截取消
- 帮助弹窗(
?键)
- 重构后到处文本的框有水平滚动条
- 列表自动续集 + 有序列表自动重排序
- 编辑器光标居中(打字/方向键/鼠标均触发)
- 编辑器 Enter 行中拆分(普通文本+列表)
- 设置项:"鼠标从'当前时间线'上方拖拽时最多拖至等于当前时间的地方"
- Markdown中使用
\进行转义 - 修改原有浏览器右键菜单
- Ctrl+Z 撤销
- 允许在body中使用右键框选一块区域来选中其中的时间块
- Ctrl+a选中当前页面所有时间块
- 左键单击空白处退出选择模式
-
-beta更新路线 - 程序热启动(API+托盘+快捷键)
- [ ]
| 层 | 技术 |
|---|---|
| 前端 | Vue 3 (Composition API) + Vite + Pinia |
| 后端 | Rust (Tauri v2) |
| 桌面 API | Tauri fs plugin + window-state plugin + window API |
| 存储 | localStorage(运行时)+ AppData JSON 备份(桌面) |
cd frontend && npm install && npm run dev浏览器打开 http://localhost:1420,所有功能可用(备份功能仅桌面模式支持)。
# 安装前端依赖
cd frontend && npm install && cd ..
# 安装 Tauri 依赖
npm install
# 开发模式(热重载)
npm run tauri dev
# 生产构建
npm run tauri build构建输出在 src-tauri/target/release/bundle/。
- Node.js >= 18
- Rust (stable)
- Windows: Visual Studio Build Tools(C++ 工作负载)
- macOS: Xcode Command Line Tools
- Linux:
webkit2gtk等系统库
Timelog/
├── frontend/ ← Vue 3 前端
│ ├── src/
│ │ ├── App.vue ← 壳组件
│ │ ├── style.css ← 全局 CSS
│ │ ├── constants.js ← 所有常量
│ │ ├── strings.js ← 界面文案(预留 i18n)
│ │ ├── components/ ← Vue 组件
│ │ ├── store/ ← Pinia store
│ │ └── utils/ ← 工具函数
│ └── package.json
├── src/ ← 旧版单文件(保留参考)
│ └── index.html
├── src-tauri/
│ ├── Cargo.toml
│ ├── tauri.conf.json
│ ├── capabilities/
│ └── src/
│ ├── lib.rs
│ └── main.rs
├── package.json
└── README.md
MIT
本软件基本由 AI 生成,暂无人工 Review。