How theunknownport/aight-clients works
AIght SDKs record LLM usage against the caller’s source location, aggregate token and cache counts, and send spans, reported value, and business events to the AIght Workspace. Python and Node also offer provider auto-instrumentation; Go and Java provide opt-in HTTP wrapping. Python’s collectors read external agents’ local records, while its proxy observes and forwards API traffic. The graph groups parallel language implementations; unsampled subsystems are included only where the README documents them, with uncertain wiring omitted.
Main entry points: base.py Collector workflow · proxy.py Traffic proxy · remote.py Python delivery · remote.js Node delivery
Components 23
Tracing SDKs
- Python tracing
python/aight/tracing.py - Node tracing
node/src/tracing.js - Go tracing
go/tracing.go - Java tracing
java/src/main/java/studio/aight/sdk/Tracing.java
Data Delivery
- Python delivery
python/aight/remote.py - Node delivery
node/src/remote.js - Go delivery
go/remote.go - Java delivery
java/src/main/java/studio/aight/sdk/Remote.java
External Spend
- Collector workflow
python/aight/collect/base.py - Claude collector
python/aight/collect/claude_code.py - Codex collector
python/aight/collect/codex.py - Gemini collector
python/aight/collect/gemini.py - Aider collector
python/aight/collect/aider.py - Traffic proxy
python/aight/collect/proxy.py
Provider Instrumentation
- Python auto-instrument
python/aight/auto.py - Node auto-instrument
node/src/auto.js - Go HTTP wrapper
go/auto.go - Java HTTP wrapper
java/src/main/java/studio/aight/sdk/AutoInstrument.java
Other components
- Application developer
- AIght Workspace API
- Agent local records
- External agent
- LLM provider API
Connections 38
- Application developer → Python tracing: records calls
- Application developer → Node tracing: records calls
- Application developer → Go tracing: records calls
- Application developer → Java tracing: records calls
- Application developer → Python delivery: pushes data
- Application developer → Node delivery: pushes data
- Application developer → Go delivery: pushes data
- Application developer → Java delivery: pushes data
- Python delivery → Python tracing: reads buckets
- Node delivery → Node tracing: reads buckets
- Go delivery → Go tracing: reads buckets
- Java delivery → Java tracing: reads buckets
- Python delivery → AIght Workspace API: posts spans, value, events
- Node delivery → AIght Workspace API: posts ingest data
- Go delivery → AIght Workspace API: posts ingest data
- Java delivery → AIght Workspace API: posts ingest data
- Python auto-instrument → Python tracing: records provider spans
- Python auto-instrument → LLM provider API: instruments client
- Node auto-instrument → Node tracing: records provider calls
- Node auto-instrument → LLM provider API: instruments client
- Application developer → Go HTTP wrapper: configures wrapper
- Go HTTP wrapper → Go tracing: records responses
- Application developer → Java HTTP wrapper: configures wrapper
- Java HTTP wrapper → Java tracing: records responses
- External agent → Agent local records: writes sessions
- Agent local records → Claude collector: read transcripts
- Agent local records → Codex collector: read sessions
- Agent local records → Gemini collector: read sessions
- Agent local records → Aider collector: read analytics
- Claude collector → Collector workflow: parses records
- Codex collector → Collector workflow: parses records
- Gemini collector → Collector workflow: parses records
- Aider collector → Collector workflow: parses records
- Collector workflow → AIght Workspace API: posts external spans
- External agent → Traffic proxy: sends API traffic
- Traffic proxy → LLM provider API: forwards requests
- LLM provider API → Traffic proxy: returns usage
- Traffic proxy → Collector workflow: pushes usage rows