Skip to content

Repository files navigation

工作生活台——把今日计划、开发、健身、饮食和游戏放进同一张本机工作台,数据全部保存在自己电脑上

MIT License 需要 Node.js 22.5 或更高版本 零 npm 依赖 SQLite 本地存储

工作生活台

本地优先的个人工作生活管理应用:八个模块覆盖工作与生活,所有数据保存在你自己的电脑上——无需登录、无需联网、没有云端。

界面速览

首页总览——今日任务、快速备忘与各模块状态一览:

首页总览界面:左侧模块导航,右侧今日计划清单、快速备忘与五个模块摘要卡片

健身统计——训练次数柱状图与动作趋势(手写 SVG 图表,零依赖):

健身计划的训练记录页:近 6 个月训练次数柱状图与动作进步统计

快速开始

需要 Node.js ≥ 22.5(使用内置 node:sqlite,没有任何 npm 依赖,无需 npm install)。

双击 启动工作生活台.bat,或在命令行运行:

npm start

服务器启动后会自动打开浏览器访问 http://127.0.0.1:8734。如需修改端口:set PORT=9000 后再启动。

也可以直接双击 index.html 打开:此时无法连接本地服务器,自动退回浏览器本地存储模式。

八个模块

模块 管什么
首页总览 今日任务摘要、快速备忘、各模块最新状态
今日计划 按天安排任务,优先级与完成进度
开发工作 个人项目、步骤进度与项目笔记
咨询工作 咨询笔记、案例记录与知识沉淀
健身计划 每周训练计划、训练记录与重量趋势
饮食计划 每周吃什么、每日实际饮食
游戏娱乐 游戏库(在玩 / 想玩 / 已通关)与游玩时长
数据与设置 备份导入导出、外观设置、开机自启

数据如何保存

架构图:浏览器页面自动同步到本机 Node 服务器,服务器读写单文件 SQLite 数据库并定期快照备份;服务器不可用时修改暂存浏览器本地,恢复后按时间戳合并

  • 存储:Node 内置 node:sqlite,单文件数据库 data/wlapp.db(已加入 .gitignore,不会被提交),应用状态以键值形式保存。
  • 多标签同步:多个标签页同时打开时通过 BroadcastChannel 实时同步,正在编辑的页面不会被抢输入。
  • 离线合并:服务器不可用期间的修改保存在浏览器本地,恢复后按记录时间戳逐条合并(已知取舍:删除的记录在离线合并时可能“复活”)。
  • 自动备份:启动时、每次写入后(15 分钟节流)自动保存完整快照到 data/backups/,轮转保留最近 30 份;备份与数据库在同一块磁盘上,重要数据仍建议定期「导出备份」到其他位置。
  • 安全边界:只监听 127.0.0.1,局域网内其他设备无法访问;不返回任何跨域放行头;静态服务禁止访问 data/、node_modules/、.git 与隐藏文件(GET /data/wlapp.db 返回 403)。

统计回顾

  • 健身:「训练记录」页显示本周/本月训练次数与近 6 个月柱状图,每个动作有重量/次数趋势折线
  • 游戏:游玩记录可填写时长(分钟),按游戏汇总累计时长,并显示近 6 个月总时长柱状图
  • 图表为手写 SVG,零依赖、完全离线

系统与日志

  • 开机自启:「数据与设置 → 系统」一键开关;开启后在 Windows 启动文件夹创建 工作生活台-自启.vbs,登录后静默启动服务器,关闭即删除
  • 错误日志:未捕获异常、请求错误、同步失败写入 data/logs/app.log,超过 1MB 自动轮转保留 3 份

从旧版本迁移

从旧版本(纯 localStorage)迁移到 SQLite:

  1. 先启动服务器(双击 启动工作生活台.bat,保持窗口运行)
  2. 用旧方式打开 index.html,在「数据与设置」中「导出备份」得到 JSON 文件
  3. 在新地址 http://127.0.0.1:8734 的「数据与设置」中「导入备份」

也可以在浏览器访问 http://127.0.0.1:8734/migrate.html,把旧版浏览器本地数据一键写入 SQLite(必须通过服务器地址打开,直接双击文件无法写入数据库)。

测试

npm test

版本

  • V1.1(当前):安全加固、数据可靠性(多标签同步 / 离线合并 / 自动备份 / 版本迁移)、统计回顾、错误日志与开机自启
  • V1.0:八个模块 + SQLite 存储基线(见 PRD.md)

许可

MIT © Ageha6912 —— 可自由使用、修改与分发。

About

工作生活台 - 本地工作生活管理应用:今日计划、开发工作、咨询工作、健身、饮食、游戏娱乐,数据全部保存在本机(SQLite)

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages