Aden Hive is a Python-based agent framework. Configuration is handled through environment variables and agent-level config files. There is no centralized config.yaml or Docker Compose setup.
~/.hive/configuration.json (global defaults: provider, model, max_tokens)
Environment variables (API keys, runtime flags)
Agent config.py (per-agent settings: model, tools, storage)
pyproject.toml (package metadata and dependencies)
.mcp.json (MCP server connections)
The quickstart.sh script creates this file during setup. It stores the default LLM provider, model, and max_tokens used by all agents unless overridden in an agent's own config.py.
{
"llm": {
"provider": "anthropic",
"model": "claude-sonnet-4-5-20250929",
"max_tokens": 8192,
"api_key_env_var": "ANTHROPIC_API_KEY"
},
"created_at": "2026-01-15T12:00:00+00:00"
}The default max_tokens value (8192) is defined as DEFAULT_MAX_TOKENS in framework.graph.edge and re-exported from framework.graph. Each agent's RuntimeConfig reads from this file at startup. To change defaults, either re-run quickstart.sh or edit the file directly.
# Anthropic (primary provider)
export ANTHROPIC_API_KEY="sk-ant-..."
# OpenAI (optional, for GPT models via LiteLLM)
export OPENAI_API_KEY="sk-..."
# Cerebras (optional, used by output cleaner and some nodes)
export CEREBRAS_API_KEY="..."
# Groq (optional, fast inference)
export GROQ_API_KEY="..."The framework supports 100+ LLM providers through LiteLLM. Set the corresponding environment variable for your provider.
# Web search for agents (Brave Search)
export BRAVE_SEARCH_API_KEY="..."
# Exa Search (alternative web search)
export EXA_API_KEY="..."# Run agents without LLM calls (structure-only validation)
export MOCK_MODE=1
# Custom credentials storage path (default: ~/.aden/credentials)
export ADEN_CREDENTIALS_PATH="/custom/path"
# Custom agent storage path (default: /tmp)
export AGENT_STORAGE_PATH="/custom/storage"Each agent package in exports/ contains its own config.py:
# exports/my_agent/config.py
CONFIG = {
"model": "anthropic/claude-sonnet-4-5-20250929", # Default LLM model
"max_tokens": 8192, # default: DEFAULT_MAX_TOKENS from framework.graph
"temperature": 0.7,
"tools": ["web_search", "pdf_read"], # MCP tools to enable
"storage_path": "/tmp/my_agent", # Runtime data location
}If model or max_tokens are omitted, the agent loads defaults from ~/.hive/configuration.json.
Agent behavior is defined in agent.json (or constructed in agent.py):
{
"id": "my_agent",
"name": "My Agent",
"goal": {
"success_criteria": [...],
"constraints": [...]
},
"nodes": [...],
"edges": [...]
}See the Getting Started Guide for building agents.
MCP (Model Context Protocol) servers are configured in .mcp.json at the project root:
{
"mcpServers": {
"agent-builder": {
"command": "uv",
"args": ["run", "-m", "framework.mcp.agent_builder_server"],
"cwd": "core"
},
"tools": {
"command": "uv",
"args": ["run", "mcp_server.py", "--stdio"],
"cwd": "tools"
}
}
}The tools MCP server exposes tools including web search, PDF reading, CSV processing, and file system operations.
Aden Hive uses file-based persistence (no database required):
{storage_path}/
runs/{run_id}.json # Complete execution traces
indexes/
by_goal/{goal_id}.json # Runs indexed by goal
by_status/{status}.json # Runs indexed by status
by_node/{node_id}.json # Runs indexed by node
summaries/{run_id}.json # Quick-load run summaries
Storage is managed by framework.storage.FileStorage. No external database setup is needed.
Add to .vscode/settings.json:
{
"python.analysis.extraPaths": [
"${workspaceFolder}/core",
"${workspaceFolder}/exports"
]
}- Open Project Settings > Project Structure
- Mark
coreas Sources Root - Mark
exportsas Sources Root
- Never commit API keys - Use environment variables or
.envfiles .envis git-ignored - Copy.env.exampleto.envat the project root and fill in your values- Use real provider keys in non-production environments - validate configuration with low-risk inputs before production rollout
- Credential isolation - Each tool validates its own credentials at runtime
Install the core package:
cd core && uv pip install -e .Ensure the environment variable is set in your current shell session:
echo $ANTHROPIC_API_KEY # Should print your keyOn Windows PowerShell:
$env:ANTHROPIC_API_KEY = "sk-ant-..."Run from the project root with PYTHONPATH:
PYTHONPATH=exports uv run python -m my_agent validateSee Environment Setup for detailed installation instructions.