freshcrate
Skin:/
Home > Infrastructure > axonhub

axonhub

⚡️ Open-source AI Gateway — Use any SDK to call 100+ LLMs. Built-in failover, load balancing, cost control & end-to-end tracing.

Why this rank:Strong adoptionRecent releaseHealthy release cadence

Description

⚡️ Open-source AI Gateway — Use any SDK to call 100+ LLMs. Built-in failover, load balancing, cost control & end-to-end tracing.

README

AxonHub - All-in-one AI Development Platform

Use any SDK. Access any model. Zero code changes.

looplj%2Faxonhub | Trendshift


NOTE

  1. This project is maintained by an individual. The author makes no warranties and assumes no liability for risks arising from its use. Please evaluate carefully.
  2. The core scope of this project does not include 2api (subscription-to-API conversion). If you need that, consider other open-source projects focused on 2api.

📖 Project Introduction

All-in-one AI Development Platform

AxonHub is the AI gateway that lets you switch between model providers without changing a single line of code.

Whether you're using OpenAI SDK, Anthropic SDK, or any AI SDK, AxonHub transparently translates your requests to work with any supported model provider. No refactoring, no SDK swaps—just change a configuration and you're done.

What it solves:

  • 🔒 Vendor lock-in - Switch from GPT-4 to Claude or Gemini instantly
  • 🔧 Integration complexity - One API format for 10+ providers
  • 📊 Observability gap - Complete request tracing out of the box
  • 💸 Cost control - Real-time usage tracking and budget management
AxonHub Architecture

Core Features

Feature What You Get
🔄 Any SDK → Any Model Use OpenAI SDK to call Claude, or Anthropic SDK to call GPT. Zero code changes.
🔍 Full Request Tracing Complete request timelines with thread-aware observability. Debug faster.
🔐 Enterprise RBAC Fine-grained access control, usage quotas, and data isolation.
Smart Load Balancing Auto failover in <100ms. Always route to the healthiest channel.
💰 Real-time Cost Tracking Per-request cost breakdown. Input, output, cache tokens—all tracked.

📚 Documentation

For detailed technical documentation, API references, architecture design, and more:

Try AxonHub live at our demo instance!

Note:The demo instance currently configures Zhipu and OpenRouter free models.

Demo Account


⭐ Features

📸 Screenshots

Here are some screenshots of AxonHub in action:

System Dashboard
System Dashboard
Channel Management
Channel Management
Model Price
Model Price
Models
Models
Trace Viewer
Trace Viewer
Request Monitoring
Request Monitoring

🚀 API Types

API Type Status Description Document
Text Generation ✅ Done Conversational interface OpenAI API, Anthropic API, Gemini API
Image Generation ✅ Done Image generation Image Generation
Rerank ✅ Done Results ranking Rerank API
Embedding ✅ Done Vector embedding generation Embedding API
Realtime 📝 Todo Live conversation capabilities -

🤖 Supported Providers

Provider Status Supported Models Compatible APIs
OpenAI ✅ Done GPT-4, GPT-4o, GPT-5, etc. OpenAI, Anthropic, Gemini, Embedding, Image Generation
Anthropic ✅ Done Claude 3.5, Claude 3.0, etc. OpenAI, Anthropic, Gemini
Zhipu AI ✅ Done GLM-4.5, GLM-4.5-air, etc. OpenAI, Anthropic, Gemini
Moonshot AI (Kimi) ✅ Done kimi-k2, etc. OpenAI, Anthropic, Gemini
DeepSeek ✅ Done DeepSeek-V3.1, etc. OpenAI, Anthropic, Gemini
ByteDance Doubao ✅ Done doubao-1.6, etc. OpenAI, Anthropic, Gemini, Image Generation
Gemini ✅ Done Gemini 2.5, etc. OpenAI, Anthropic, Gemini, Image Generation
Fireworks ✅ Done MiniMax-M2.5, GLM-5, Kimi K2.5, etc. OpenAI
Jina AI ✅ Done Embeddings, Reranker, etc. Jina Embedding, Jina Rerank
OpenRouter ✅ Done Various models OpenAI, Anthropic, Gemini, Image Generation
ZAI ✅ Done - Image Generation
AWS Bedrock 🔄 Testing Claude on AWS OpenAI, Anthropic, Gemini
Google Cloud 🔄 Testing Claude on GCP OpenAI, Anthropic, Gemini
NanoGPT ✅ Done Various models, Image Gen OpenAI, Anthropic, Gemini, Image Generation

🚀 Quick Start

30-Second Local Start

# Download and extract (macOS ARM64 example)
curl -sSL https://github.com/looplj/axonhub/releases/latest/download/axonhub_darwin_arm64.tar.gz | tar xz
cd axonhub_*

# Run with SQLite (default)
./axonhub

# Open http://localhost:8090
# First run: Follow the setup wizard to initialize the system (create admin account, password must be at least 6 characters)

That's it! Now configure your first AI channel and start calling models through AxonHub.

Zero-Code Migration Example

Your existing code works without any changes. Just point your SDK to AxonHub:

from openai import OpenAI

client = OpenAI(
    base_url="http://localhost:8090/v1",  # Point to AxonHub
    api_key="your-axonhub-api-key"        # Use AxonHub API key
)

# Call Claude using OpenAI SDK!
response = client.chat.completions.create(
    model="claude-3-5-sonnet",  # Or gpt-4, gemini-pro, deepseek-chat...
    messages=[{"role": "user", "content": "Hello!"}]
)

Switch models by changing one line: model="gpt-4"model="claude-3-5-sonnet". No SDK changes needed.

1-click Deploy to Render

Deploy AxonHub with 1-click on Render for free.


🚀 Deployment Guide

💻 Personal Computer Deployment

Perfect for individual developers and small teams. No complex configuration required.

Quick Download & Run

  1. Download the latest release from GitHub Releases

    • Choose the appropriate version for your operating system:
  2. Extract and run

    # Extract the downloaded file
    unzip axonhub_*.zip
    cd axonhub_*
    
    # Add execution permissions (only for Linux/macOS)
    chmod +x axonhub
    
    # Run directly - default SQLite database
    
    # Install AxonHub to system
    sudo ./install.sh
    
    # Start AxonHub service
    ./start.sh
    
    # Stop AxonHub service
    ./stop.sh
  3. Access the application

    http://localhost:8090
    

🖥️ Server Deployment

For production environments, high availability, and enterprise deployments.

Database Support

AxonHub supports multiple databases to meet different scale deployment needs:

Database Supported Versions Recommended Scenario Auto Migration Links
TiDB Cloud Starter Serverless, Free tier, Auto Scale ✅ Supported TiDB Cloud
TiDB Cloud Dedicated Distributed deployment, large scale ✅ Supported TiDB Cloud
TiDB V8.0+ Distributed deployment, large scale ✅ Supported TiDB
Neon DB - Serverless, Free tier, Auto Scale ✅ Supported Neon DB
PostgreSQL 15+ Production environment, medium-large deployments ✅ Supported PostgreSQL
MySQL 8.0+ Production environment, medium-large deployments ✅ Supported MySQL
SQLite 3.0+ Development environment, small deployments ✅ Supported SQLite

Configuration

AxonHub uses YAML configuration files with environment variable override support:

# config.yml
server:
  port: 8090
  name: "AxonHub"
  debug: false

db:
  dialect: "tidb"
  dsn: "<USER>.root:<PASSWORD>@tcp(gateway01.us-west-2.prod.aws.tidbcloud.com:4000)/axonhub?tls=true&parseTime=true&multiStatements=true&charset=utf8mb4"

log:
  level: "info"
  encoding: "json"

Environment variables:

AXONHUB_SERVER_PORT=8090
AXONHUB_DB_DIALECT="tidb"
AXONHUB_DB_DSN="<USER>.root:<PASSWORD>@tcp(gateway01.us-west-2.prod.aws.tidbcloud.com:4000)/axonhub?tls=true&parseTime=true&multiStatements=true&charset=utf8mb4"
AXONHUB_LOG_LEVEL=info

For detailed configuration instructions, please refer to configuration documentation.

Docker Compose Deployment

# Clone project
git clone https://github.com/looplj/axonhub.git
cd axonhub

# Set environment variables
export AXONHUB_DB_DIALECT="tidb"
export AXONHUB_DB_DSN="<USER>.root:<PASSWORD>@tcp(gateway01.us-west-2.prod.aws.tidbcloud.com:4000)/axonhub?tls=true&parseTime=true&multiStatements=true&charset=utf8mb4"

# Start services
docker-compose up -d

# Check status
docker-compose ps

Helm Kubernetes Deployment

Deploy AxonHub on Kubernetes using the official Helm chart:

# Quick installation
git clone https://github.com/looplj/axonhub.git
cd axonhub
helm install axonhub ./deploy/helm

# Production deployment
helm install axonhub ./deploy/helm -f ./deploy/helm/values-production.yaml

# Access AxonHub
kubectl port-forward svc/axonhub 8090:8090
# Visit http://localhost:8090

Key Configuration Options:

Parameter Description Default
axonhub.replicaCount Replicas 1
axonhub.dbPassword DB password axonhub_password
postgresql.enabled Embedded PostgreSQL true
ingress.enabled Enable ingress false
persistence.enabled Data persistence false

For detailed configuration and troubleshooting, see Helm Chart Documentation.

Virtual Machine Deployment

Download the latest release from GitHub Releases

# Extract and run
unzip axonhub_*.zip
cd axonhub_*

# Set environment variables
export AXONHUB_DB_DIALECT="tidb"
export AXONHUB_DB_DSN="<USER>.root:<PASSWORD>@tcp(gateway01.us-west-2.prod.aws.tidbcloud.com:4000)/axonhub?tls=true&parseTime=true&multiStatements=true&charset=utf8mb4"

sudo ./install.sh

