Introducing Trace

Debugging
Intelligence.

The stateless AI API that debugs your distributed systems.Stop playing detective in local dev tools.

Read Protocol
trace-engine.ts
Monitoring Active
1 import { Trace } from '@probe/sdk';
2
3 const result = await trace.analyze({
4 error: "Payment failed",
5 context: window.session,
6 traceId: "req_123abc"
7 });
8
9 // Root cause identified in 23ms
10 console.log(result.rootCause);
Analysis Report
23ms
Root Cause
Stripe API Rate Limit Exceeded
at PaymentService.charge()
Impact
Critical
Causality
Definite
Recommendation
+ Implement exponential backoff
+ Check retry-after headers
The Core Concept

What is Trace,
exactly?

Trace is a stateless AI API for debugging. You give it a question about your app—and it figures out which data to collect, analyzes the results, and gives you the answer.

It doesn't store your code or browser data. It thinks, then tells its client (Extension, SDK, or CLI) what to do. All execution happens locally on your machine.

Live Session
TRACE_V1.0
Your Question
"Why is the checkout button grayed out?"
Inspected DOM state
Checked network requests
Analyzed React component
Root Cause Identified
The button is disabled because cart.items.length === 0. Your cart state is empty.
ReactNext.jsVueSvelteNodeTypeScriptTailwindPrismaSupabaseVercelRailwayFly.io
ReactNext.jsVueSvelteNodeTypeScriptTailwindPrismaSupabaseVercelRailwayFly.io
GraphQLRESTWebSocketCLISDKAPIChromeFirefoxSafariEdgePlaywrightPuppeteer
GraphQLRESTWebSocketCLISDKAPIChromeFirefoxSafariEdgePlaywrightPuppeteer

Trace is already powering debugging for 100+ developers worldwide.

100+
Developers
50K+
API Calls
<25ms
Avg Response
import { Trace } from '@probebrowser/sdk';
const trace = new Trace({ apiKey: process.env.TRACE_API_KEY });
const result = await trace.analyze({
    question: "Why is the button disabled?",
    context: { url: window.location.href }
});
console.log(result.rootCause);
// Output: "cart.items.length === 0"
$ npx @probebrowser/trace analyze
> Connecting to Trace Engine...
> Analyzing page state...
> DOM inspection complete
> Network analysis complete
✓ Root cause identified in 23ms
Quick Start

Get started
in minutes

One command. That's it.
No complex setup. No performance hits. No waiting.

3
Integrations
<1min
Setup Time
Zero
Config Required
Read the full documentation
terminal
$npm install @probebrowser/sdk
engine_output.json
// trace.analyze() response
{
"rootCause": "cart.items.length === 0",
"selector": "button#checkout-btn[disabled]",
"confidence": 0.97,
"steps": [
{ "tool": "get_dom", "target": "#checkout-btn", "time": "12ms" },
{ "tool": "get_state", "target": "cart.items", "time": "8ms" },
{ "tool": "get_logs", "target": "", "time": "5ms" }
],
"metrics": { "totalTime": "25ms", "apiCalls": 3 }
}
Ready
JSON • UTF-8
Developer Native

Zero Fluff.
Pure Protocol.

Every response is structured JSON. Pipe it to your scripts, CI/CD, or build your own UI.

  • rootCause: The exact code condition. No interpretation.

  • selector: CSS selector to the element. Copy-paste ready.

  • steps + metrics: Full execution trace with timing data.

System Architecture

The Neural Core.

A stateless intelligence API that powers every client.
Inputs flow up. Insights flow down.

Core Engine

api.probe.sh/v1

POST /plan
POST /analyze
Input Sources (Clients)
Extension
DOM / Network
SDK
Server State
CLI
Local Files
Intelligent Outputs
Root Cause
Plain English Explainers
Fix Suggestion
Diffs & Code Patches
Impact Analysis
User Scope & Severity
The Debugging Journey

From Question to Fix.

Watch how Trace transforms a simple question into a detailed, actionable solution in seconds.

Step 1

You Ask a Question.

In plain English. No need to know which tool to use or where to look. Just describe your problem.

User Input
"Why is my login button not working?"
Engine: /v1/plan
{
  "steps": [
    { "tool": "get_console_logs" },
    { "tool": "get_dom_element", "selector": "#login-btn" },
    { "tool": "get_network_requests", "filter": "/api/auth" }
  ]
}
Step 2

The Engine Plans.

The Core Engine receives your query and decides which debugging tools are needed to gather the right context. It returns a plan.

Step 3

The Client Executes.

Your client (Extension, SDK, or CLI) runs the plan locally via CDP or Puppeteer. Your data never leaves your machine.

Client: Chrome Extension
get_console_logs: Done
get_dom_element: Done
get_network_requests: Running...
Engine: /v1/analyze

Root Cause: The login button has disabled=true because the /api/auth request returned a 401 Unauthorized.

Suggestion: Check if the Authorization header is being set correctly in your fetch call.

Step 4

The Engine Explains.

The client sends the results back to the Engine. The AI synthesizes all data into a human-readable root cause and actionable fix.