How hcd233/aris-proxy-api works
Aris is a model-aggregation gateway with a web console for managing upstreams and curating usage data, plus a CLI and server workflows for Agent Harness traces. The main call path is client → API routing and proxy use cases → configured upstream; sessions, messages, tools, and call audits preserve interaction data for review, sharing, export, and monitoring. The README documents these capabilities and several cross-service flows; unsampled implementation details are represented only where the tree supports a subsystem path.
Main entry points: usecase Protocol proxy · handler API handlers · router API routes · session_repository.go Session storage
Components 22
Model gateway
- API routes
internal/router - API handlers
internal/handler - Auth and limits
internal/middleware - Protocol proxy
internal/application/llmproxy/usecase - Protocol converters
internal/application/llmproxy/converter
Usage data
- Session records
internal/domain/session - Session storage
internal/infrastructure/repository/session_repository.go - Relational database
- Dataset export
internal/application/dataset - Usage audit and stats
internal/application/audit
Trace analysis
- Aris CLI
cmd/client - Trace collection
internal/client/trace - Trace ingestion and queries
internal/application/trace - Trace console
web/src/app/(dashboard)/trace
Management and operations
- Endpoint and model config
internal/domain/llmproxy/service/resolver.go - Admin use cases
internal/application - Scheduled governance
internal/cron - Runtime monitoring
internal/infrastructure/metrics - Redis cache
Other components
- Agent clients
- Admin console
- MaaS providers
Connections 24
- Agent clients → API routes: sends requests
- Admin console → API routes: uses API
- Aris CLI → Trace ingestion and queries: uploads batches
- API routes → Auth and limits: applies guards
- API routes → API handlers: dispatches routes
- API handlers → Protocol proxy: invokes proxy
- API handlers → Admin use cases: invokes operations
- API handlers → Trace ingestion and queries: invokes trace
- Protocol proxy → Endpoint and model config: resolves model
- Protocol proxy → Protocol converters: translates protocol
- Protocol proxy → MaaS providers: forwards requests
- Protocol proxy → Session records: records interactions
- Protocol proxy → Usage audit and stats: records calls
- Session records → Session storage: persists data
- Session storage → Relational database: reads and writes
- Dataset export → Session storage: queries sessions
- Dataset export → Admin console: streams export
- Usage audit and stats → Session storage: reads usage data
- Trace collection → Aris CLI: feeds events
- Trace ingestion and queries → Session records: rebuilds conversations
- Trace console → Admin console: presents traces
- Admin use cases → Redis cache: uses cache and pubsub
- Scheduled governance → Redis cache: coordinates reloads
- Runtime monitoring → Redis cache: stores snapshots