# Configuration file check
axonhub config check

# Start service
#  For simplicity, we recommend managing AxonHub with the helper scripts:

# Start
./start.sh

# Stop
./stop.sh

📖 Usage Guide

Unified API Overview

AxonHub provides a unified API gateway that supports both OpenAI Chat Completions and Anthropic Messages APIs. This means you can:

  • Use OpenAI API to call Anthropic models - Keep using your OpenAI SDK while accessing Claude models
  • Use Anthropic API to call OpenAI models - Use Anthropic's native API format with GPT models
  • Use Gemini API to call OpenAI models - Use Gemini's native API format with GPT models
  • Automatic API translation - AxonHub handles format conversion automatically
  • Zero code changes - Your existing OpenAI or Anthropic client code continues to work

1. Initial Setup

  1. Access Management Interface

    http://localhost:8090
    
  2. Configure AI Providers

    • Add API keys in the management interface
    • Test connections to ensure correct configuration
  3. Create Users and Roles

    • Set up permission management
    • Assign appropriate access permissions

2. Channel Configuration

Configure AI provider channels in the management interface. For detailed information on channel configuration, including model mappings, parameter overrides, and troubleshooting, see the Channel Configuration Guide.

3. Model Management

AxonHub provides a flexible model management system that supports mapping abstract models to specific channels and model implementations through Model Associations. This enables:

  • Unified Model Interface - Use abstract model IDs (e.g., gpt-4, claude-3-opus) instead of channel-specific names
  • Intelligent Channel Selection - Automatically route requests to optimal channels based on association rules and load balancing
  • Flexible Mapping Strategies - Support for precise channel-model matching, regex patterns, and tag-based selection
  • Priority-based Fallback - Configure multiple associations with priorities for automatic failover

For comprehensive information on model management, including association types, configuration examples, and best practices, see the Model Management Guide.

4. Create API Keys

Create API keys to authenticate your applications with AxonHub. Each API key can be configured with multiple profiles that define:

  • Model Mappings - Transform user-requested models to actual available models using exact match or regex patterns
  • Channel Restrictions - Limit which channels an API key can use by channel IDs or tags
  • Model Access Control - Control which models are accessible through a specific profile
  • Profile Switching - Change behavior on-the-fly by activating different profiles

For detailed information on API key profiles, including configuration examples, validation rules, and best practices, see the API Key Profile Guide.

5. AI Coding Tools Integration

See the dedicated guides for detailed setup steps, troubleshooting, and tips on combining these tools with AxonHub model profiles:


6. SDK Usage

For detailed SDK usage examples and code samples, please refer to the API documentation:

🛠️ Development Guide

For detailed development instructions, architecture design, and contribution guidelines, please see docs/en/development/development.md.


🤝 Acknowledgments


📄 License

This project is licensed under multiple licenses (Apache-2.0 and LGPL-3.0). See LICENSE file for the detailed licensing overview and terms.


AxonHub - All-in-one AI Development Platform, making AI development simpler

🏠 Homepage📚 Documentation🐛 Issue Feedback

Built with ❤️ by the AxonHub team

Release History

