Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TimingButton · 时间打点

English | 中文

本地优先的个人时间追踪系统:菜单栏一键打点 + 浏览器控制台查看、标记、统计。

为什么需要它?

一天结束,回想起来,却说不清时间都去哪儿了;或者在专心做一件事时,被临时冒出来的事情带走,回过头来主线工作已经被耽搁。这往往是专注力在悄悄流失。

TimingButton 就是为这个问题而生的。 它只有两个核心动作:

  1. 一键标记时间:按 ⌃⇧Space,开始一下、结束一下。全天的时间自动落在时间线上,晚上打开控制台,今天做了什么一目了然。
  2. 精简的 To-Do List:总有需要等待的时刻——Agent 在跑、电话在等、反馈没回。与其刷社交网络打发时间,不如在待办清单上点一下"+",把等待间隙的小任务记入当前时间段,碎片时间也用在了刀刃上。

时间不会停,但不必白白流走。它对我非常有效,说不定对您也一样。

一、如何安装

环境要求

  • macOS
  • Xcode Command Line Tools(xcode-select --install
  • Node.js ≥ 22.5(brew install node

安装

git clone https://github.com/sparklog/timing-button.git
cd timing-button/app
./install.sh

脚本自动完成:编译 Swift → 安装 web 依赖并构建前端 → 打包进应用 → 安装到 ~/Applications → 启动。

二、如何使用

  • 启动:双击 ~/Applications/TimingButton.app
  • 打点:按 ⌃⇧Space 开始/结束,菜单栏显示 ○ 空闲 / ⏱ 计时中
  • 控制台:点菜单栏图标 → "打开控制台",或访问 http://localhost:8787
    • 垂直时间线查看当天时间块,点击块可编辑(分类/内容/备注/已确认)
    • 分类实时汇总(进行中的块动态计入)、一键导出 CSV
  • 更新:重新运行 ./install.sh
  • 数据:保存在 ~/Documents/melonlab/10-TimeLog/time.db,可导出 time_log.csv

三、二次开发

  • 源码结构
    • app/main.swift:macOS 菜单栏应用(打点、直写 SQLite、托管本地服务)
    • web/server.js:Node 服务端(零运行时依赖,内置 node:sqlite)
    • web/src/:SolidJS + Vite 前端
    • app/install.sh:构建安装脚本
  • 前端开发模式cd web && npm run dev(Vite :5173,/api 代理到 :8787)
  • 数据结构blocks 表):date, start, end, duration_minutes, category, activity, note, source, confirmed
  • 数据目录:默认 ~/Documents/melonlab/10-TimeLog/,可用环境变量 TIMELOG_DIR 覆盖(应用与服务端通用)

About

A Mac app that improves time management and task tracking

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages