本地运行的桌面活动记录助手。每 20 秒自动截屏,用本机 Ollama 上的 qwen3-vl:8b-instruct 分析「你正在做什么」,再逐层汇总成十分钟片段、每日日记和多维度看板,并支持基于自己记录的问答。
所有截图、分析结果都只存在本机磁盘,除了访问本地 127.0.0.1:11434 的 Ollama 外不产生任何网络请求。
- 采集:每 20 秒截取主屏,保存 PNG,交给视觉模型输出 5 句简短结论
- 十分钟汇总:结合上一个十分钟的结果,结构化输出项目名称、活动分类(娱乐/工作/学习/社交)、约千字描述、软件列表、可能遗漏的待办
- 日记:对某一天的所有十分钟汇总做二阶汇总,产出简短总结、三件主要事项、高光、待办、优化建议、温馨提示
- 动态:十分钟粒度的活动热力图 + 可无限滚动的时间线,支持按项目 / 软件 / 日期筛选
- 看板:按天/周/月/年查看 KPI、分类占比、时间趋势、软件排名、项目专注时长、24 小时与星期分布、待办清单
- 问答:模型自行决定检索哪种记录、什么关键词与时间范围,最多检索 3 轮后基于命中片段作答
- 未处理的时间段和日期会在应用运行时自动排队补跑,UI 上有进度徽标
- Node.js 18+(开发运行)
- Ollama 运行在
127.0.0.1:11434 - 已拉取视觉模型:
ollama pull qwen3-vl:8b-instruct模型地址与名称可以在应用「概览」页里改。Ollama 未启动时截图仍会正常保存,分析与汇总会标记为失败并在之后自动重试。
npm install
npm startnpm start 通过 scripts/start.js 启动,会清掉某些终端注入的 ELECTRON_RUN_AS_NODE(该变量会让 Electron 退化成纯 Node 运行)。
如果 Electron 二进制下载失败,可指定镜像:
# PowerShell
$env:ELECTRON_MIRROR="https://npmmirror.com/mirrors/electron/"; npm installnpm run package产物在 dist/LifeLens-win32-x64/LifeLens.exe,免安装目录,可自行创建桌面快捷方式。图标源文件在 build/(icon.ico 用于 exe,icon.png 用于窗口与托盘)。
数据目录为 %APPDATA%\lifelens\data(应用内可一键打开),按月分文件夹:
2026-07/
screenshots/2026-07-30_16-26-47.png # 截图
2026-07-30_16.json # 按小时的截图分析记录
summaries/2026-07-30.json # 当天所有十分钟汇总
diaries/2026-07-30.json # 当天日记
单条截图记录包含时间、图片绝对路径与相对路径、5 句活动结论、状态与错误信息;十分钟汇总包含项目、分类、描述、软件、待办与来源截图列表。
配置存在 %APPDATA%\lifelens\config.json(采集间隔、Ollama 地址、模型、截图宽度、补跑回溯天数)。
src/
main.js # 主进程:窗口、托盘、IPC 接线
capture.js # desktopCapturer 截屏
recorder.js # 20 秒采集循环(串行,避免推理任务堆积)
summarizer.js # 十分钟汇总队列
diarist.js # 日记生成队列
qa.js # 问答的检索-回答循环
ollama.js # 所有模型调用与 JSON Schema 约束
storage.js # 目录结构、读写、检索与统计聚合
config.js # 配置读写
renderer/ # 界面(液体玻璃风格,无前端框架与图表库)
界面为原生 HTML/CSS/JS,图表与日历均手写 SVG/DOM,未引入任何运行时依赖。
- 只截取主显示器;多屏环境下其他屏幕不会被记录
- 看板时间以「一个十分钟槽 = 10 分钟」计算,采集暂停或关机的时段不计入
- 8B 视觉模型在 CPU 上单张推理可能超过 20 秒,此时下一次采集会自动延后而不是并发执行
- 关闭窗口会缩到系统托盘继续采集,完全退出请用托盘菜单