See why your AI agent retrieved what it did — interactive graph viewer for agent retrieval traces. One command, zero dependencies, nothing leaves your machine.
Project description
graphsight
See exactly why your AI agent retrieved what it did.
Your agent answered a question. Which documents did it actually pull? What scores did they get? How are they connected to each other? Most stacks make you dig through logs to answer that. Graphsight turns the run into an interactive graph in your browser — one command, zero dependencies, nothing leaves your machine.
pip install graphsight
graphsight path/to/trace_state.json
A local server starts, your browser opens, and the trace renders:
- Every retrieved item as a typed node — PRs, services, people, tickets, documents — with its retrieval score as a chip.
- The relational paths between them — person → authored → PR → resolves → issue — so you see the chain of evidence, not just a ranked list.
- Click any node to inspect the underlying content, score, and source link.
- The execution timeline of the run that produced it: every agent step, every retriever call, per-span timings.
Retrieval reasoning, out of the black box.
Where traces come from
Any tool that emits Graphsight's trace JSON. Today:
-
graphsight-langgraph — trace any LangGraph agent with a single callback handler, or trace a GitHub repo in one command:
pip install "graphsight-langgraph[example]" graphsight-github-trace langchain-ai/langgraph "who fixed the recent streaming bugs?" graphsight graphsight_out/trace_state.json
-
The TraceRAG engine — the full graph-memory backend this project grew out of; its
/api/traceresponses are the same shape.
LlamaIndex and raw-OTel adapters are planned. They'll emit the same schema and render in this same viewer.
CLI
graphsight [trace_state.json] [--port 4630] [--no-browser]
With a trace file, the browser opens straight into it. Without one, you get an import page where you can drag-and-drop or paste JSON.
Private by construction
The dependency list is empty — the UI is a bundled static build (Vite +
React + React Flow) served by Python's stdlib http.server on 127.0.0.1.
No backend, no account, no telemetry, no outbound network calls. Close the
terminal and it's gone.
Links
- Source & issues: github.com/Kcodess2807/graphsight
- The adapter: graphsight-langgraph on PyPI
- Trying the beta? BETA.md
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file graphsight-0.1.1.tar.gz.
File metadata
- Download URL: graphsight-0.1.1.tar.gz
- Upload date:
- Size: 1.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c22336e3c3a3be2c105a7a84bab9fe6e99461256965a7fd266d072a17888602f
|
|
| MD5 |
53f04b35057cf4974f0b648918624b4b
|
|
| BLAKE2b-256 |
11e6abb81ee9ef8fab1ee2de492353e5f80efde50395f07fb8b20dc3524861c6
|
File details
Details for the file graphsight-0.1.1-py3-none-any.whl.
File metadata
- Download URL: graphsight-0.1.1-py3-none-any.whl
- Upload date:
- Size: 1.3 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5746e50dd9cf7fe2a2251c890cbb2770c66fa59dac1fefa096dce8d9e4bef1d3
|
|
| MD5 |
6738bd927d3559789ad271a49543408f
|
|
| BLAKE2b-256 |
e336b6001ca45498b1bb009372768fd63f16e69ca216c203b38524268420667d
|