SUMERY · LIBRALibra 中文

Sumery Libra

Weigh work against recovery

Your work hours, fatigue signals and body data, side by side and computed on your own computer.

Download the IDE plugins How the timer works

For VS Code and its forks (Cursor, Windsurf and others), and for JetBrains IDEs such as GoLand, WebStorm and IntelliJ IDEA. Tested with VS Code 1.139 and GoLand 2026.3. Free for personal use at the moment; use inside a company needs a business license.

Libra's Overview, Today page, in its Chinese interface: the pinned Favourites group at the top, today's working time, the comparison with yesterday, the longest unbroken stretch, the idle and screen-lock time already subtracted, and Chinese characters typed
Today: working time, compared with yesterday, and the longest unbroken stretch, with idle time and screen lock already taken off.
Libra's weekly work-sessions view, in its Chinese interface: seven days on a 24-hour axis, each with one row for macOS activity, AI sessions and IDE coding, and each day's de-duplicated total on the right
The week: one row per source, with IDE coding on a row of its own; overlapping time is counted once.

Four steps to get started

Your IDE was open for ten hours. How much of that was spent writing code, and how much was it left untouched while you read docs or sat in meetings? At the end of the day it's hard to say, because all you can see is which window was in front.

  1. Install a plugin and code as usual

    When you type, delete or paste in the active editor, the plugin appends one line with the time to a file on your computer. Opening files, scrolling through code, switching windows and git rewriting files on disk write nothing.

  2. Stop, and the clock stops at your last edit

    Pause for a minute or two to think, then carry on: that is still one stretch. Pause for more than 3 minutes and the stretch ends at your last edit. When you switch to another app, the plugin writes out your last edit straight away.

  3. Several sources, merged, nothing counted twice

    The IDE plugins, DSH sessions and the macOS foreground app each keep their own record, and Libra takes the union: time seen by the editor and the terminal at once counts once. Idle time, screen lock and sleep come off the total.

  4. See today and this week

    Today's working time and how it compares with yesterday, your longest unbroken stretch, how many breaks you took, an hour-by-hour breakdown, and each day's time split by source.

It counts only while you are editing code

Libra's IDE plugins record time only while you are editing code. Stop for more than 3 minutes and the stretch ends at the moment of your last edit; the pause after it isn't counted.

Each line the plugin writes (to ~/.orea/ide-heartbeats.jsonl) looks like this, and that's all of it:
{"source":"ide","kind":"heartbeat","at":1789500000000,"sessionId":"jetbrains:GO:/Users/me/work/libra","appId":"jetbrains:GO","appName":"GoLand","cwd":"/Users/me/work/libra"}

Time, IDE name, project root. No file names, code, programming language, window titles or keystrokes.

Data and limits

Where the data lives, whether the format is yours, and what it can't do.

Data stays on your computer

Every record goes into JSON Lines files under ~/.orea/ (or $OREA_HOME), one event per line. The plugins don't connect to the internet and upload nothing.

The format is open

The files are yours even without the Libra desktop app: tail -f ~/.orea/ide-heartbeats.jsonl shows them, and any script can add them up. The fields are explained in the plugin documentation.

Switch it off at any time

Libra has one switch per source; the plugins' switch is under 设置 → 通用 → 采集开关 (Settings → General → Collection switches). Off really stops collection rather than ignoring the data, and nothing already recorded is deleted. A plugin stops writing within seconds of being switched off, with no IDE restart.

Out of scope

  • macOS Screen Time: macOS gives third-party apps no public interface to it. Libra samples the foreground app and idle time itself, and says so in the app.
  • Steps, heart rate, sleep: these live on iPhone and Apple Watch; a Mac doesn't have this data. The app shows 「未连接」 (not connected) instead of filling in an estimate.
  • Sogou input-method counts and Keep workouts: both rely on non-public interfaces on the other side, so an update on their end can break them. When that happens, the app shows why, not a guessed number.
  • No medical judgements: Libra tells you how long you worked and how long you went without stopping. It doesn't tell you “you're tired” or “you're healthy”.
  • An English interface: the desktop app is in Simplified Chinese only for now. Where this page mentions its labels, the Chinese comes first and a translation follows.

Data sources

SourceAnswersCan't answer
IDE pluginsWhen you were editing code in a VS Code-family or JetBrains IDETime spent reading code or thinking a problem through (more than 3 minutes without an edit isn't counted)
DSH pluginThe time of every turn and every tool call in an AI coding sessionWhat was said: it records times only, never prompts or replies
macOS foreground and idleWhich app is in front, how long since you touched the keyboard or mouse, screen lock and sleepWindow titles (they need an extra permission and aren't collected by default)
Sogou input methodHow many Chinese characters you entered through the input method todayCharacters typed directly on an English keyboard; what you wrote
KeepWorkouts, weight and resting heart rate from the Keep fitness app (not counted as working time)All-day steps, sleep, HRV
Focus timerEach focus round and break you start yourselfWork you didn't start the timer for

Free for personal use, for now

"Free for now" is a description of today, not a long-term promise: if it ever becomes paid, what has been free does not get taken back, and released versions keep working.

CapabilityFree corePro
Focus timerYesYes
Today overviewYesYes
Activity timelineYesYes
IDE plugins (VS Code family / JetBrains)Yes, available nowYes
Health join (workouts, weight, resting heart rate)—Yes
Body metrics—Yes
Habits—Yes
Insights—Yes
Reminders—Yes
Export—Yes

Note: the two columns above group capabilities by tier, not by paid plan. Personal use includes every capability — including the advanced ones — with no payment and no sign-up. Company use is covered by the business license below.

Company use · business license

Using Libra inside a company requires a business license: ¥299 / company / year, with no seat limit. Terms, invoicing and renewal are on the business page.

Personal use · free for now

None of the capabilities listed above is paid for personal use: no paywall, no trial period, no sign-up, no online checks. Nothing is crippled, and nothing is discounted for being free.

The desktop app (macOS) and both IDE plugins are released; personal use follows the rules above — install and go.

Download

The desktop app (macOS) has its first release; the IDE plugins install from the official marketplaces.

Libra desktop (macOS)

See your tracked time, focus sessions, and body data in one place. First release is macOS (Apple silicon); the bundle is unsigned — right-click → Open on first launch.

Version
—
Size
—
Install & verify

Open the .dmg and drag Libra into Applications.

SHA-256: —

Plugin for VS Code and its forks

VS Code, plus forks such as Cursor and Windsurf. Declared compatible from VS Code 1.75; tested with 1.139.

Version
—
Size
—
Install from VS Code Marketplace
Install and verify

From the command line: code --install-extension libra-coding-time-x.y.z.vsix (in Cursor, use cursor instead of code); or, in the Extensions view, “⋯ → Install from VSIX…”.

SHA-256: —

JetBrains plugin

GoLand, WebStorm, IntelliJ IDEA, PyCharm, DataGrip and other IntelliJ-based IDEs. Declared compatible from 2024.2; tested with GoLand 2026.3.

Version
—
Size
—
Install from JetBrains Marketplace
Install and verify

Settings → Plugins → ⚙ → Install Plugin from Disk…, then choose the downloaded .jar.

SHA-256: —

To keep links from being passed around or scraped in bulk, the server generates each download link when you click, and it works once. Click too often from the same network and you'll wait a few seconds; the button comes back by itself, no reload needed.

Both IDE plugins are provided under the Sumery Libra IDE plugin license. Company licensing: the business page. Purchasing: Refund Policy · Support · Invoices.

This page counts visits and button clicks with self-hosted Umami: no cookies, no user IDs.