OpenSource-Hub
T

TimeTagger

1.7k stars·오피스 생산성·SHA-256 체크섬 확인됨

一款开源、Web 化的时间追踪工具,主打直观时间线、标签化管理、报表导出和自托管部署。

스마트 다운로드

프로젝트 홈페이지 방문

아직 설치 프로그램이 없습니다 — 소스 저장소로 이동하세요

自己搭的时间追踪器,标签化、报表全、还能搞番茄钟。

주요 기능

  • 交互式时间线,拖拽即可记录或调整时间块
  • 用标签代替项目,简洁轻快
  • 生成 PDF / CSV 报表,支持每日/周/月目标
  • 内置番茄钟(实验性)
  • 多设备同步,响应式界面

할 수 없는 것

  • 多用户模式下密码需要使用 BCrypt 哈希,可直接用官网生成工具 https://timetagger.app/cred;反向代理认证需配置信任 IP 和用户头,否则可能被绕过;实验性番茄钟功能可能不稳定。

사용 사례

  • 自由职业者追踪不同客户/任务用时
  • 个人管理日常学习、运动、家务时间
  • 小型团队内部轻量时间记录(需配置多用户认证)

상세 설명

TimeTagger 是一款轻量的开源时间追踪工具,专为个人和自由职业者设计。它以 Web 应用形式运行(可在本地或服务器上部署),提供直观的时间线界面,方便记录时间。它放弃复杂的项目概念,改用标签化分类。支持设置每日/每周/每月目标、生成 PDF/CSV 报表,还集成了实验性的番茄钟功能。多设备同步,单用户和多用户模式都支持,认证可通过密码或反向代理。后端基于 Python 异步框架(uvicorn + asgineer),前端使用 Python 编译为 JavaScript 的 PScript,速度快,部署简单(pip 或 Docker)。

문제 해결 & FAQ (2)

문제 해결
TimeTagger를 자체 호스팅할 때 /timetagger URL 접두사를 제거하는 방법은 무엇인가요?

Caddy와 같은 리버스 프록시를 사용하여 루트 요청을 /timetagger/app으로 리디렉션하고 TimeTagger 컨테이너로 프록시합니다. 예시 Caddyfile: 'timetagger.example.com { redir / /timetagger/app/; reverse_proxy localhost:8081 }'. 또는 __main__.py를 기반으로 사용자 정의 메인 스크립트를 만들어 경로를 수정하거나, PR #577의 예정된 기능(병합 후)에서 '--path_prefix=/ --app-redirect=true' 인수를 사용할 수 있습니다.

원본 Issue #549
문제 해결
Unix 소켓 바인딩을 사용하는 리버스 프록시 뒤에서 Timetagger를 사용할 때 'Runtime error because there is no client scope' 오류를 수정하는 방법은?

이 오류는 Timetagger가 Unix 소켓(TIMETAGGER_BIND=unix:...)에 바인딩되고 프록시 인증이 활성화된 경우 발생합니다. ASGI request.scope에 'client' 키가 없을 수 있기 때문입니다. 해결 방법으로 /timetagger/__main__.py를 별도 위치에 복사한 후 157번 줄 부근의 신뢰 검사 블록을 주석 처리하거나 수정하십시오. 예를 들어 다음 코드를:

client = request.scope["client"][0]
if client not in TRUSTED_PROXIES:
    return 403, {}, "forbidden: the proxy is not trusted"

다음과 같이 바꿉니다:

if "client" in request.scope:
    client = request.scope["client"][0]
    if client not in TRUSTED_PROXIES:
        return 403, {}, "forbidden: the proxy is not trusted"

그런 다음 수정된 파일을 진입점으로 사용하여 Timetagger를 시작합니다. 이렇게 하면 클라이언트 IP를 사용할 수 있을 때 일부 신뢰 검사가 유지됩니다. 또는 환경이 완전히 신뢰할 수 있는 경우 전체 블록을 주석 처리하기만 하면 됩니다. (Timetagger 25.06.1 기준) 공식 패치는 아직 제공되지 않습니다. 업데이트를 위해 이슈를 추적하십시오.

원본 Issue #570

태그

time-trackingself-hostedproductivitypythonweb-app

시작하기

1

설치 프로그램 다운로드

위 버튼을 클릭하여 시스템에 맞는 설치 프로그램을 다운로드

2

소프트웨어 설치

다운로드한 설치 프로그램을 더블 클릭하고 안내에 따르세요

3

步骤1:在终端执行 pip install -U timetagger

4

步骤2:执行 python -m timetagger 启动服务

5

步骤3:浏览器打开 http://localhost:8080 即可使用

설치 가이드
  1. 步骤1:在终端执行 pip install -U timetagger
  2. 步骤2:执行 python -m timetagger 启动服务
  3. 步骤3:浏览器打开 http://localhost:8080 即可使用
파일 무결성

체크섬 없음

이 프로젝트는 GitHub Release 페이지에 SHA-256 체크섬을 게시하지 않았습니다

SHA256 체크섬

체크섬 없음

GitHub Releases에서 직접 다운로드하고 파일 무결성을 직접 확인하세요

이 플랫폼의 모든 SHA-256 체크섬은 프로젝트의 공식 GitHub Release 페이지에서 추출되었으며, 어떠한 변경도 없습니다. GitHub Releases 페이지에서 직접 검증할 수 있습니다.

오픈소스 투명성

GitHub 소스 보기
환경 가이드

제거 정보

执行 pip uninstall timetagger 即可卸载。若使用 Docker 部署,则删除容器和镜像,并清理数据卷(默认挂载目录)。

추가 의존성 없음

다운로드 후 바로 사용 가능. 추가 런타임이 필요하지 않습니다.

프로젝트 정보
라이선스GPL-3.0
마지막 업데이트2026-06-26 14:35:23
GitHub 저장소공식 웹사이트

문제 발생? 아래 FAQ 확인

2 FAQs

유사한 프로젝트