mirror of
https://github.com/hanzoai/bot.git
synced 2026-10-30 17:24:26 +00:00
Automated rebrand of all openclaw references to hanzo bot: - Package: openclaw -> @hanzo/bot - Binary: openclaw -> hanzo-bot - Config: ~/.openclaw -> ~/.hanzo/bot - Docker: ghcr.io/hanzoai/bot - Env vars: OPENCLAW_* -> BOT_* - Bundle IDs: ai.hanzo.bot.* - Product name: Hanzo Bot
3.5 KiB
3.5 KiB
title, summary, read_when
| title | summary | read_when | ||
|---|---|---|---|---|
| LiteLLM | Run Hanzo Bot through LiteLLM Proxy for unified model access and cost tracking |
|
LiteLLM
LiteLLM is an open-source LLM gateway that provides a unified API to 100+ model providers. Route Hanzo Bot through LiteLLM to get centralized cost tracking, logging, and the flexibility to switch backends without changing your Hanzo Bot config.
Why use LiteLLM with Hanzo Bot?
- Cost tracking — See exactly what Hanzo Bot spends across all models
- Model routing — Switch between Claude, GPT-4, Gemini, Bedrock without config changes
- Virtual keys — Create keys with spend limits for Hanzo Bot
- Logging — Full request/response logs for debugging
- Fallbacks — Automatic failover if your primary provider is down
Quick start
Via onboarding
openclaw onboard --auth-choice litellm-api-key
Manual setup
- Start LiteLLM Proxy:
pip install 'litellm[proxy]'
litellm --model claude-opus-4-6
- Point Hanzo Bot to LiteLLM:
export LITELLM_API_KEY="your-litellm-key"
openclaw
That's it. Hanzo Bot now routes through LiteLLM.
Configuration
Environment variables
export LITELLM_API_KEY="sk-litellm-key"
Config file
{
models: {
providers: {
litellm: {
baseUrl: "http://localhost:4000",
apiKey: "${LITELLM_API_KEY}",
api: "openai-completions",
models: [
{
id: "claude-opus-4-6",
name: "Claude Opus 4.6",
reasoning: true,
input: ["text", "image"],
contextWindow: 200000,
maxTokens: 64000,
},
{
id: "gpt-4o",
name: "GPT-4o",
reasoning: false,
input: ["text", "image"],
contextWindow: 128000,
maxTokens: 8192,
},
],
},
},
},
agents: {
defaults: {
model: { primary: "litellm/claude-opus-4-6" },
},
},
}
Virtual keys
Create a dedicated key for Hanzo Bot with spend limits:
curl -X POST "http://localhost:4000/key/generate" \
-H "Authorization: Bearer $LITELLM_MASTER_KEY" \
-H "Content-Type: application/json" \
-d '{
"key_alias": "@hanzo/bot",
"max_budget": 50.00,
"budget_duration": "monthly"
}'
Use the generated key as LITELLM_API_KEY.
Model routing
LiteLLM can route model requests to different backends. Configure in your LiteLLM config.yaml:
model_list:
- model_name: claude-opus-4-6
litellm_params:
model: claude-opus-4-6
api_key: os.environ/ANTHROPIC_API_KEY
- model_name: gpt-4o
litellm_params:
model: gpt-4o
api_key: os.environ/OPENAI_API_KEY
Hanzo Bot keeps requesting claude-opus-4-6 — LiteLLM handles the routing.
Viewing usage
Check LiteLLM's dashboard or API:
# Key info
curl "http://localhost:4000/key/info" \
-H "Authorization: Bearer sk-litellm-key"
# Spend logs
curl "http://localhost:4000/spend/logs" \
-H "Authorization: Bearer $LITELLM_MASTER_KEY"
Notes
- LiteLLM runs on
http://localhost:4000by default - Hanzo Bot connects via the OpenAI-compatible
/v1/chat/completionsendpoint - All Hanzo Bot features work through LiteLLM — no limitations