Skip to content

wm94i/Work-Review

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

280 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Work Review

Work Review

A local-first personal work review tool that records context, helps you review your day, and generates daily reports.

Automatically organizes the apps you used, websites you visited, window titles, usage time, and optional screenshots into a timeline you can review, analyze, and ask questions about.

All data is stored locally by default and never uploaded to any server. AI features are entirely optional; the app works fine with them turned off.

🔒 For personal use only — all data stays on your device.

English · 简体中文 · 繁體中文

Release Platform All Data Local License


What It Solves

Work Review is designed for personal work review and helps answer questions like these:

  • What did I actually do today?
  • What have I been focusing on over the past few days?
  • Roughly how much time did a particular task take?
  • Which pages, windows, and context did I look at back then?
  • How can I quickly put together today's daily report?

The focus is not "monitoring". It is helping you recall, organize, and review your own work process.


Core Capabilities

  • Automatic work context recording — Records foreground apps, browser pages, window titles, usage time, optional screenshots, and OCR text, reducing manual note-taking
  • Unified timeline and statistics — Overview, timeline, work assistant, and daily report share the same local records, so you can inspect trends and drill into context
  • Questions over local records — Use the basic template or your configured model to answer "What did I do today?", "How long did this task take?", and "What have I been focused on?"
  • Daily report generation and export — Generate structured daily reports with Markdown export, auto-export, paragraph editing, pin/hide controls, and cached AI section ordering
  • Privacy-first and locally controllable — Data is stored in local SQLite by default; AI is optional, and model calls use your own API key without third-party relay
  • Desktop Avatar Beta — Shows work status through a desktop avatar and is gradually expanding toward proactive reminders and context assistance

Interface Preview

Overview

Work Assistant


Privacy and Boundaries

Work Review is designed for personal use from the ground up. It is not intended for: employee monitoring · team attendance · performance evaluation · covert tracking

You can control the recording scope as needed:

  • Per-app settings: Normal / Anonymize / Ignore — anonymize mode automatically skips screenshots and OCR
  • Automatic sensitive keyword filtering · domain blacklist
  • Auto-pause on screen lock · manual pause/resume
  • AI only activates after you configure a model; disabled by default

Feature Overview

Automatic Recording

  • Foreground apps, window titles, browser URLs, usage duration, and category records
  • Optional screenshots and OCR with multi-display strategies
  • Keyboard/mouse activity + screen-change idle detection to reduce false records
  • Timeline review for pages, windows, and context from any time period

Smart Organization

  • Work assistant based on local records, with basic template and AI-enhanced modes
  • Duration statistics, category filtering, trend comparison, and natural-language time ranges
  • Fragments grouped into continuous work sessions
  • Extracts potential follow-up to-dos from pages, window titles, and context

Daily Reports and Review

  • Structured daily reports, historical review, Markdown export, and auto-export
  • Report blocks for hourly activity, time distribution, app usage, website visits, and more
  • Paragraph-level pin/hide/restore controls, with cached AI section ordering
  • AI-enhanced prompt attachments and custom model settings
  • Website semantic categorization: changing a domain category automatically backfills history
  • Multi-segment work time: e.g. morning + afternoon, break time excluded

AI Modes

The core of Work Review is always local recording. AI's role is to make records easier to read and review, not a prerequisite for usage.

Mode Description
Basic Template Zero configuration, outputs stable structured results
AI Enhanced Calls your self-configured model service for more natural Q&A and summaries

Supported providers: Ollama (local) / OpenAI compatible / DeepSeek / Qwen / Zhipu / Kimi / Doubao / MiniMax / SiliconFlow / Gemini / Claude


Quick Start

  1. Download the installer for your platform from Releases
  2. On macOS, grant Screen Recording and Accessibility permissions
  3. Let it run in the background for a while
  4. Check the Overview / Timeline / Daily Report to see your recorded activity
Platform Installer
macOS (Apple Silicon / Intel) .dmg
Windows .exe
Linux x86_64 (X11 / Wayland) .deb / .AppImage
Linux ARM64 (aarch64) .deb

macOS: Screenshots require the "Screen Recording" permission, and avatar linkage requires "Accessibility + Input Monitoring". If you see a "damaged" warning on first launch: sudo xattr -rd com.apple.quarantine "/Applications/Work Review.app"

