一天很快就过去了,你还记得自己今天经历了什么、是什么状态吗?
这是一个温柔的自我觉察小工具。当你愿意的时候,点一下此刻的状态(「猛猛干活」「被AI气死」「rua猫」……),它帮你悄悄记下来。日后回看,你会更懂自己。
菜单栏一个 🐱 图标,点开 → 选个状态 → 收起,整个过程一两秒。
我们每天都在经历各种状态,但它们大多悄无声息地溜走了。等回过神来,只记得"好像很忙",却说不清忙了什么、为什么累、什么时候其实很满足。
觉察,是改变的前提。 把那些值得留意的瞬间轻轻记下来,过段时间回看,你会看到自己真实的样子——而不是想象中的样子。
- ❌ 不是监控软件,更不是逼你打卡的"全景监狱"。
- ❌ 不要求你时时刻刻记录。它不追求"数据完整",只在你想记的时候记。
- ✅ 数据100% 存在你自己的设备上,不上传任何服务器。它只对你一个人负责。
漏记了一整个下午?完全没关系。这个工具的价值不在于"记全",而在于"那些你主动想记下来的瞬间"。
- 😣 难受 / 痛苦的时候:记一笔。日后回看,这些时刻往往最值得反思——是什么反复消耗你?
- 💪 认真投入 / 状态很好的时候:记一笔,给自己一个肯定。原来我也有这么多专注发光的时刻。
- 🌱 不止于工作:把状态词换成你自己的,它也能成为一本轻量的生活轨迹 / 心情日记。
记录之外,真正有意思的是回看:
- 今日时间线:把一天的状态画成彩色条带 + 时间轴,看看这天是怎么过来的。
- 星期 × 时段热力图:发现自己的规律——几点最容易进入心流?哪个时段总在内耗?
- 统计占比:本周 / 本月里,时间到底流向了哪儿。
每个状态都归属一个"大类",回看时一眼看清时间的去向:
| 大类 | 含义 | 颜色 |
|---|---|---|
| 🟢 心流产出 | 真正在创造价值(猛猛干活、激情学习) | 绿 |
| 🔴 内耗痛苦 | 消耗但没产出(痛苦面具、被AI气死、痛苦扯皮) | 红 |
| 🔵 恢复摸鱼 | 主动/被动充电(看猫发呆、rua猫) | 蓝 |
| 🟡 调节求助 | 想把状态扳回来(冷静、找ai开导) | 黄 |
状态词和分类都可以自己改。默认这套是"打工人"视角,你完全可以把它变成属于你自己的语言。
- 快速记录:菜单栏 🐱 图标点一下弹出面板 → 选状态 → 自动记录时间并收起;也能用全局快捷键唤起。
- 一句备注(可选):在「今天刚刚记的」或时间线里点任意一条,就能补一句当时的原因(比如「又被 XX 需求反复改」);不写也完全不影响,回看时却能看懂自己为什么烦。
- 今日时间线:彩色条带 + 时间轴列表,可前后翻天。
- 统计:本周 / 本月 / 全部;心流占比、内耗占比、四大类占比图、星期 × 时段热力图、各状态排行。
- 完全可定制:自定义增删状态词(emoji 下拉选择);类型(大类)也能自由增删、改名、换色;导入 / 导出 / 清空数据。
- 两种形态:浏览器直接打开的 Web 版,和基于 Electron 的 macOS 菜单栏 App(弹出面板会随状态数量自适应高度,多了也能滚动)。
# 方式一:直接用浏览器打开 index.html
# 方式二:起一个本地静态服务器(推荐,避免某些浏览器的本地文件限制)
python3 -m http.server 8000
# 然后访问 http://localhost:8000npm install # 首次安装依赖
npm start # 启动;图标出现在 macOS 顶部菜单栏- 菜单栏 🐱 图标:左键点 → 在图标正下方弹出状态面板 → 点状态记录 → 面板自动收起。
- 全局快捷键
Cmd + Shift + Space:任何时候按一下弹出面板,选完即走(再按一次收起)。 - 完整视图(时间线 / 统计 / 设置):面板右上角「详情」按钮,或菜单栏图标右键 →「打开完整视图」。
- macOS 上是纯菜单栏应用(不占 Dock)。
Windows / Linux:系统托盘图标需要图标资源文件,暂未补;当前在这两个平台会直接打开完整窗口,菜单栏/托盘体验以 macOS 为准。
正式发布一律走打标签的方式,让 GitHub Actions 从这个被提交、打了标签的 commit 构建——这样产物永远对应仓库里的真实代码,杜绝"本地旧代码打了个旧包"的坑。
一条命令搞定(自动 patch 版本号 → 提交 → 打 tag → 推送,触发 CI):
npm run release # 0.4.0 → 0.4.1,并推送 v0.4.1 标签想自己控制版本号时,等价的手动写法:
npm version minor # 或 patch / major,会改 package.json 并打好 tag
git push --follow-tags推送标签后:
- 到 GitHub 仓库 → Actions 看 “Build Desktop Apps” 跑完(Mac / Windows / Linux 三平台并行)。
- 跑完后产物会自动挂到对应的 Release 上(
.dmg/.exe/.AppImage),文件名形如work-mood-tracker-0.4.1-arm64.dmg。 - 在任意机器上直接下载安装即可,连构建都不用。
也可在 Actions 里手动 “Run workflow” 只构建、不发版,产物在该次运行的 Artifacts 里下载。
git pull # ⚠️ 打包前务必先拉取最新代码,否则打的是旧代码
npm run dist # 为当前系统出安装包(Win→.exe / mac→.dmg / Linux→AppImage)注意:
.dmg一般需在 macOS 上构建,.exe在 Windows 上构建。本地打包最容易出现"忘了git pull、装上去发现没变化"的问题——所以发版请用上面的 tag 方式。
这不是真的损坏,而是 macOS Gatekeeper 对“未付费签名 + 从网上下载”的 App 的隔离机制(Apple 芯片上会显示“已损坏”)。把 App 拖进「应用程序」后,终端执行一次即可:
xattr -cr "/Applications/打工状态记录器.app"之后正常双击打开。(本项目对 macOS 做了 ad-hoc 签名,去掉隔离标记后即可运行;要彻底免这一步,需要 Apple 开发者账号做正式签名 + 公证。)
- 不上传任何服务器,全部存在本地。
- Web 版:存在浏览器
localStorage(键名work-mood-tracker:v1)。 - 桌面版:存成系统用户目录下的
data.json,方便备份 / 跨设备:- macOS:
~/Library/Application Support/work-mood-tracker/data.json - Windows:
%APPDATA%\work-mood-tracker\data.json - Linux:
~/.config/work-mood-tracker/data.json
- macOS:
- 首次启动桌面版时,会自动把旧的
localStorage数据迁移到data.json。 - 也可用「设置 → 导出 / 导入数据」手动搬运。
.
├── index.html # 页面结构
├── css/style.css # 样式(含菜单栏 popover / 完整窗口)
├── js/app.js # 全部逻辑(数据、渲染、交互、桌面模式)
├── electron/
│ ├── main.js # Electron 主进程:菜单栏图标、弹出面板、完整窗口、快捷键
│ └── preload.js # 安全桥接 window.desktop.*
├── package.json # 依赖与打包配置
└── README.md
- macOS 菜单栏 App:图标弹出面板、选完即走、全局快捷键
- 黄金时段分析:星期 × 时段热力图,看几点最容易进入「猛猛干活」
- 数据从 localStorage 升级到用户目录 JSON 文件(更好备份 / 跨设备)
- 类型(大类)可自由增删、改名、换色
- 弹出面板随状态数量自适应高度(多了可滚动)
- 给单条记录加一句备注(在「今天刚刚记的」/ 时间线里点条目即可补/改原因)
- Windows / Linux 托盘图标资源 + 同款 popover 体验
- 可选的定时轻提醒
这是一个开放的小工具,欢迎试用、提 Issue、提需求或 PR。如果它帮你更了解了自己一点点,那就值了。
MIT © Gygkimo95 — 自由使用、修改、分发。