AgentEd
시각적 마크다운 편집기로, 프론트매터와 토큰 추정 기능 제공
XTrace는 기업 맥락과 사람·AI 학습을 연결해 지식을 보존하고, 공유 지침으로 팀이 기존 작업을 이어 발전하도록 돕는다
XTrace connects company context with what people and AI agents learn. Retain knowledge, apply shared guidance, and help teams build on earlier work.
생산성Rust · TypeScriptGitHub @XTraceAI온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
XTrace Desktop is a free Mac app that shows how productive you are with coding agents. It reads the history Claude Code, Codex and Cursor already save on your Mac and turns it into a dashboard: where your hours went, what each session would have cost at API prices and what the outcome was, and how close you are to your usage limits.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Know where your coding time and money go.
An open-source macOS app for people who code with agents. See agent activity, estimated human time and API-equivalent spend from the Claude Code, Codex and Cursor history already on your Mac. Track Claude and Codex account usage and pace in the sidebar.
Download for Mac · Setup guide · Report a bug
See it in 44 seconds
https://github.com/user-attachments/assets/a8e7619c-85a3-40d7-8a0b-50d9dc94f215
Screenshots and the video show the app with made-up sample projects and account usage, not real work.
You run several agents, try a new tool, or change how you prompt. XTrace helps you see what changed in your time, spend and activity:
Use the daily charts and previous-period comparisons to investigate changes after adopting a tool or workflow. Compare similar work and consider what you shipped and the review it needed: more agent hours alone do not prove a productivity gain.
Compare estimated human time and agent activity together in the human + agent view, or switch to agent hours, human hours or API-equivalent cost for the last 7, 14 or 30 days. The overview shows leverage (agent hours divided by estimated human hours), concurrency and hands-off time, with previous-period comparisons. Definitions explain how each number is counted and what is missing. Values the app could not measure show as a dash, not zero.
Use scoring skills to review your project instructions, comments, repeated code, documentation and agent setup. Open a skill to grade a project and read its score, findings and suggested fixes. The screenshot shows the built-in CLAUDE.md Doctor alongside four example added skills.
Sample scores and findings across 14 fictional projects, not measured grading results.
Add your own installed skills or discover skills through a public GitHub link. A skill needs a scoring rubric; Make a rubric can create one for a suitable review skill before you add it. Skills that need to modify a project or access the network may not be suitable. See adding skills and rubrics.
Grading and rubric creation run Claude Code on your Claude account and use your Claude usage. Grading reads project content and keeps the project read-only; these are actions you start, separate from local history indexing. See Your data for what is sent and stored.
Claude and Codex usage stays in the sidebar when your local tools can report it. Green and orange indicators show usage behind or ahead of an even pace. Expand a provider to see remaining usage, daily readings and a linear forecast based on average use since the weekly window began. The forecast assumes that pace continues; it is an estimate, not a guaranteed run-out time.
See active spans and gaps across your sessions, then hover a span for its prompt and activity details. Compaction counts show how often the saved context was summarized. Counts cover the session's saved history; timeline markers show recorded compaction times within the visible range. Hover a marker to see when it happened and its trigger, when the source provides one. Unknown or unsupported readings stay distinct from a confirmed zero.
The Sessions page brings your indexed Claude Code, Codex and Cursor sessions into one list. Find a session by ID, repo or branch, filter by tool, and open its local transcript. Codex and Cursor need the bundled readers and Python 3.10 or newer; missing readers and unsupported formats show an unavailable state. Cursor SQLite transcripts are not supported. A sub-session whose parent session can't be confirmed is left out of the list.
Merged pull requests show the effort of their linked sessions: tokens, your
messages, agent time and hands-off time. A session linked to several pull requests
counts in full toward each of them. Pull request details come from GitHub's
command-line tool (gh) when it is installed and signed in. XTrace never posts
to GitHub.
The menu bar keeps today's activity one click away. Settings includes light, dark or system appearance, the human-time break threshold, index status, storage controls and the telemetry switch.
How is agent time counted? XTrace groups recorded events within each session into activity spans. Gaps longer than 20 minutes are excluded. Overlapping sessions add together, so this measures session activity rather than pure model compute time or elapsed time on a clock.
How is human time estimated? XTrace uses messages classified as sent by you, excluding recognized automated messages, across conversations and tools on one timeline. Consecutive messages at most 60 minutes apart count as one working stretch. You can change that break threshold in Settings. A single isolated message adds no time; an unknown message classification makes the estimate unavailable rather than silently lowering it.
Does reviewing diffs count? Reviewing is not detected directly. If you send messages at 2:00 and 2:40 and review in between, those 40 minutes count with the default threshold. Review after your last message is not automatically included. Other activity between those messages can count too, so this is an estimate of your work with agents, not a record of every minute worked.
Does this identify who edited a file? No. Agent time measures recorded agent activity, and human time uses message timing. They can overlap. These metrics do not attribute individual edits or lines to you or an agent.
.dmg from the latest release.Requires an Apple Silicon Mac with macOS 14 or newer. Claude Code history is read directly; Codex and Cursor history needs Python 3.10 or newer. Cursor conversations kept only in the Cursor app's own database are not read. The app downloads signed updates and installs them when you click Restart to update. See the setup guide for first launch and troubleshooting.
More about local storage and account-usage checks is in data and network.
XTrace sends a few anonymous usage events, such as when the app is opened
and roughly how often it is used, with the app version, the macOS version, which
coding agents have history on this Mac and a random ID. It never sends repository
names, file paths, prompts or other conversation text, pull-request links, token
counts or costs. Telemetry is on by default, and nothing is sent until the app has
shown a notice about it. Turn it off with Turn off in that notice, the switch in
Settings, or by starting the app with XTRACE_TELEMETRY=0. TELEMETRY.md
lists every event and property.
XTrace is a public beta. Some numbers can be incomplete when part of your history is missing. Rulebook is marked as coming soon in the sidebar. On the Leaderboard page you can choose to join the public leaderboard at leaderboard.xtrace.ai. Once you have joined, the page also shows the public list with your row marked; TELEMETRY.md says what joining sends and reads. See the beta testing limits.
You need macOS 14 or newer, Xcode command-line tools, Rust 1.94.1, Node 22.23.1 and pnpm 10.33.0.
pnpm install --frozen-lockfile
pnpm check
cargo test --workspace --locked
pnpm tauri dev
A development build reads your local history by default. DEVELOPING.md covers sample data, all required checks and native verification, and the architecture map explains how the pieces fit together.
Issues and pull requests are welcome. Read the contributor guide for review and DCO sign-off, and the code of conduct. Security reports go through SECURITY.md.
Source code is licensed under Apache-2.0. The XTrace name and logo are covered by the trademark terms.