Windows: Depends on Microsoft Edge WebView2 Runtime.

Linux: Screenshots and window tracking depend on the current session type and toolchain.

Dependency details

# Base
sudo apt install xprintidle tesseract-ocr
# X11
sudo apt install xdotool x11-utils scrot
# Wayland: gdbus (GNOME) / kdotool (KDE) / swaymsg (Sway) / hyprctl (Hyprland)
# Screenshots: grim / gnome-screenshot / spectacle

Ubuntu 24.04 / 24.10 Wayland (GNOME 46–47) users experiencing screenshot flash or shutter sound can use the one-click install script to fix it automatically:

bash scripts/deb/reinstall.sh           # deb method (recommended)
bash scripts/deb/reinstall.sh --dry-run # preview operations

See scripts/ubuntu-wayland-README.md for details.


Extended Capabilities (Beta)

Desktop Avatar

Uses a standalone desktop pet window to reflect idle / working / reading / meeting / music / video states.

Desktop Avatar

Still being actively refined — interaction linkage, state expression, and preset details will continue to improve.

Bot Integration (Telegram / Feishu)

Query records and generate daily reports remotely from Telegram / Feishu via local API + multi-device registration. Supported commands: /devices, /report, /generate, etc. Restricted to personal and own multi-device use only.

Localhost API

After Localhost API is enabled, the app exposes a local HTTP API (default 127.0.0.1:47831), authenticated with a Bearer Token (auto-generated on first launch, saved in localhost_api_token.txt in the data directory).

Authentication

All requests (except /health and Feishu callbacks) must carry the token:

Authorization: Bearer <token>

Or via query parameter: ?token=<token>

Endpoints

Method Path Description
GET /health Health check (no auth)
GET /v1/device Device info
GET /v1/timeline/{date} Timeline (date format YYYY-MM-DD, supports ?limit=&offset=)
GET /v1/activities/{date} Activity list (supports ?limit=&offset=&category=)
GET /v1/stats/today Today's stats
GET /v1/stats/overview Overview stats (`?mode=today
GET /v1/stats/daily/{date} Stats for a given date
GET /v1/reports Report list (?limit=)
GET /v1/reports/{date} Report for a given date (?locale=)
GET /v1/reports/generate Generate report (?date=&locale=&force=true)
POST /v1/reports/export-markdown Export report as Markdown (body: { date, locale })
GET /v1/apps/recent Recently used apps
GET /v1/apps/category-overview App category overview
GET /v1/categories App category list
GET /v1/categories/semantic Semantic category list
GET /v1/hourly-summaries/{date} Hourly summary
GET /v1/hourly-app-breakdown/{date} Hourly app breakdown
GET /v1/weekly-review Weekly review (?date_from=&date_to=&limit=)
GET /v1/storage/stats Storage stats

Examples

# Get today's timeline
curl -H "Authorization: Bearer $(cat ~/work-review/localhost_api_token.txt)" \
  http://127.0.0.1:47831/v1/timeline/2026-05-20

# Generate a report
curl -H "Authorization: Bearer $(cat ~/work-review/localhost_api_token.txt)" \
  "http://127.0.0.1:47831/v1/reports/generate?date=2026-05-20"
MCP Server

Connects work records to AI coding tools (Claude Code / Cursor / VS Code Copilot, etc.) via the stdio protocol.

cargo build --release -p work-review-mcp-server
{
  "mcpServers": {
    "work-review": {
      "command": "/path/to/work-review-mcp-server",
      "env": {
        "WORK_REVIEW_DB_PATH": "/path/to/work_review.db",
        "WORK_REVIEW_CONFIG_PATH": "/path/to/config.json"
      }
    }
  }
}

Development

npm install
npm run tauri:dev    # Development
npm run tauri:build  # Build

Requires: Node.js 18+ / Rust stable / Tauri 2 CLI · Tech stack: Tauri 2 + Rust + Svelte 4 + SQLite


Community

WeChat Group

WeChat Group

If the QR code has expired, follow the official account below for the latest group invitation, or join the TG group


WeChat Official Account

Official Account


Telegram

Acknowledgements

License

MIT © 2026 wm94i


Star History

Star History

About

Automatically tracks which apps you used, which websites you visited, and how much time you spent in each app throughout the day.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors