開源的時間跟蹤工具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 更快捷

# 新建文件夾 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 文件

version: "3"services:timetagger:image: ghcr.io/almarklein/timetagger:latestcontainer_name: timetaggerports:- "8822:80"volumes:- ./data:/opt/_timetaggerenvironment:- TIMETAGGER_BIND=0.0.0.0:80- TIMETAGGER_DATADIR=/opt/_timetagger- TIMETAGGER_LOG_LEVEL=info- TIMETAGGER_CREDENTIALS=laosu:$$2a$$08$$sHvy4a8ZJVk1VDPMtnOX5.G3TcBbjPcmO8W4ZI1hWptDCze29EhVK

然后執行下面的命令

# 新建文件夾 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

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/94321.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/94321.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/94321.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

學習游戲制作記錄(角色屬性和狀態腳本)8.4

1.實現簡單的角色屬性創建CharactorState腳本:掛載在敵人和玩家身上public float damage;//角色傷害public float maxHp;//最大生命[SerializeField] private float currentHealth;//當前生命void Start(){currentHealth maxHp;//初始化將當前生命設置為最大生命}p…

04-Chapter02-Example01

文章介紹 1、完善項目結構 1.1 新建第二章對應模塊Chapter021.2 新建模塊Chapter02對應包com.itheima1.3 在包com.itheima下新建class類 ,類名稱Example01.java項目結構如下:2、編寫Example01.java代碼 P38 package com.itheima;public class Example01…

【達夢MPP(帶主備)集群搭建】

達夢MPP(帶主備)集群搭建 為了提高MPP系統可靠性,克服由于單節點故障導致整個系統不能繼續正常工作的問題,DM在普通的MPP系統基礎上,引入數據守護主備機制,為每一個MPP節點配置一個實時備庫作為備份節點&a…

Java基礎學習(一):類名規范、返回值、注釋、數據類型

目錄 一、類名規范二、返回值三、注釋四、數據類型 1. 基本類型2. 引用類型3. 強制數據類型轉換4. 進制5. 進制的轉換6. 超范圍運算 相關文章 Java基礎學習(二):Java中的變量和常量、final(重點)、運算、字符串 了…

Nginx相關實驗(2)

nginx的一些高級配置 nginx狀態頁 基于nginx 模塊 ngx_http_stub_status_module 實現, 在編譯安裝nginx的時候需要添加編譯參數 --with-http_stub_status_module 否則配置完成之后監測會是提示語法錯誤 #檢查模塊是否配置 如果不存在需要添加模塊重新編譯 nginx …

2.Java和C++有什么區別

2.Java和C有什么區別 1.在C中,支持操作符重載,而在Java里是不允許的 2.C支持多繼承,而Java不可以,但Java可以單繼承多實現 3.Java內置多線程機制,而C沒有 4.Java里面自帶了垃圾回收機制,可以自動清理緩存等…

MLIR Introduction

簡介 MLIR 項目是一個構建可重用和可擴展編譯器基礎設施創新項目,旨在解決軟件碎片化問題,顯著降低構建特定領域編譯器的成本。 基于MLIR,可以實現: 數據流圖表達(如TensorFlow),包含dynamic…

[找出字符串中第一個匹配項的下標]

代碼思路分析: 1. 邊界情況處理 代碼中沒有顯式處理以下邊界情況,但邏輯已隱含支持: needle 為空字符串:應返回 0(但題目通常保證 needle 非空)。haystack 比 needle 短:直接返回 -1&#xff08…

深入剖析RT-Thread串口驅動:基于STM32H750的FinSH Shell全鏈路Trace分析與實戰解密(上)

0. 概述 這是cherryusb代碼trace分析系列文章之七。 RT-Thread串口驅動框架與FinSH Shell運行機制深度解析:針對STM32H750 ART-PI平臺,本文獨辟蹊徑采用創新的代碼trace分析方法,破解龐大串口框架下的復雜運行邏輯。通過精確trace日志與drv_u…

