Skip to content

Repository files navigation

SkyWalking AI Sessionizer

SkyWalking logo

License

Conversation-level observability, measurement, and export for long-lived AI agents.

SkyWalking AI Sessionizer assembles fragmented agent telemetry into one durable conversation structure. It preserves sessions as source provenance, keeps parent and child-agent execution lineages separate, measures model-message continuity, and projects the same committed snapshot into storage, export and a local preview.

Why

Agent runtimes record a single user-visible conversation as many unrelated artifacts — transcripts, traces, logs, provider request bodies, tool events, subagent metadata. That conversation can outlive one process, reactivate after a long idle period, and contain several concurrent agent lineages.

Trace-level inspection alone cannot answer: what did the whole conversation do; which input, model response, tool result or child-agent result led to the next model call; did that call preserve the previous message history or start a new context; which agents contributed; and what should be measured, stored and exported as one unit.

Model

Conversation                          durable identity · ownership boundary
 └ Segment                            activity window · the COMMIT unit
    └ Session                         observed source provenance
       ├ ExecutionStream  main        ordered parent-agent lineage
       │  └ Context epoch × N         model-context lifetime
       │     └ Talk × N               one readable input → run → output
       │        └ Run → Step × N
       └ ExecutionStream  child × N   independent context per child agent

Two boundaries carry the design. Conversation is the durable aggregation and ownership boundary, and its identity is supplied — never inferred from a person, an account, or timestamp proximity. ExecutionStream is the ordered continuity boundary; model-message continuity is evaluated within one stream and one context epoch, never across them.

See the Unified Conversation Model.

Evidence discipline

Nothing is presented as observed unless it was observed.

Every claim carries a qualification (observed_replayable, observed_report_only, proposed, unavailable) and every correlation carries a resolution state (exact_unique, exact_ambiguous, strong_inference, unresolved, conflict). An exact identifier with several candidates stays ambiguous — the assembler never silently chooses one. Where a runtime cannot supply something, the adapter reports it as unavailable rather than approximating it.

Adapters

Runtime Status Collection
Claude Code collection implemented local files — no configuration required, and it works on history that already exists. The plugin adds which files each shell command changed. The receiver, claude-code-otlp, is off by default. It accepts what Claude Code's own OpenTelemetry exporter sends and keeps none of it, so a Claude Code set to export keeps working.
Codex planned —
LangChain / LangGraph collection implemented a receiver, langsmith-ingest, the tracing client every LangChain application carries is pointed at with four environment variables; nothing changes in the application. It lands the conversation and what each model call was sent. The plugin adds which files each tool call changed.

Quick start

Install asz, on macOS or Linux, with a version from the downloads page:

VERSION=<version>
curl -fsSL "https://raw.githubusercontent.com/apache/skywalking-ai-sessionizer/v$VERSION/install/asz.sh" | sh -s -- "$VERSION"

Then run it in the directory where it should keep its data, and open http://127.0.0.1:8787:

mkdir -p ~/asz && cd ~/asz
asz server

Install has Windows, Homebrew and the binary packages, and Quick Start the next steps.

Documentation

Official documentation lives in docs/ and is indexed by docs/menu.yml: concepts and designs, setup, the data formats, adapters, guides and the changelog. It is published at skywalking.apache.org/docs/skywalking-ai-sessionizer.

Contributing

Early contributions should focus on schemas, privacy-safe fixtures, deterministic assembly, qualification rules and golden tests. Please avoid adding inferred identities or causal edges that cannot retain their source evidence and resolution state.

License

Apache License 2.0.

Apache SkyWalking, SkyWalking, and the Apache feather logo are trademarks of The Apache Software Foundation.

Container image

docker run --rm -p 8787:8787 -v "$PWD/data:/asz/data" \
  ghcr.io/apache/skywalking-ai-sessionizer:latest view 0.0.0.0:8787

See Container Image.

About

Apache SkyWalking AI Sessionizer - conversation-level observability for long-lived AI agents

Topics

Resources

Code of conduct

Security policy

Stars

6 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages