开源的时间跟踪工具TimeTagger

简介

什么是 TimeTagger ?

TimeTagger 是一个开源的时间跟踪工具,旨在帮助用户记录和分析他们的时间使用情况。它提供了一个互动的用户界面和强大的报告功能,适合个人和自由职业者使用。

主要特点

  1. 直观的用户界面:基于互动时间线设计,用户可以轻松添加和管理时间标记。
  2. 轻量级标签系统:通过使用标签而非项目,使得时间跟踪更加灵活和简便。
  3. 多种报告格式:支持将时间记录导出为 PDFCSV 格式,便于分析和分享。
  4. 目标设定:用户可以设置每日、每周或每月的时间目标,帮助管理时间使用。
  5. 集成的番茄工作法:提供实验性的番茄工作法功能,促进专注工作。
  6. 设备间同步:支持在不同设备之间同步时间记录,方便随时随地访问。
  7. 自托管选项:用户可以选择在本地或服务器上运行 TimeTagger,提供灵活性。
  8. 易于部署:使用 SQLite 数据库,便于快速部署和管理。

应用场景

  • 个人时间管理:适合个人用户跟踪日常活动,提高时间使用效率。
  • 自由职业者:自由职业者可以使用 TimeTagger 来记录工作时间,方便计费和项目管理。
  • 团队协作:可用于团队项目管理,通过时间记录分析团队效率。
  • 研究与分析:学者和研究人员可以利用 TimeTagger 进行时间使用分析,优化工作流程。

TimeTagger 是一个功能丰富且易于使用的时间跟踪工具,适合各种用户。它的主要特点包括直观的 UI、灵活的标签系统和多种报告选项,能够有效帮助用户管理和分析时间使用。

准备

要生成登录凭证,需在浏览器中打开 https://timetagger.app/cred

输入用户名和密码,复制第三段代码

这段代码会用在环境变量 TIMETAGGER_CREDENTIALS

安装

在群晖上以 Docker 方式安装。

本文写作时, latest 版本对应为 v24.12.2

docker cli 安装

如果你熟悉命令行,可能用 docker cli 更快捷

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 新建文件夹 timetagger 和 子目录
mkdir -p /volume1/docker/timetagger/data

# 进入 timetagger 目录
cd /volume1/docker/timetagger

# 运行容器
docker run -d \
--restart unless-stopped \
--name timetagger \
-p 8822:80 \
-v $(pwd)/data:/opt/_timetagger \
-e TIMETAGGER_BIND=0.0.0.0:80 \
-e TIMETAGGER_DATADIR=/opt/_timetagger \
-e TIMETAGGER_LOG_LEVEL=info \
-e TIMETAGGER_CREDENTIALS=laosu:$$2a$$08$$sHvy4a8ZJVk1VDPMtnOX5.G3TcBbjPcmO8W4ZI1hWptDCze29EhVK \
ghcr.io/almarklein/timetagger:latest

环境变量的简单说明如下

可变
TIMETAGGER_BIND 指定应用程序绑定的地址和端口
TIMETAGGER_DATADIR 设置数据目录的路径
TIMETAGGER_LOG_LEVEL 设置日志记录的级别
TIMETAGGER_CREDENTIALS 设置应用程序的访问凭据。以 用户名:密码 的形式提供,用于身份验证

docker-compose 安装

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
version: "3"

services:
timetagger:
image: ghcr.io/almarklein/timetagger:latest
container_name: timetagger
ports:
- "8822:80"
volumes:
- ./data:/opt/_timetagger
environment:
- TIMETAGGER_BIND=0.0.0.0:80
- TIMETAGGER_DATADIR=/opt/_timetagger
- TIMETAGGER_LOG_LEVEL=info
- TIMETAGGER_CREDENTIALS=laosu:$$2a$$08$$sHvy4a8ZJVk1VDPMtnOX5.G3TcBbjPcmO8W4ZI1hWptDCze29EhVK

然后执行下面的命令

1
2
3
4
5
6
7
8
9
10
# 新建文件夹 timetagger 和 子目录
mkdir -p /volume1/docker/timetagger/data

# 进入 timetagger 目录
cd /volume1/docker/timetagger

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:8822

可以进 Demo 看看

真正使用,要进 App

需要登录

登录成功后的主界面

进入设置

可以根据需要进行修改和调整

主界面点 Record 开始跟踪时间

除了 Web 外,TimeTagger 还提供了命令行和 VS Code 插件,方便标记您的时间。如果不知道怎么用,可以看看 Demo 和官方的说明文档

参考文档

almarklein/timetagger: Tag your time, get the insight
地址:https://github.com/almarklein/timetagger

TimeTagger - Tag your time, get the insight
地址:https://timetagger.app/

TimeTagger
地址:https://timetagger.readthedocs.io