VersionChangesUrgencyDate
v1.0.0-beta2## What's Changed * chore: sync model developers data by @github-actions[bot] in https://github.com/looplj/axonhub/pull/1706 * fix: scroll for the channel rate limit dialog, close #1701 by @looplj in https://github.com/looplj/axonhub/pull/1708 * feat: render structured request log content, close #1698 by @looplj in https://github.com/looplj/axonhub/pull/1711 * fix: 修复了多图输入情况下转发失效的问题 by @sxueck in https://github.com/looplj/axonhub/pull/1714 * feat: add advanced model route conditions, close High6/2/2026
v1.0.0-beta1## What's Changed * feat: 请求日志记录新增'推理强度'字段 by @deqiying in https://github.com/looplj/axonhub/pull/1506 * feat: per-channel concurrency queue + admission control by @suixinio in https://github.com/looplj/axonhub/pull/1503 * feat: auto reasoning effort with suffix by @looplj in https://github.com/looplj/axonhub/pull/1515 * feat: add optional read-write separation for database by @lazhenyi in https://github.com/looplj/axonhub/pull/1516 * feat(quota): add wafer, synthetic, and neuralwatt quota Medium5/23/2026
v0.9.43**Full Changelog**: https://github.com/looplj/axonhub/compare/v0.9.42...v0.9.43High5/23/2026
v0.9.42**Full Changelog**: https://github.com/looplj/axonhub/compare/v0.9.40...v0.9.42High5/8/2026
v0.9.38## What's Changed * fix(list_models): respect API key profile filtering in full model data mode by @djdembeck in https://github.com/looplj/axonhub/pull/1480 * feat: success rate page for all channels by @banlanzs in https://github.com/looplj/axonhub/pull/1483 * feat: array override ops (array_append, array_prepend, array_insert) by @paopaoandlingyia in https://github.com/looplj/axonhub/pull/1481 * fix: deepseek reasoning content content aggregator by @looplj in https://github.com/looplj/axoHigh4/26/2026
v0.9.36## What's Changed * fix(ui): show secondary rate limit reset time in quota badges by @myml in https://github.com/looplj/axonhub/pull/1437 * feat(channels): add ollama channel support by @myml in https://github.com/looplj/axonhub/pull/1439 * fix: channel probe filter & token stats by @looplj in https://github.com/looplj/axonhub/pull/1446 * fix: rerank pass through body model by @looplj in https://github.com/looplj/axonhub/pull/1447 * fix: empty detect for non chat request type, close #1445 bHigh4/23/2026
v0.9.35## What's Changed * chore: sync model developers data by @github-actions[bot] in https://github.com/looplj/axonhub/pull/1416 * Revert "fix(channels): bulk weight adjustment not populating on drag … by @looplj in https://github.com/looplj/axonhub/pull/1420 * doc: fix broken doc link by @looplj in https://github.com/looplj/axonhub/pull/1422 * chore: sync model developers data by @github-actions[bot] in https://github.com/looplj/axonhub/pull/1423 * docs: rename model mapping to model alias by High4/21/2026
v0.9.34## What's Changed * opt: change save data to not return value by @looplj in https://github.com/looplj/axonhub/pull/1405 * opt: generate stable device id and account uuid for claude code by @looplj in https://github.com/looplj/axonhub/pull/1406 * fix(channels): bulk weight adjustment not populating on drag reorder by @djdembeck in https://github.com/looplj/axonhub/pull/1401 * chore(i18n): 补充 StepFun 开发者名称翻译 by @llc1123 in https://github.com/looplj/axonhub/pull/1407 * fix(anthropic): accept xHigh4/17/2026
v0.9.33## What's Changed * feat: gemini/doubao embedding, close #1093 by @looplj in https://github.com/looplj/axonhub/pull/1388 * opt: try to fix channel/model cache not refreshed by @looplj in https://github.com/looplj/axonhub/pull/1390 * opt: align codex trace header with latest codex cli by @yoke233 in https://github.com/looplj/axonhub/pull/1387 * feat: realtime chunks preview and response preview by @LazuliKao in https://github.com/looplj/axonhub/pull/1342 * feat: add cache diagnostics tool byHigh4/16/2026
v0.9.32## What's Changed * feat: channel rpm settings, close #746 by @looplj in https://github.com/looplj/axonhub/pull/1320 * feat: channel concurrency settings, close #1130 by @looplj in https://github.com/looplj/axonhub/pull/1322 * chore(deps): upgrade aws eventstream by @looplj in https://github.com/looplj/axonhub/pull/1332 * feat: add kwaipilot developer catalog support by @llc1123 in https://github.com/looplj/axonhub/pull/1328 * feat: repsect channel response with retry after, close #858 by @High4/13/2026
v0.9.31## What's Changed * fix: allow nil project profiles, close #1316 by @looplj in https://github.com/looplj/axonhub/pull/1317 **Full Changelog**: https://github.com/looplj/axonhub/compare/v0.9.30...v0.9.31High4/7/2026
v0.9.30## What's Changed * docs: add Japanese README by @eltociear in https://github.com/looplj/axonhub/pull/1299 * feat: add project profiles for channel filtering close #1233 by @looplj in https://github.com/looplj/axonhub/pull/1303 * feat: search api key by key, close #1301 by @looplj in https://github.com/looplj/axonhub/pull/1305 * chore: clenup unnesessary project id for oauth channels by @looplj in https://github.com/looplj/axonhub/pull/1306 * opt: add timeout for fx startup, close #1304 by Medium4/7/2026
v0.9.29## What's Changed * fix: missing translation and script by @looplj in https://github.com/looplj/axonhub/pull/1293 * fix: check translation key script and add missing i18n key, close #1295 by @looplj in https://github.com/looplj/axonhub/pull/1296 * doc: add sqlite wal docs by @looplj in https://github.com/looplj/axonhub/pull/1297 **Full Changelog**: https://github.com/looplj/axonhub/compare/v0.9.28...v0.9.29Medium4/6/2026
v0.9.28## What's Changed * fix(moonshot): normalize negative input tokens by @djdembeck in https://github.com/looplj/axonhub/pull/1276 * ci: add build workflow by @djdembeck in https://github.com/looplj/axonhub/pull/1275 * doc: anouncement for claude code by @looplj in https://github.com/looplj/axonhub/pull/1280 * feat: allow delete user by @looplj in https://github.com/looplj/axonhub/pull/1284 * feat: allow delete project by @looplj in https://github.com/looplj/axonhub/pull/1285 * opt: threads/tMedium4/5/2026
v0.9.27## What's Changed * fix: cmd/schema build failed by @looplj in https://github.com/looplj/axonhub/pull/1273 **Full Changelog**: https://github.com/looplj/axonhub/compare/v0.9.26...v0.9.27Medium4/3/2026
v0.9.26## What's Changed * Add OpenAI GET /v1/models/{model} endpoint by @SHLE1 in https://github.com/looplj/axonhub/pull/1246 * feat: 增加模型自动同步频率配置 by @cikichen in https://github.com/looplj/axonhub/pull/1242 * feat(config): auto generate schema for config by @LazuliKao in https://github.com/looplj/axonhub/pull/1100 * chore: remove skills, migrate to axonclaw-skills by @looplj in https://github.com/looplj/axonhub/pull/1250 * chore(deps): bump google.golang.org/grpc from 1.77.0 to 1.79.3 in /cmd/schMedium4/3/2026
v0.9.25## What's Changed * feat: add user agent pass-through settings by @djdembeck in https://github.com/looplj/axonhub/pull/1231 * feat(system): add prefer language during initialization by @myml in https://github.com/looplj/axonhub/pull/1236 * opt: do not route to static assets for API path by @looplj in https://github.com/looplj/axonhub/pull/1237 * chore: cleanup xxx ptr to use lo by @looplj in https://github.com/looplj/axonhub/pull/1238 * feat: api key profile channel tags compposite, close #Medium4/2/2026
v0.9.24## What's Changed * refactor: 登录页背景动画循环并补充调试入口 by @llc1123 in https://github.com/looplj/axonhub/pull/1221 * fix: passthrough X-Initiator header in Copilot channel for billing control by @JasonWenTheFox in https://github.com/looplj/axonhub/pull/1222 * feat: bulk test channels, close #1219 by @looplj in https://github.com/looplj/axonhub/pull/1228 * fix(nanogpt): implement XML tool call parsing for NanoGPT transformer by @djdembeck in https://github.com/looplj/axonhub/pull/1211 * feat: add proMedium3/31/2026
v0.9.23## What's Changed * chore(codex): upgrade codex ua version by @looplj in https://github.com/looplj/axonhub/pull/1151 * doc: add request processing by @looplj in https://github.com/looplj/axonhub/pull/1155 * fix: auto disble text, close #1156 by @looplj in https://github.com/looplj/axonhub/pull/1159 * chore: 为 Codex 计划补充 gpt-5.3-codex-spark 和 gpt-5.4-mini 模型 by @llc1123 in https://github.com/looplj/axonhub/pull/1162 * refactor: 去除 Codex CLI 伪装并简化 Codex 兼容逻辑 by @llc1123 in https://github.com/Medium3/28/2026
v0.9.22## What's Changed * feat: standardize chart legend lists by @djdembeck in https://github.com/looplj/axonhub/pull/1141 * build: add freebsd support for releases by @cikichen in https://github.com/looplj/axonhub/pull/1146 * feat: add cli + skill, close #1085 by @looplj in https://github.com/looplj/axonhub/pull/1149 * fix: anthropic adaptive thinking effort did not pass to other outbound by @looplj in https://github.com/looplj/axonhub/pull/1150 **Full Changelog**: https://github.com/loopljMedium3/24/2026
v0.9.21## What's Changed * chore: sync model developers data by @github-actions[bot] in https://github.com/looplj/axonhub/pull/1122 * fix(gemini): remove metadata and disable inbound query merge by @rainive in https://github.com/looplj/axonhub/pull/1124 * feat(dashboard): add time period filter to all charts by @djdembeck in https://github.com/looplj/axonhub/pull/1129 * fix(anthropic): empty thinking cause content block not stop by @looplj in https://github.com/looplj/axonhub/pull/1135 * fix(ci): Medium3/23/2026
v0.9.20## What's Changed * feat: allow no auth for api, close #1104 by @looplj in https://github.com/looplj/axonhub/pull/1107 * feat: prompt protect, close #850 wip by @looplj in https://github.com/looplj/axonhub/pull/1109 * fix(anthropic): omitted thinking block, close #1105 by @looplj in https://github.com/looplj/axonhub/pull/1113 * fix(anthropic): panic for some cases, close #1112 by @looplj in https://github.com/looplj/axonhub/pull/1114 * fix: no auth and prompt protect, misc by @looplj in httLow3/21/2026
v0.9.19## What's Changed * feat(apikeys): add token usage statistics with read permission support by @hen7777777 in https://github.com/looplj/axonhub/pull/1087 * opt(llm): thinking signature encode with channel footprint, close #1035 by @looplj in https://github.com/looplj/axonhub/pull/1066 * chore(deps): bump google.golang.org/grpc from 1.77.0 to 1.79.3 by @dependabot[bot] in https://github.com/looplj/axonhub/pull/1096 * doc: add note to readme by @looplj in https://github.com/looplj/axonhub/pull/Low3/19/2026
v0.9.18## What's Changed * feat(llm): add Reasoning field support for additional provider compatibility by @djdembeck in https://github.com/looplj/axonhub/pull/1077 * feat: add copy url button on api key dialog, close 1072 by @looplj in https://github.com/looplj/axonhub/pull/1079 * feat: save channel proxy configs, close #1078 by @looplj in https://github.com/looplj/axonhub/pull/1080 * feat: show request execution error status code, close #1049 by @looplj in https://github.com/looplj/axonhub/pull/1Low3/17/2026
v0.9.17## What's Changed * fix: preserve JSON-like string values in header override by @GhostFlying in https://github.com/looplj/axonhub/pull/1052 * opt: image display in request/trace, close #1047 by @looplj in https://github.com/looplj/axonhub/pull/1056 * fix(dashboard): incorrect time conversion in MySQL by @imlonghao in https://github.com/looplj/axonhub/pull/1058 * fix(orchestrator): preserve completed responses on client disconnect by @Chengxiwei in https://github.com/looplj/axonhub/pull/1059 Low3/15/2026
v0.9.16## What's Changed * fix: gemini 转换中 lastPart 为 nil 时避免 panic by @MomentDerek in https://github.com/looplj/axonhub/pull/1051 * Revert "opt: reduce sqlite "database is locked" error (#1009)" by @looplj in https://github.com/looplj/axonhub/pull/1053 * Revert "opt: auto reorder channels, close #822 (#1005)" by @looplj in https://github.com/looplj/axonhub/pull/1055 **Full Changelog**: https://github.com/looplj/axonhub/compare/v0.9.15...v0.9.16Low3/13/2026
v0.9.15## What's Changed * fix: sqlite "database is locked" error by @myml in https://github.com/looplj/axonhub/pull/1009 * feat: refine GC cleanup logic to support manual full purge by @cikichen in https://github.com/looplj/axonhub/pull/1010 * refactor: rename GraphQL mutation to triggerGcCleanup (follow-up to #1010) by @cikichen in https://github.com/looplj/axonhub/pull/1017 * feat: unlock codex stream limit by @PA733 in https://github.com/looplj/axonhub/pull/1019 * fix(biz): resolve WebDAV 405 Low3/12/2026
v0.9.14## What's Changed * feat: allow type editing for third-party codex/claudecode channels and make channel name clickable by @raikyou in https://github.com/looplj/axonhub/pull/992 * fix(gemini): response json schema compatible, close #991 by @looplj in https://github.com/looplj/axonhub/pull/1000 * feat(system): add manual log cleanup trigger UI by @cikichen in https://github.com/looplj/axonhub/pull/1001 * opt: auto reorder channels, close #822 by @looplj in https://github.com/looplj/axonhub/pulLow3/9/2026
v0.9.13## What's Changed * feat(dashboard): add all-time token statistics by @djdembeck in https://github.com/looplj/axonhub/pull/945 * feat(requests): add quick-view drawer and improve JSON display by @raikyou in https://github.com/looplj/axonhub/pull/978 * feat(channels,models): allow editing provider, API format, developer, model ID, and type by @raikyou in https://github.com/looplj/axonhub/pull/982 * style: remove width limit on model list by @myml in https://github.com/looplj/axonhub/pull/983 Low3/7/2026
v0.9.12## What's Changed * opt(openai): filter out response custom tool for openai outbound by @looplj in https://github.com/looplj/axonhub/pull/954 * opt: channel override template default value, close #958 by @looplj in https://github.com/looplj/axonhub/pull/963 * chore: add setup script, close #925 by @looplj in https://github.com/looplj/axonhub/pull/964 * fix: should exit if the subcommand exits by @looplj in https://github.com/looplj/axonhub/pull/965 **Full Changelog**: https://github.comLow3/5/2026
v1.0.0-alpha2## What's Changed * fix: cap performance chart display to prevent outlier skew by @djdembeck in https://github.com/looplj/axonhub/pull/941 * fix(anthropic): should not validate output config, close #949 by @looplj in https://github.com/looplj/axonhub/pull/950 * opt: version checker skip other service by @looplj in https://github.com/looplj/axonhub/pull/951 * opt(openai): filter out response custom tool for openai outbound by @looplj in https://github.com/looplj/axonhub/pull/954 * Release: vLow3/4/2026
v0.9.11## What's Changed * fix: cap performance chart display to prevent outlier skew by @djdembeck in https://github.com/looplj/axonhub/pull/941 * fix(anthropic): should not validate output config, close #949 by @looplj in https://github.com/looplj/axonhub/pull/950 * opt: version checker skip other service by @looplj in https://github.com/looplj/axonhub/pull/951 **Full Changelog**: https://github.com/looplj/axonhub/compare/v0.9.10...v0.9.11Low3/4/2026
axonclaw-v0.0.1-beta11## What's Changed * fix(frontend): correct base URL display and update for search channels by @djdembeck in https://github.com/looplj/axonhub/pull/947 **Full Changelog**: https://github.com/looplj/axonhub/compare/axonclaw-v0.0.1-beta10...axonclaw-v0.0.1-beta11 ## What's Changed * fix(frontend): correct base URL display and update for search channels by @djdembeck in https://github.com/looplj/axonhub/pull/947 **Full Changelog**: https://github.com/looplj/axonhub/compare/axonclaw-v0.0.1-bLow3/4/2026
axonclaw-v0.0.1-beta10**Full Changelog**: https://github.com/looplj/axonhub/compare/v1.0.0-alpha1...axonclaw-v0.0.1-beta10Low3/4/2026
v1.0.0-alpha1## What's Changed * Introduce axon/aconcli/axonclaw by @looplj in https://github.com/looplj/axonhub/pull/944 **Full Changelog**: https://github.com/looplj/axonhub/compare/v0.9.10...v1.0.0-alpha1Low3/4/2026
v0.9.10## What's Changed * feat(channel): add GitHub Copilot with OAuth device flow support by @djdembeck in https://github.com/looplj/axonhub/pull/900 * Fix AutoSyncModelPattern not being saved in channel updates by @caglareker in https://github.com/looplj/axonhub/pull/917 * fix: sync models now with pattern, close #920 by @looplj in https://github.com/looplj/axonhub/pull/921 * refactor: move copilot token exchanger to the copilot internal by @looplj in https://github.com/looplj/axonhub/pull/924 Low3/3/2026
axonclaw-v0.0.1-beta9**Full Changelog**: https://github.com/looplj/axonhub/compare/axonclaw-v0.0.1-beta5...axonclaw-v0.0.1-beta9Low3/3/2026
axonclaw-v0.0.1-beta7Test **Full Changelog**: https://github.com/looplj/axonhub/compare/axonclaw-v0.0.1-beta5...axonclaw-v0.0.1-beta7Low3/3/2026
axonclaw-v0.0.1-beta6Test **Full Changelog**: https://github.com/looplj/axonhub/compare/axonclaw-v0.0.1-beta5...axonclaw-v0.0.1-beta6Low3/3/2026
axonclaw-v0.0.1-beta5Test **Full Changelog**: https://github.com/looplj/axonhub/compare/axonclaw-v0.0.1-beta1...axonclaw-v0.0.1-beta5Low3/3/2026
axonclaw-v0.0.1-beta4Test Low3/3/2026
axonclaw-v0.0.1-beta3TestLow3/3/2026
axonclaw-v0.0.1-beta2TestLow3/2/2026
axonclaw-v0.0.1-beta1TestLow3/2/2026
v0.9.9## What's Changed * opt: add space after data: for sse event by @looplj in https://github.com/looplj/axonhub/pull/890 * opt: model list group by developer, close #840 by @looplj in https://github.com/looplj/axonhub/pull/891 * fix(llm): missing response format json schema, close #893 by @looplj in https://github.com/looplj/axonhub/pull/897 * feat: auto sync models with filter, close #896 by @looplj in https://github.com/looplj/axonhub/pull/898 * feat: openai/doubao video generation by @looplLow2/26/2026
v0.9.8## What's Changed * chore: add restart and upgrade script by @looplj in https://github.com/looplj/axonhub/pull/869 * fix: should skip onbording for non-owner users by @looplj in https://github.com/looplj/axonhub/pull/870 * chore: sync model developers data by @github-actions[bot] in https://github.com/looplj/axonhub/pull/877 * fix(gemini): resolve Vertex AI function call ID and grouping issues (#874) by @djdembeck in https://github.com/looplj/axonhub/pull/880 * feat(dashboard): add performaLow2/22/2026
v0.9.7## What's Changed * fix: auto-refresh pagination limit by @djdembeck in https://github.com/looplj/axonhub/pull/845 * opt: remove wal for sqlite in install scripts by @looplj in https://github.com/looplj/axonhub/pull/847 * refactor: cleanup llm package deps by @looplj in https://github.com/looplj/axonhub/pull/848 * refactor: migrate log in llm to slog by @looplj in https://github.com/looplj/axonhub/pull/849 * refactor: make llm a go mod by @looplj in https://github.com/looplj/axonhub/pull/85Low2/19/2026
v0.9.6## What's Changed * chore: sync model developers data by @github-actions[bot] in https://github.com/looplj/axonhub/pull/839 * fix: handle embedding responses for stats display by @djdembeck in https://github.com/looplj/axonhub/pull/835 * feat(claudecode): add IsOfficial param to strip billing header for non-OAuth channels by @looplj in https://github.com/looplj/axonhub/pull/842 * perf(channels): optimize model list rendering with virtual scrolling by @looplj in https://github.com/looplj/axonLow2/14/2026
v0.9.5## 重大变更 1. 重构了权限控制,如果遇到问题,欢迎及时反馈 ## MAJOR Changes 2. Refactored scopes control,feel free to feedback ## What's Changed * feat(dashboard): Add Fastest Performers Cards with Token/s Visualization by @djdembeck in https://github.com/looplj/axonhub/pull/802 * fix: token statistics card responsive layout overflow on mobile by @djdembeck in https://github.com/looplj/axonhub/pull/803 * refactor: introduce authz to unify bypass by @looplj in https://github.com/looplj/axonhub/pull/805 * fix: Low2/13/2026
v0.9.5-beta1## What's Changed * feat(dashboard): Add Fastest Performers Cards with Token/s Visualization by @djdembeck in https://github.com/looplj/axonhub/pull/802 * fix: token statistics card responsive layout overflow on mobile by @djdembeck in https://github.com/looplj/axonhub/pull/803 * refactor: introduce authz to unify bypass by @looplj in https://github.com/looplj/axonhub/pull/805 * fix: improve mobile header accessibility and sidebar navigation by @djdembeck in https://github.com/looplj/axonhubLow2/12/2026
v0.9.4## What's Changed * feat: disable model association by @looplj in https://github.com/looplj/axonhub/pull/788 * feat: Add Helm Chart support for Kubernetes deployment by @lazhenyi in https://github.com/looplj/axonhub/pull/789 * fix: add the missing gemini request fields by @looplj in https://github.com/looplj/axonhub/pull/793 * feat: auto optimize anthropic cache control by @orzmoe in https://github.com/looplj/axonhub/pull/780 * feat: add Xiaomi MIMO channel by @lazhenyi in https://github.coLow2/8/2026
v0.9.3# 重大变更 1. 支持单渠道多 keys,可能会有些不稳定,遇到问题可以随时反馈 2. 重构了参数覆盖,尽量兼容了已有数据,如果有不兼容了,可以随时反馈 # MAJOR CHANGES 1. Multiple api keys per channel, maybe not stable, welcome feedback. 2. Refactor request override, legacy data keep compatible, feel free to file issues if something not work as expected. ## What's Changed * chore: remove txn for update channel id when retry by @looplj in https://github.com/looplj/axonhub/pull/724 * refactor: cleanup channel performance by @looplj in https://github.com/loopLow2/7/2026
v0.9.3-beta2## What's Changed * feat(api): enhance models endpoint by @djdembeck in https://github.com/looplj/axonhub/pull/743 * fix: preserve stream flag for TTFT persistence by @djdembeck in https://github.com/looplj/axonhub/pull/753 * fix(channel): use completion tokens for TPS calculation instead of total tokens by @djdembeck in https://github.com/looplj/axonhub/pull/755 * fix: responses encrypted content conversion, and related tools by @looplj in https://github.com/looplj/axonhub/pull/758 * fix: Low2/5/2026
v0.9.3-beta1MAJOR CHANGES 1. Multiple api keys per channel, maybe not stable, welcome feedback. ## What's Changed * chore: remove txn for update channel id when retry by @looplj in https://github.com/looplj/axonhub/pull/724 * refactor: cleanup channel performance by @looplj in https://github.com/looplj/axonhub/pull/726 * refactor: transformer use api key provider instead of static api key by @looplj in https://github.com/looplj/axonhub/pull/727 * release: release v0.9.2 by @looplj in https://github.Low2/4/2026
v0.9.2## What's Changed * fix: allow custom base URL for codex/claudecode third-party auth by @yuancjun in https://github.com/looplj/axonhub/pull/729 ## New Contributors * @yuancjun made their first contribution in https://github.com/looplj/axonhub/pull/729 **Full Changelog**: https://github.com/looplj/axonhub/compare/v0.9.1...v0.9.2Low2/3/2026
v0.9.1## What's Changed * fix: failed to backup to gcs/s3, close #719 by @looplj in https://github.com/looplj/axonhub/pull/720 * opt: dialog compitable for vertical tabs, close #713 by @looplj in https://github.com/looplj/axonhub/pull/722 * feat: s3 storage path style, close #721 by @looplj in https://github.com/looplj/axonhub/pull/723 **Full Changelog**: https://github.com/looplj/axonhub/compare/v0.9.0...v0.9.1Low2/2/2026

Dependencies & License Audit

Loading dependencies...

Similar Packages

voidllmPrivacy-first LLM proxy and AI gateway — load balancing, multi-provider routing, API key management, usage tracking, rate limiting. Self-hosted. Zero knowledge of your prompts.v0.0.19
cc-relay⚡️ Blazing fast LLMs API Gateway written in Gov0.0.17
@lucashca/claudecontrolAI Agent Dashboard — manage multiple Claude Code agents across projects0.5.31
hermes-gate🏛️ Hermes Gate — Terminal TUI for managing remote Hermes Agent sessions with auto-reconnect, detach support, and zero config0.0.0
hermes-agentThe agent that grows with youv2026.6.5

More in Infrastructure

tensorzeroTensorZero is an open-source LLMOps platform that unifies an LLM gateway, observability, evaluation, optimization, and experimentation.
planoPlano is an AI-native proxy and data plane for agentic apps — with built-in orchestration, safety, observability, and smart LLM routing so you stay focused on your agents core logic.
modelsThis repository contains comprehensive pricing and configuration data for LLMs. It powers cost attribution for 200+ enterprises running 400B+ tokens through Portkey AI Gateway every day.
edgeeOpen-source AI gateway written in Rust, with token compression for Claude Code, Codex... and any other LLM client.