Python與C++通信教程:C++打包dll,供Python調用(1)

目錄 1,新建一個工程 math_functions.cpp內容: 先編譯一下看是否可以正常運行: 2,編譯成dll,并用Python調用 有兩種方式: 命令 1(使用靜態鏈接): 可移植性: 命令 2(動態鏈接): 可移植性: 這里我使用的是靜態鏈接的方式: python調用實例 test_dll.py 1,…

編程與數學 03-002 計算機網絡 19_網絡新技術研究

編程與數學 03-002 計算機網絡 19_網絡新技術研究一、軟件定義網絡(SDN)(一)SDN的基本原理與架構(二)SDN的應用場景與優勢二、網絡功能虛擬化(NFV)(一)NFV的概…

uniapp 跨端開發

一、創建uniapp項目 1. 項目架構2. 初始化項目3. pages.json 和 tabBar 案例4. uni-app和原生小程序開發區別5. 用命令行創建uni-app項目 官網鏈接:https://uniapp.dcloud.net.cn/quickstart-cli.html#創建uni-app6. 用vscode開發uni-app在uni-app中只有manifest.js…

區塊鏈支付技術的核心原理

區塊鏈支付利用分布式賬本技術(DLT)實現點對點的價值轉移,無需傳統銀行或支付網關的中介。核心特點是去中心化、透明、可追溯。? 基本流程:1. 用戶發起交易:通過加密貨幣錢包發送支付請求(例如用ETH支付&a…

linux中 多進程 導致cuda錯誤的問題解決

問題總結與解決方案 核心問題 在使用 Linux 系統時,多進程并行計算中加載模型到 GPU 時出現錯誤:_MODEL SentenceTransformer( model_path, device "cuda" if torch.cuda.is_available() else "cpu" )根本原因: CUDA 上…

智能感知的新入口:AIGC 與低延遲視頻通路的深度融合

?? 引言:AIGC,正在重構視覺智能的“生成邏輯” AI生成內容(AIGC)正在從“內容創作工具”躍升為計算機視覺系統的新引擎。它不再只是“文生圖”、“圖生文”的演示技術,而是實實在在地改變著我們構建、處理和理解視覺…

Ubuntu 內網多臺服務器時間同步方案(適用于臨時能上外網的環境)

哎,最近項目是運行在內網環境下的,出現了由于時間不同步導致的bug。一般來講,幾臺服務器的時間不一致,會帶來很多問題,比如日志時間對不上、分布式服務出現異常,等等。項目上現在有三臺服務器,其…

延長電池壽命的低Iq技術

本文章是筆者整理的備忘筆記。希望在幫助自己溫習避免遺忘的同時,也能幫助其他需要參考的朋友。如有謬誤,歡迎大家進行指正。一、概述隨著電池供電型應用的激增,人們對質優價廉的電池和電池包的需求持續猛漲。電池制造商們不斷采用新的化學物…

QT 如何實現enum與字符串的互轉

將enum中定義的枚舉值,以字符串的形式寫入文件,同時也能從字符串轉為枚舉值。舉例說明: ColorSelector中的Colors枚舉,我們希望 kColorRed 這個寫入到本地文件時,可以直接保存“kColorRed”,而非kColorRed對…

SLAM卷不動了,機器人還有哪些方向能做?

關注gongzhonghao【CVPR頂會精選】眾所周知,機器人因復雜環境適應性差、硬件部署成本高,對高效泛化一直需求迫切。再加上多傳感器協同難題、真實場景數據獲取不易,當下對遷移學習 機器人智能融合的研究也就更熱烈了。不過顯然,這…

H.266 vs H.265/AV1/H.264:從工程落地看下一代視頻系統的技術演進

一、背景:編解碼標準演進背后的技術驅動 視頻編碼標準的更迭,從未只是一次簡單的技術升級,而是對碼率壓縮效率、編碼復雜度與畫質質量三者之間平衡點的持續探索。在 H.264 成為全平臺事實標準的十余年里,它成功支撐了 SD 至 1080…