You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Add My AI Usage canvas extension (chronicle-stats) - #4559
Risk tier:merge-risk:medium — New or substantially changed resource without privileged execution Required to merge: passing submission-gate checks plus 1 approval from reviewers with write access.
Why this tier
Adds 22 file(s), e.g. extensions/chronicle-stats/LICENSE
The query normalizes both NULL and empty values to the same unknown label but groups by the original field, so those values produce separate rows with identical labels and split counts (visible as duplicate “unknown” tool chips). Group by the normalized alias, as the usage distribution query in analytics.mjs:80-82 already does.
Restore focus when replacing or closing the experiment panel
extensions/chronicle-stats/insight-view.mjs:636
This replacement is also reached after successful Review and Done actions while focus is inside the experiment panel; Close hides that same focused subtree. Removing or hiding the focused control without restoring focus drops keyboard and screen-reader users back to the document, with no indication of where the updated content is. Preserve/restore focus to the refreshed experiment heading or invoking card, and move focus to a stable Insights control when closing.
@juliamuiruri4 we have a similar Canvas already, https://awesome-copilot.github.com/extension/cache-stats/, in the repo. At least, I think they have overlapping functionality. Does it look like there is an overlap between these two? If so, I think we'd be better to work on a single canvas.
Hey @aaronpowell, thanks for flagging this. I looked at Cache Stats, and I think these two canvases solve different problems.
Cache Stats appears to be a live monitor for a user's current session showing prompt-cache health (expiry, reuse, rebuild cost), refreshes every 2 seconds.
My AI Usage looks back at a user's usage history across all sessions and over 30 days, 90 days, or all time, and provides:
An activity heatmap, usage over time, model mix (top used models), top repos, and time of day when the user works, with drill-downs by model and session.
Insights provides on-demand standups, tips, and cost tips from Copilot (built on top of /chronicle, grounded in a user's own usage, plus experiments to track habit changes.
Yes, both read the local session store and show a token breakdown, but that's where the overlap ends. Cache Stats helps manage the session you're in, while My AI Usage helps you understand and improve your usage over time.
This branch has not been deployed
No deployments
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Pull Request Checklist
npm startand verified thatREADME.mdis up to date.mainbranch for this pull request.Description
Adds My AI Usage (
chronicle-stats), a canvas for seeing local Copilot token usage by day, model, and session, with tips to use it more efficiently.node:sqlite, Node 22.13+) and the host SDK only.markdown.jsis a vendored, minified Marked build (notices inLICENSE), so it's added to the.codespellrcskip list.chronicle-statsis the canvas ID and storage path, so the folder and plugin use that name.Screenshots
Type of Contribution
By submitting this pull request, I confirm that my contribution abides by the Code of Conduct and will be licensed under the MIT License.