zzzhc31 downloadsTrack your writing locally with a yearly heatmap and monthly statistics.
简体中文 · English
See your writing activity without leaving Obsidian.
Yearly heatmap · Monthly trends · Live word counts
Writing Dashboard is a local writing statistics plugin for Obsidian. It shows a yearly heatmap, daily note activity, and monthly word counts in the right sidebar.
| Feature | What it shows |
|---|---|
| Yearly overview | Switch years to see writing days and cumulative words. The totals at the top describe the Markdown notes currently included in your vault. |
| Writing heatmap | Opens on today. Hover over a date for statistics, then click it to see and open its notes. Keyboard navigation is supported. |
| Monthly trends | Compare the word counts recorded for each month of the selected year. |
| Live statistics | Preview changes as you type; Obsidian confirms them on save. The desktop status bar shows today's note and word counts and toggles the dashboard. |
| Local index | Import selected Markdown files or folders, exclude paths, change the counting rules, or pause tracking. |
Requires Obsidian 1.8.7 or later.
To upgrade, replace all three files together and keep data.json. You do not need Node.js or Git to use the plugin.
今天 in the screenshots) to return.
When you open a newly created blank Markdown note, the plugin adds a local calendar date as the created property by default. It preserves existing values and does not bulk-edit older notes or stamp notes arriving with content. For notes created from a non-empty Obsidian template, add created: "{{date:YYYY-MM-DD}}" to the template. Automatic stamping and date priority can be changed independently in settings.
A valid created property follows the note when you sync it, so the indexed date does not depend on the device's filesystem timestamp. It does not sync daily editing history or import scopes.
Writing Dashboard runs locally and does not send notes, statistics, or telemetry. Startup refreshes only notes already known to the plugin. It also tracks Markdown notes you open, create, or edit. A manual import scans only the Markdown files or folders you select, and skips excluded paths. The totals cover those known and imported notes. Upgrading preserves existing statistics. Settings and statistics are stored in your vault's .obsidian/plugins/writing-dashboard/data.json. This file contains note paths and counts, but no note bodies. Quit Obsidian before backing it up. Rebuilding on one device does not transfer daily history from another device. The plugin does not merge statistics written concurrently by multiple devices.
Use Node.js 22:
npm ci
npm run check
npm test
npm run build
The build generates main.js. Run npm run dev to rebuild on changes. Changelog · Third-party notices
For bug reports, include the plugin version, Obsidian version, operating system, and steps to reproduce. Do not share your entire vault or data.json.
Apache License 2.0. The compiled plugin includes the license text and third-party notices.