起飞助手:隐私优先的个人行为记录与分析应用
起飞助手:隐私优先的个人行为记录与分析应用
起飞助手(Self-Care Tracker)是一款面向 18 岁以上成年人的个人行为记录工具。它把计时、手动补录、历史查询、数据分析和本地数据管理放在同一个界面中,适合希望通过记录了解自己节奏的人使用。
应用默认将记录保存在当前设备中,不要求注册账号,也不依赖云端同步。这里的“分析”只用于个人自我观察,不构成医疗、心理治疗或诊断建议。如果记录内容让你感到困扰,建议寻求专业人士帮助。
在线使用与下载
Web 版可以直接在现代浏览器中打开,也可以通过浏览器的“添加到主屏幕”安装为 PWA。APK 适用于 Android 手机和平板;如果 Android 提示禁止安装未知来源应用,需要在系统设置中为当前安装来源临时开启权限。
Web 导出包适合需要离线保存或本地部署的用户。下载后解压,在包含 index.html 的目录中启动静态 Web 服务即可;不要直接双击 HTML 文件,因为浏览器的 file: 安全策略可能影响 Service Worker、模块资源或部分本地能力。
软件界面的作用
添加记录:完成一次记录
添加记录是应用的主要入口,可以通过计时器记录开始和结束时间,也可以在事后手动补录。记录表单支持填写以下内容:
- 日期和时间
- 持续时长
- 记录媒介
- 一个或多个自定义标签
- 满意度评分
- 备注
计时器适合实时使用;手动补录适合整理此前遗漏的内容。媒介和标签都可以在设置中维护,能够按照自己的习惯调整名称。
历史记录:查找、编辑和删除
历史界面按时间展示已有记录,并提供日历视图。点击某条记录可以查看完整信息、修改错误内容,或删除不再需要的记录。历史界面解决的是“我记录过什么”和“某一段时间发生了什么”这两个问题,不需要连接服务器就可以工作。
数据分析:把记录变成趋势
数据分析界面用于查看聚合结果,包括:
- 总次数和平均时长
- 最长、最短时长
- 一段时间内的频率
- 最长间隔或禁欲天数
- 按日、周、月、年分组的柱状图
- 媒介或标签占比饼图
- 随时间变化的折线图
分析范围和统计项可以自定义。建议先选择一个明确的时间范围,再结合趋势观察变化,不要把单日数据当成结论。
设置:管理数据和外观
设置界面集中管理应用的个性化选项,包括中英文切换、浅色/深色主题、自定义颜色与界面密度、圆角、阴影、动画、字号、间距、导航栏位置和首页布局。
这里还可以维护媒介、标签和统计项,导入或导出 JSON、CSV、Excel 数据,以及单独导入或导出外观设置。需要清空某个范围的数据时,应先使用导出功能保留备份。
JM 漫画书架:保存网页入口
博客 Web 版的 JM 漫画书架采用“网页入口”模式,并固定使用简洁的标题列表。书架不显示漫画封面、章节数量或本地阅读内容,只保留书目标题;用户可以批量输入 JM 编号,应用为每个编号生成对应的漫画页面:
https://comic18j-jobi.me/album/{漫画编号}
示例编号:JM350234,对应页面为 https://comic18j-jobi.me/album/350234。
列表中的链接需要由用户先点击验证。确认页面可以打开后,勾选对应条目并加入书架。加入书架的条目只保存编号、标题和网页地址,不抓取漫画图片,也不在博客中预览漫画;点击书架条目会在新页面中打开对应的网页,由目标网站负责后续的查看、登录和下载。
本地导入的 PDF 仍然保留本地阅读功能。两类条目分别处理:网页条目打开外部页面,本地 PDF 条目使用应用内阅读器。博客部署在 Cloudflare Pages 上,因此不需要运行原项目的 Express 代理,也不会把第三方漫画内容经过博客服务器转发。
如果要使用原项目完整的漫画 API 搜索、图片下载和本地 PDF 阅读流程,请下载 Web 包或获取源码,在原项目的 web 目录启动 Express 服务后访问本地地址。
使用教程
第一次使用
- 打开在线 Web 版,或安装 Android APK。
- 进入“设置”,先选择语言、主题和需要显示的统计项。
- 按自己的记录方式维护媒介和标签;不需要的默认项目可以隐藏或删除。
- 返回添加记录页面,选择实时计时或手动补录。
- 保存一条测试记录,打开历史界面确认内容,再到分析界面查看统计结果。
日常记录流程
实时使用时,在添加记录界面点击开始,结束后补充媒介、标签、评分和备注并保存。需要补记时,直接输入发生时间和持续时长,不必为了补录重新启动计时器。
一段时间后,可以先在历史界面检查是否有重复或错误记录,再进入分析界面选择日、周、月或年视图。分析结果适合用来观察自己的习惯和变化,不建议用单次结果进行过度判断。
数据备份与迁移
在设置界面导出 JSON、CSV 或 Excel 文件,建议在更换设备、清理浏览器数据或进行大范围编辑前先备份。导入数据前应确认文件来源和格式,必要时先在新浏览器配置文件中试导入,避免覆盖现有数据。
浏览器 Web 版和 Android APK 使用的是不同设备上的本地存储,它们不会自动同步。若需要迁移记录,应在旧设备导出,再在新设备导入。
软件用处与适用场景
起飞助手适合以下场景:
- 希望用更结构化的方式进行个人行为记录;
- 想查看一段时间内的频率、时长和标签分布;
- 需要离线使用,并希望记录留在自己的设备上;
- 需要把记录导出为 JSON、CSV 或 Excel 进行进一步整理;
- 希望使用同一套 Web 界面,同时获得 Android APK 和 PWA 版本。
它不是社交应用、在线问诊平台或云端健康档案系统,也不提供账号体系和跨设备自动同步。软件的重点是本地记录、可视化观察和可控的数据导出。
技术栈
| 部分 | 技术 | 作用 |
|---|---|---|
| 页面结构 | HTML | 提供应用容器、表单、导航和可访问的语义结构 |
| 界面样式 | CSS | 实现响应式布局、主题、卡片、图表容器和移动端适配 |
| 应用逻辑 | 原生 JavaScript | 管理页面渲染、表单交互、记录和分析逻辑 |
| 离线能力 | PWA / Service Worker | 缓存静态资源,在合适的环境中支持离线打开 |
| Android 打包 | Capacitor / Android WebView | 将同一套 Web 应用封装为 Android APK |
| 记录存储 | localStorage | 保存记录、主题、语言和一般设置 |
| 书架存储 | IndexedDB | 保存书架元数据、网页地址,以及原应用模式下的图片和 PDF |
| 图像与导出 | Canvas API、html2canvas、pdf-lib、PDF.js | 生成截图、制作 PDF 和在浏览器中阅读 PDF |
| 数据安全辅助 | CryptoJS | 为漫画数据处理流程提供加密相关能力 |
| 二维码 | qrcode.js | 生成本地分享或导入导出流程所需的二维码 |
| 本地服务 | Express.js | 原项目开发环境中的 JMComic API 代理和资源处理服务 |
技术架构
应用采用“单页 Web 应用 + 本地存储 + 可选本地服务”的结构:
Web / PWA 单页应用
├─ 添加记录
├─ 历史记录
├─ 数据分析
├─ 设置
└─ JM 漫画书架
↓
app.js + styles.css
├─ localStorage:记录、主题、语言、设置
├─ IndexedDB:网页地址、书架元数据,以及本地模式的图片/PDF
├─ Canvas / PDF 工具:截图、生成和阅读
└─ Service Worker:静态资源缓存
↓
Capacitor Android WebView
普通记录功能不需要后端。页面读取本地状态后生成历史列表和分析图表,用户的操作再写回浏览器存储。Android 版本由 Capacitor 把同一套 Web 文件放进 WebView,因而 Web 与 APK 共享主要界面逻辑。
博客 Web 版的网页书架链路是:
批量输入 JM 编号
↓
生成 https://comic18j-jobi.me/album/{id}
↓
用户点击链接确认可访问
↓
网页地址保存到 IndexedDB
↓
点击书架条目后在新页面打开
原项目的本地/Android 模式仍保留完整漫画处理链路:
书架界面
↓
Express /api/jm/* 代理
↓
JMComic API 与图片 CDN
↓
图片下载、解密/反混淆和 PDF 处理
↓
IndexedDB 本地保存与阅读
博客 Web 版不运行这条 Express 代理链路。要完整使用原项目的漫画 API、图片下载和本地 PDF 阅读流程,需要在本地运行原项目的 Web 服务:
cd C:\Eileensass\Self-Pleasure-Tracker\web
npm install
npm start
原项目的 Android 构建流程如下:
cd C:\Eileensass\Self-Pleasure-Tracker\apk
npx cap sync android
cd android
.\gradlew.bat assembleRelease
编辑功能时应优先修改 C:\Eileensass\Self-Pleasure-Tracker\web,Android 工程中的 apk/www 是同步后的副本。当前博客接入的是项目根目录提供的 v1.0.0 APK 和 Web 导出包。
隐私与使用边界
应用的记录、设置和书架数据默认保存在当前浏览器或 Android 应用的本地存储中,但本地存储并不等同于绝对安全:设备上的其他用户、浏览器扩展、系统备份或恶意软件仍可能访问设备数据。请使用设备锁屏,不要在公共电脑上留下敏感记录,并在共享设备上使用前确认浏览器配置文件。
项目仅供开源学习和非商业使用。使用前请确认自己符合当地法律法规和应用的年龄要求,并尊重网络内容的版权、服务条款与隐私边界。