Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

AtFlows

See what your LLM calls cost. One command. No signup.

AtFlows is a local observability tool for LLM applications. Point your SDK at it, see your costs, tokens, and latency in real-time.

python -m pip install atflows==0.1b3
atflows

AtFlows 0.1b3 is a beta release. AtFlows uses Bun (>=1.1.0) to run its local server. Install Bun before starting the command. The first launch prepares the bundled runtime in ~/.cache/atflows and needs package network access.

Dashboard: localhost:3000 · Proxy: localhost:8080


Quick Start

1. Start AtFlows

The package, CLI and GitHub repository are named atflows.

python -m pip install atflows==0.1b3
atflows

For development from source:

git clone https://github.com/aetna000/atflows.git
cd atflows
bun install
bun run build
bun run dev

2. Point Your SDK

# Python
from openai import OpenAI
client = OpenAI(base_url="http://localhost:8080/v1")
// JavaScript
const client = new OpenAI({ baseURL: 'http://localhost:8080/v1' })
// PHP
$client = OpenAI::factory()->withBaseUri('http://localhost:8080/v1')->make();

3. View Dashboard

Open localhost:3000 to see your traces, costs, and token usage.


Who Is This For?

  • Solo developers building with OpenAI, Anthropic, etc.
  • Hobbyists who want to see what their AI projects cost
  • Anyone who doesn't want to pay for or set up a SaaS observability tool

Features

Feature Description
Cost Tracking Real-time pricing for 2000+ models
Request Logging See every request/response with latency
Multi-Provider OpenAI, Anthropic, Gemini, Ollama, Groq, Mistral, and more
OpenTelemetry Accept OTLP/HTTP traces from LangChain, LlamaIndex, Traceloop, Vercel AI SDK, etc.
Session correlation Group multi-turn agent runs under one session via session.id (OpenInference / OTel)
Span timeline Virtualized waterfall view; ~5k spans per trace stays smooth
Zero Config Just run it, point your SDK, done
Local Storage SQLite database, no external services

Supported Providers

Use path prefixes or the X-AtFlows-Provider header:

Provider URL
OpenAI http://localhost:8080/v1 (default)
Anthropic http://localhost:8080/anthropic/v1
Gemini http://localhost:8080/gemini/v1
Ollama http://localhost:8080/ollama/v1
Groq http://localhost:8080/groq/v1
Mistral http://localhost:8080/mistral/v1
Azure OpenAI http://localhost:8080/azure/v1
Cohere http://localhost:8080/cohere/v1
Together http://localhost:8080/together/v1
OpenRouter http://localhost:8080/openrouter/v1
Perplexity http://localhost:8080/perplexity/v1

OpenTelemetry Support

If you're using LangChain, LlamaIndex, or other instrumented frameworks:

# Python - point OTLP exporter to AtFlows
from opentelemetry.exporter.otlp.proto.http.trace_exporter import OTLPSpanExporter

exporter = OTLPSpanExporter(endpoint="http://localhost:3000/v1/traces")
// JavaScript
import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http'

new OTLPTraceExporter({ url: 'http://localhost:3000/v1/traces' })

Session correlation

If your spans carry one of these attributes, AtFlows groups multiple traces into a single session and exposes them in the Sessions tab:

Convention Attribute
OpenInference / Phoenix / Arize session.id (recommended)
LangSmith langsmith.trace.session_id
Traceloop / OpenLLMetry traceloop.association.properties.session_id
Vercel AI SDK ai.telemetry.metadata.sessionId
OTel resource fallback service.instance.id resource attribute

For chat-thread correlation, set gen_ai.conversation.id (OTel) or traceloop.association.properties.thread_id.


Configuration

Variable Default Description
PROXY_PORT 8080 Proxy port
DASHBOARD_PORT 3000 Dashboard + OTLP receiver port (npx falls back to 1337)
DATA_DIR ~/.atflows Data directory
MAX_TRACES 10000 Max traces to retain
VERBOSE 0 Enable verbose logging

Set provider API keys as environment variables (OPENAI_API_KEY, ANTHROPIC_API_KEY, etc.) if you want the proxy to forward requests.


Development

AtFlows is a Bun workspaces monorepo (apps/server, apps/dashboard, plus six packages under packages/). Bun is required.

# Clone and install (one workspace install at root covers every package)
git clone https://github.com/aetna000/atflows.git
cd atflows && bun install

# Server (dashboard on :3000, proxy on :8080)
bun run dev

# Dashboard dev server with HMR (separate terminal, proxies /api + /ws)
bun run dev:dashboard

# Build dashboard for production (outputs to /public/)
bun run build

# Tests
bun run test                # server unit/integration
bun run --filter @atflows/dashboard test    # viewport vitest suite
bun run test:e2e            # Playwright

The dashboard is Svelte 5 + Vite 8 and builds to /public/ at the repo root. The bin entry bin/atflows.js (for the npm workspace) spawns apps/server/src/server.ts directly.


Advanced Features

For advanced usage, see the docs/ folder:


License

AtFlows changes by Javad Taghia are licensed under Apache 2.0. The inherited LLMFlow code remains subject to its original MIT license and Helge Sverre copyright notice. Both license texts and the NOTICE are included with the Python package.

Credits

AtFlows is a rebrand and continuation of LLMFlow by Helge Sverre. Original code remains under the MIT license in LICENSE-MIT-LLMFLOW. Rebrand, packaging and dashboard work by Javad Taghia.

Release files for atflows 0.1b3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for atflows 0.1b3
File Interpreter ABI Platform
atflows-0.1b3-py3-none-any.whl Python 3 none any Details

Release files / atflows-0.1b3-py3-none-any.whl

Download URL atflows-0.1b3-py3-none-any.whl
Size 185.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
cf9c851876d124fdfc81ff63938126bc31c4d069c0ec6909e6866a91d57c3b8b
BLAKE2b-256 checksum
How to use checksums
250d7d9213d86ce4bfaabc85e0ad4971b923a7e0caf46403cd3a2263f2f3f189
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.6

Release history Release notifications | RSS feed

This release

0.1b3 This release

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page