See what your coding agent ran—and what its logs actually verify.
Read existing session logs locally. Trace failures, background exits and checks after edits back to their source, without an SDK, model call or mandatory human labeling.
Try the demo · Quick start · Evidence & limits · Roadmap · 中文
A session can record all three of these facts:
- A test command returned successfully.
- An edit tool returned successfully after that test.
- No later recognized check is recorded for that modification.
AgentXRay puts those records next to each other, with links to the original calls and results. It does not conclude that the code is broken, that tests cover the changed file, or that the task is done.
That is the difference between counting green tool results and inspecting execution evidence.
Without installing: open the live demo and choose Try diagnostics / 体验自动体检. The synthetic walkthrough groups 7 pending failure records into 2 events, with every source record still accessible. It contains no real user sessions.
With your own logs — Node.js ≥ 22.13:
npx @alloevil/agent-xray --host 127.0.0.1Open http://localhost:3800, select a platform and session, then inspect its automatic health summary. Supported directories are discovered by default; use Settings to change them. No manual labels are needed. Installation alternatives and configuration →
For an agent, script or CI job — inspect one file without starting the dashboard:
npx @alloevil/agent-xray inspect --platform omp /path/to/session.jsonl --jsonReplace the path with your log; codex and claude-code are also accepted. npx may download the package; the installed inspect command itself makes no network or model calls and never executes logged commands.
Exit 0 means a report was generated, not that the task passed. JSON contract, coverage checks and exit policies →
Real interface, synthetic data. The expanded panel separates an earlier test from an overlapping check and a later modification. Open the full-size screenshot or run the interactive chronology demo.
From a source checkout with dependencies installed, inspect the committed synthetic OMP walkthrough:
node bin/agentxray.js inspect --platform omp \
frontend/demo/sample-logs/omp/-demo-diagnostics/2026-09-23T08-00-00-000Z_0199demo-diagnostics.jsonl --jsonExcerpt of its generated JSON (other fields omitted):
{
"summary": {
"failureRecords": 8,
"pendingRecords": 7,
"pendingEvents": 2,
"recoveredRecords": 1
}
}There are 8 historical failures; 7 remain pending in 2 events, and 1 has matching later success evidence. The report also includes source lines, call states and rule hashes. These are log facts—not eight broken tasks or a success score.
- Failures without losing evidence. Group repeated unresolved operations by tool, complete arguments and user turn. Keep every original result; a group is not a root-cause diagnosis.
- Background completion. Follow supported Codex launch → poll → exit records. A process starting is not evidence that it finished; conflicting IDs stay unknown.
- Checks around edits. Distinguish before, overlapping and later checks. A successful pipeline wrapper does not prove its test fragment passed.
- What remains unknown. Surface missing, running, cancelled and ambiguous results rather than turning an incomplete log green.
- The surrounding session. Browse tool arguments/results, traces and sub-agents; search across platforms; inspect per-turn tokens and cost when reported.
- Optional tools, not prerequisites. Keep review notes, transfer exact evidence-matched reviews, curate prompts or archive sessions. Automatic evidence works without them.
Complete feature catalog and screenshot gallery → · Diagnostic rules and boundaries →
Dashboard: OpenClaw, Codex, Claude Code, Hermes, OMP, DeepSeek Harness and Gemini CLI. Hermes uses SQLite; the other six adapters read JSONL-backed logs. Compressed DeepSeek Harness logs require Node.js ≥ 22.15.
Offline inspect: Codex, OMP and Claude Code only; one stable UTF-8 JSONL file, up to 64 MiB. Known adapter loss produces incomplete coverage, not a clean result. Dashboard support does not imply equal diagnostic coverage across formats.
Default directories and overrides · Formats and path patterns
Implemented and tested: local browsing, deterministic execution-evidence rules and the offline report. The UI and CLI share their diagnostic source; tests check source references, conservative matching and temporal counterexamples. CLI validation · UI and fixture verification · Recompute published claims
Not established: improved real-world agent completion, lower costs or less developer time. In the initial synthetic pilot, all three arms passed 12/12 tasks; AgentXRay did not demonstrate an advantage over mechanical context. These experiments live under experiments/, are not included in the npm package, and are not default product behavior.
Not a completion judge: no root-cause inference, automatic repair, test-coverage proof or live process monitoring. A missing record is missing evidence, not proof that an operation did not happen. If you need instrumented production tracing or a hosted team service, this local log reader is not that product.
Core log browsing and inspect do not send logs to a model. The UI is self-contained. Optional prompt rewriting/suggestions use your configured endpoint or the claude CLI fallback, which may contact a remote provider; Fabric import downloads patterns from GitHub. Installation can contact package registries. Do not use model-powered prompt features when you require no model egress.
Separately invoked research runners can make remote calls with gated sanitized copies; they are not launched by normal browsing or inspect. Minimized reports and automated sanitization are not anonymity guarantees. Privacy and usage details →
- Usage, configuration and HTTP API · 中文使用参考
- Offline report contract · Automatic evidence and optional reviews
- Roadmap and acceptance criteria · Experimental evaluation protocol
- Development, tests and platform adapters · Report a bug
For a parser or evidence bug, include the CLI/version, expected behavior and a minimal synthetic or carefully sanitized reproducer. Do not post full personal session logs or credentials. Findings with an executable reproducer are more useful than an unexplained screenshot.
