The flight recorder for AI agents. Trace, visualize, and share your agent runs in 60 seconds.
Project description
GlassPipe — The Flight Recorder for AI Agents
See what your AI agent actually did. Share the trace in one click.
pip install glasspipe
The problem
You built an AI agent. It takes 47 seconds and costs $3 per run. You have no idea why.
The logs look like soup. You add print statements. You still don't know. You're flying blind.
GlassPipe fixes this in 60 seconds.
How it works
Add one decorator:
from glasspipe import trace
@trace
def my_agent(question):
# your existing code, completely untouched
return answer
Run your agent. Then:
glasspipe dashboard
Every LLM call, every tool, every step — captured and laid out as a visual timeline. Click any span to see exactly what went in and what came out. Share the whole trace with one click.
Install
pip install glasspipe
Requires Python 3.10+. No account. No API key. No configuration.
Quickstart
from glasspipe import trace, span
@trace
def research_agent(topic):
# Manual spans for your own steps
with span("plan", kind="custom") as s:
plan = f"I will research: {topic}"
s.record(input={"topic": topic}, output={"plan": plan})
# Tool calls
with span("web_search", kind="tool") as s:
results = ["Result 1", "Result 2"]
s.record(input={"query": topic}, output={"results": results})
return results
research_agent("AI agent observability")
Then open the dashboard:
glasspipe dashboard
Your trace is waiting at http://localhost:3000.
Auto-instrumentation
GlassPipe automatically records every OpenAI and Anthropic call — no extra code needed:
import openai
from glasspipe import trace
@trace
def my_agent(question):
# This call is automatically captured — model, tokens, cost, latency
response = openai.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": question}]
)
return response.choices[0].message.content
What gets captured automatically:
- Model name
- Prompt and completion tokens
- Cost in USD
- Latency
- Full input and output
Sharing a trace
In the dashboard, click Share on any run.
A preview modal shows you exactly what will be made public. GlassPipe scans for secrets — API keys, tokens, emails, JWTs — and highlights them. Redact anything with one click. Then confirm.
You get a link like:
https://glasspipe.dev/t/a1f9c2
Anyone can open it. No account needed. Ever. Traces expire after 30 days. You get a delete token to remove it early.
Example traces
- Simple research agent — 3 spans, plan → search → synthesize
- Customer support agent — 4 spans, classify → fetch → draft → review
(Replace these with real shared trace URLs after you run the examples)
GlassPipe vs Langfuse vs LangSmith
We're going to be honest with you. Pick the right tool.
| GlassPipe | Langfuse | LangSmith | |
|---|---|---|---|
| Install time | ~60 seconds | ~20 minutes | ~20 minutes |
| Account required | Never | Yes | Yes |
| Share a trace publicly | One click | Several steps | Several steps |
| Local dashboard | Yes | No | No |
| Team workspaces | No | Yes | Yes |
| Production monitoring | No | Yes | Yes |
| Async support | No | Yes | Yes |
| Price | Free, open source | Free tier + paid | Free tier + paid |
Use GlassPipe if: you're an indie dev or student who wants to install in 60 seconds, see what your agent is doing, and share a trace link without making an account.
Use Langfuse or LangSmith if: you need production monitoring, team features, async support, or enterprise observability.
We're not trying to replace them. We're built for a different moment.
Limitations — please read before installing
GlassPipe v1 is intentionally minimal. It does not:
- Support async Python (sync only — coming in v1.5)
- Capture streaming responses (final results only)
- Auto-instrument LangChain (raw OpenAI and Anthropic SDKs only)
- Support languages other than Python
- Provide team accounts, alerts, or production monitoring
If you need those things today, use Langfuse, LangSmith, or Arize Phoenix — they're genuinely great tools. GlassPipe is for the 60-second install crowd.
Examples
Three working examples in the /examples folder:
python examples/hello.py # minimal — one span
python examples/research_agent.py # 3 spans — plan, search, synthesize
python examples/customer_support.py # 4 spans — classify, fetch, draft, review
All examples run without a real API key.
Privacy and security
- Redaction happens on your machine, before upload. The server never sees your original data.
- The pre-share preview modal cannot be bypassed.
- Add custom redaction patterns via
GLASSPIPE_REDACT_PATTERNSenvironment variable. - Shared traces are public but unlisted — accessible only via direct link.
- All shared traces expire after 30 days.
Built with
- Python 3.10+
- Flask + HTMX (local dashboard)
- SQLite (local storage)
- SQLAlchemy
- Railway + Postgres (hosted share service)
License
MIT. Free forever.
Contributing
Issues and PRs welcome. This is a v1 — there's plenty to improve.
Built by Jonathan — LinkedIn · glasspipe.dev
(Replace # links with your real LinkedIn URL and domain once live)
Project details
Release history Release notifications | RSS feed
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 glasspipe-0.1.4.tar.gz.
File metadata
- Download URL: glasspipe-0.1.4.tar.gz
- Upload date:
- Size: 26.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4e234bf59d4c9d73e76311b5c59a8831c56963115323e9ddc90135e1d5966f77
|
|
| MD5 |
a841b653813573d2fc82859483983455
|
|
| BLAKE2b-256 |
d01f9a8da4afbca9cf1c30dc964432e4c78b81e32772320f9efa857ff906747e
|
File details
Details for the file glasspipe-0.1.4-py3-none-any.whl.
File metadata
- Download URL: glasspipe-0.1.4-py3-none-any.whl
- Upload date:
- Size: 35.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7444232f56523cc73d3a69cb4652b7978dfaa8af6a289fbf2b2c517e5a72ffbd
|
|
| MD5 |
24400c9e8b308897d00b9c7098f1f032
|
|
| BLAKE2b-256 |
ba8cd134f0440faa489d9177aab8d66ad6528f697c57c2442ddd8fa0c7a477d4
|