Eileen'blog

起飞助手:隐私优先的个人行为记录与分析应用

2026-08-02T14:30:00 软件

起飞助手:隐私优先的个人行为记录与分析应用

起飞助手(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 服务后访问本地地址。

使用教程

第一次使用

  1. 打开在线 Web 版,或安装 Android APK。
  2. 进入“设置”,先选择语言、主题和需要显示的统计项。
  3. 按自己的记录方式维护媒介和标签;不需要的默认项目可以隐藏或删除。
  4. 返回添加记录页面,选择实时计时或手动补录。
  5. 保存一条测试记录,打开历史界面确认内容,再到分析界面查看统计结果。

日常记录流程

实时使用时,在添加记录界面点击开始,结束后补充媒介、标签、评分和备注并保存。需要补记时,直接输入发生时间和持续时长,不必为了补录重新启动计时器。

一段时间后,可以先在历史界面检查是否有重复或错误记录,再进入分析界面选择日、周、月或年视图。分析结果适合用来观察自己的习惯和变化,不建议用单次结果进行过度判断。

数据备份与迁移

在设置界面导出 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 应用的本地存储中,但本地存储并不等同于绝对安全:设备上的其他用户、浏览器扩展、系统备份或恶意软件仍可能访问设备数据。请使用设备锁屏,不要在公共电脑上留下敏感记录,并在共享设备上使用前确认浏览器配置文件。

项目仅供开源学习和非商业使用。使用前请确认自己符合当地法律法规和应用的年龄要求,并尊重网络内容的版权、服务条款与隐私边界。