High performance agent framework that can do everything. Minion is designed to execute any type of queries, offering a variety of features that demonstrate its flexibility and intelligence.
Features
CodeAgent - Python code execution agent with tool calling support
export DEFAULT_BASE_URL=your-base-url use https://api.openai.com/v1 if openai
export DEFAULT_API_KEY=your-api-key
See Configuration for more details on configuration options.
Docker Installation
git clone https://github.com/femto/minion.git && cd minion
cp config/config.yaml.example config/config.yaml
# Set your API key
export DEFAULT_BASE_URL=your-base-url use https://api.openai.com/v1 if openai
export DEFAULT_API_KEY=your-api-key
# Build and run (basic install)
docker-compose build
docker-compose run --rm minion
# Build with optional dependencies
docker-compose build --build-arg EXTRAS="gradio,web,anthropic"
# Or install all extras
docker-compose build --build-arg EXTRAS="all"
# Run a specific example
docker-compose run --rm minion python examples/mcp/mcp_agent_example.py
Quick Start
Using CodeAgent (Recommended)
from minion.agents.code_agent import CodeAgent
# Create agent
agent = await CodeAgent.create(
name="Minion Code Assistant",
llm="your-model",
tools=all_tools, # optional
)
# Run task
async for event in await agent.run_async("your task here"):
print(event)
Variables from all sources (system environment, .env files, inline environment) will be available for ${VAR_NAME} substitution throughout the configuration.
Supported API Types
api_type
Description
Required Fields
openai
OpenAI API or compatible (Ollama, vLLM, LocalAI)
api_key, base_url, model
azure
Azure OpenAI Service
api_key, base_url, api_version, model
azure_inference
Azure AI Model Inference (DeepSeek, Phi)
api_key, base_url, model
azure_anthropic
Azure hosted Anthropic models
api_key, base_url, model
bedrock
AWS Bedrock (sync)
access_key_id, secret_access_key, region, model
bedrock_async
AWS Bedrock (async, better performance)
access_key_id, secret_access_key, region, model
litellm
Unified interface for 100+ providers
api_key, model (with provider prefix)
LiteLLM Model Prefixes: Use anthropic/claude-3-5-sonnet, bedrock/anthropic.claude-3, gemini/gemini-1.5-pro, ollama/llama3.2, etc. See LiteLLM docs for all supported providers.
Warning: Be cautious - LLM can generate potentially harmful code.
MINION_ROOT
MINION_ROOT is the base directory for locating configuration files (MINION_ROOT/config/config.yaml).
How MINION_ROOT is Determined
Checks MINION_ROOT environment variable (if set)
Auto-detects by finding .git, .project_root, or .gitignore in parent directories
Falls back to current working directory
MINION_ROOT by Installation Method
Installation Method
MINION_ROOT Value
pip install minionx (PyPI)
Your application’s current working directory (cwd)
pip install -e . (Source)
The minion source code directory
Example:
# PyPI install - config at /home/user/myproject/config/config.yaml
cd /home/user/myproject
python my_app.py # MINION_ROOT = /home/user/myproject
# Source install from /home/user/minion
cd /home/user/minion && pip install -e .
cd /anywhere
python my_app.py # MINION_ROOT = /home/user/minion
Verify MINION_ROOT - Check the startup log:
INFO | minion.const:get_minion_root:44 - MINION_ROOT set to: <some_path>
Related Projects
minion-agent Production agent system with multi-agent coordination, browser automation, and research capabilities
minion-code Minion’s implementation of Claude Code
Community and Support
WeChat Group (minion-agent discussion):
Optional Dependencies
The project uses optional dependency groups to avoid installing unnecessary packages. Install only what you need:
# Development tools (pytest, black, ruff)
pip install -e ".[dev]"
# LiteLLM - unified interface for 100+ LLM providers
pip install -e ".[litellm]"
# Google ADK and LiteLLM support
pip install -e ".[google]"
# Browser automation (browser-use)
pip install -e ".[browser]"
# Gradio web UI
pip install -e ".[gradio]"
# UTCP support
pip install -e ".[utcp]"
# AWS Bedrock support
pip install -e ".[bedrock]"
# Anthropic Claude support
pip install -e ".[anthropic]"
# Web tools (httpx, beautifulsoup4, etc.)
pip install -e ".[web]"
# Install ALL optional dependencies
pip install -e ".[all]"
# You can also combine multiple groups:
pip install -e ".[dev,gradio,anthropic,litellm]"
关于
About
👷♂️High performance agent framework that can do everything. Minion is designed to execute any type of queries, offering a variety of features that demonstrate its flexibility and intelligence.
Minion
High performance agent framework that can do everything. Minion is designed to execute any type of queries, offering a variety of features that demonstrate its flexibility and intelligence.
Features
Installation
Install from PyPI
Install from Source
Configure
Edit
config.yaml(see Configuration for file location):Set your API key:
See Configuration for more details on configuration options.
Docker Installation
Quick Start
Using CodeAgent (Recommended)
See examples/mcp/mcp_agent_example.py for a complete example with MCP tools.
Using Brain
See Brain Usage Guide for more examples.
Quick Demo
Click to watch the demo video on YouTube.
Working Principle
The flowchart demonstrates the complete process from query to final result:
Documentation
Configuration
Configuration File Locations
MINION_ROOT/config/config.yaml- Default project configuration (see MINION_ROOT)~/.minion/config.yaml- User-specific overridesConfiguration Priority
When both configuration files exist:
This allows you to:
Environment Variables
Variable Substitution: Use
${VAR_NAME}syntax to reference environment variables directly in config values:Loading .env Files: Use
env_fileto load environment variables from.envfiles (follows Docker.envfile format):Inline Environment Variables: Define environment variables directly in config:
Variables from all sources (system environment,
.envfiles, inlineenvironment) will be available for${VAR_NAME}substitution throughout the configuration.Supported API Types
openaiapi_key,base_url,modelazureapi_key,base_url,api_version,modelazure_inferenceapi_key,base_url,modelazure_anthropicapi_key,base_url,modelbedrockaccess_key_id,secret_access_key,region,modelbedrock_asyncaccess_key_id,secret_access_key,region,modellitellmapi_key,model(with provider prefix)LiteLLM Model Prefixes: Use
anthropic/claude-3-5-sonnet,bedrock/anthropic.claude-3,gemini/gemini-1.5-pro,ollama/llama3.2, etc. See LiteLLM docs for all supported providers.See config/config.yaml.example for complete examples of all supported providers.
MINION_ROOT
MINION_ROOTis the base directory for locating configuration files (MINION_ROOT/config/config.yaml).How MINION_ROOT is Determined
MINION_ROOTenvironment variable (if set).git,.project_root, or.gitignorein parent directoriesMINION_ROOT by Installation Method
pip install minionx(PyPI)pip install -e .(Source)Example:
Verify MINION_ROOT - Check the startup log:
Related Projects
Community and Support
WeChat Group (minion-agent discussion):
Optional Dependencies
The project uses optional dependency groups to avoid installing unnecessary packages. Install only what you need: