Overview
nanobot is an ultra-lightweight Python agent framework you host yourself, with a WebUI, tools, memory, MCP support and multi-agent workflows. Eden AI is a built-in provider, so there is nothing to write and no custom endpoint to declare:- 500+ models: reach OpenAI, Anthropic, Google, Mistral and more through one key
- One key, many vendors: switch models by editing a single config value
- Catalogue in the WebUI: once your key is saved, nanobot can load the Eden AI model list for you
- Secrets stay out of the config: nanobot expands
${ENV_VAR}placeholders inside any string value
Prerequisites
- nanobot already installed. If not, see the nanobot repository
- An Eden AI API key from app.edenai.run → API Keys
Setup
1. Add Eden AI to your config
nanobot reads~/.nanobot/config.json. Add the edenai provider and point a model preset at it. The base URL is built into the provider, so you only supply the key:
Keep the key in the environment rather than in the file. nanobot expands
${EDENAI_API_KEY} at load time, so start it from a shell that exports the variable.2. Export your key
3. Start nanobot
nanobot onboard --refresh first. It fills in missing default fields and leaves your existing values alone.
Model naming
Eden AI model IDs areprovider/model, and nanobot forwards the ID unchanged, including the vendor prefix. So the preset above sends anthropic/claude-sonnet-latest upstream as-is.
The live catalogue is public and needs no authentication, so you can browse it before choosing:
anthropic/claude-sonnet-latest is an alias that always resolves to the current Sonnet, which makes it a safe default for a config you do not want to revisit.
Switching models
Change one value to move a preset to another vendor:Troubleshooting
401 Unauthorized
The key is missing or wrong. Check that the shell running nanobot exports EDENAI_API_KEY, and that the value is an Eden AI key rather than a vendor key.
model not found
The model ID is not in the Eden AI catalogue, or the vendor prefix is missing. Copy the ID exactly as GET /v3/models returns it, prefix included.
Timeouts on long turns
nanobot caps OpenAI-compatible requests withNANOBOT_OPENAI_COMPAT_TIMEOUT_S, 120 seconds by default. Raise it if you use large reasoning models.
Next Steps
- Chat Completions - Core LLM endpoint
- List LLM Models - Browse available providers and models
- OpenClaw - Another self-hosted agent on Eden AI
- Hermes Agent - Persistent agent with automatic fallbacks