一个功能强大的代理框架,具有增强的能力,包括浏览器自动化、代码执行、MCP工具支持和深度研究。现在默认使用EXTERNAL_MINION_AGENT框架以获得更佳性能和功能。
Minion Agent 现在默认使用强大的 EXTERNAL_MINION_AGENT 框架,提供增强的代码执行、浏览器自动化和高级规划能力。
pip install minion-agent-x
git clone git@github.com:femto/minion-agent.git
cd minion-agent
pip install -e .
这是一个简单的使用 Minion Agent 的示例:
import asyncio
import os
from dotenv import load_dotenv
from minion_agent import MinionAgent, AgentConfig, AgentFramework
from minion.agents import CodeAgent
import minion_agent
load_dotenv()
async def main():
# 配置代理(默认使用 EXTERNAL_MINION_AGENT)
agent_config = AgentConfig(
model_id=os.environ.get("AZURE_DEPLOYMENT_NAME"),
name="research_assistant",
description="一个有用的助手",
model_args={
"azure_endpoint": os.environ.get("AZURE_OPENAI_ENDPOINT"),
"api_key": os.environ.get("AZURE_OPENAI_API_KEY"),
"api_version": os.environ.get("OPENAI_API_VERSION"),
"model": "gpt-4o", # 实际使用的模型
},
tools=[
minion_agent.tools.browser_tool.browser,
],
agent_type=CodeAgent, # 默认代理类型为 EXTERNAL_MINION_AGENT
)
# 创建代理(默认使用 EXTERNAL_MINION_AGENT 框架)
agent = await MinionAgent.create_async(AgentFramework.EXTERNAL_MINION_AGENT, agent_config)
# 运行代理并提问
result = await agent.run_async("人工智能领域的最新发展是什么?")
print("代理的回答:", result.final_output.content)
if __name__ == "__main__":
asyncio.run(main())
查看示例文件:
example.pyexample_browser_use.pyexample_with_managed_agents.pyexample_deep_research.pyexample_reason.pyMinion Agent 支持多种代理框架。默认框架是 EXTERNAL_MINION_AGENT,它提供了增强的功能,包括:
EXTERNAL_MINION_AGENT(默认):增强框架,具备代码执行和浏览器能力SMOLAGENTS:HuggingFace的smolagents框架,支持规划LANGCHAIN:基于LangChain的代理OPENAI:OpenAI的助理APIBROWSER_USE:专门用于浏览器自动化任务DEEP_RESEARCH:优化用于研究和信息收集当使用 EXTERNAL_MINION_AGENT 时,可以指定不同的代理类型:
from minion.agents import CodeAgent, ToolCallingAgent
agent_config = AgentConfig(
# ... 其他配置 ...
agent_type=CodeAgent, # 用于代码生成和执行
# 或
# agent_type=ToolCallingAgent, 用于通用工具调用
)
AgentConfig 类接受以下参数:
model_id:要使用的模型ID(例如:"gpt-4")name:代理名称(默认:"Minion")description:代理的可选描述instructions:代理的可选系统指令tools:代理可以使用的工具列表model_type:底层代理框架的模型类型model_args:可选的模型特定参数字典agent_type:底层代理框架的代理类型agent_args:可选的代理特定参数字典Minion Agent 支持模型上下文协议(MCP)工具。这是如何使用它们的方法:
from minion_agent.config import MCPTool
agent_config = AgentConfig(
# ... 其他配置选项 ...
tools=[
minion_agent.tools.browser_tool.browser, # 常规工具
MCPTool(
command="npx",
args=["-y", "@modelcontextprotocol/server-filesystem", "/path/to/workspace"]
) # MCP工具
]
)
您也可以通过服务器发送事件(SSE)使用MCP工具。这对于连接到远程MCP服务器非常有用:
from minion_agent.config import MCPTool
agent_config = AgentConfig(
# ... 其他配置选项 ...
tools=[
MCPTool({"url": "http://localhost:8000/sse"}), # 基于SSE的工具
]
)
⚠️ 安全警告:当通过SSE使用MCP服务器时,请务必谨慎,并仅连接到经过验证的可信服务器。在连接之前始终验证任何MCP服务器的来源和安全性。
您还可以一起使用多个MCP工具:
tools=[
MCPTool(command="npx", args=["..."]), # 标准MCP工具
MCPTool({"url": "http://localhost:8000/sse"}), # 基于SSE的工具
MCPTool({"url": "http://localhost:8001/sse"}) # 另一个基于SSE的工具
]
您可以通过设置 agent_args 中的 planning_interval 来启用自动规划(smolagents):
agent_config = AgentConfig(
# ... 其他配置选项 ...
agent_args={
"planning_interval": 3, # 代理每3步创建一个新的计划
"additional_authorized_imports": "*"
}
)
planning_interval 参数确定代理应多久创建一个新的计划。当设置为3时,代理将:
确保在 .env 文件中设置您的环境变量:
# 对于Azure OpenAI(推荐用于EXTERNAL_MINION_AGENT)
AZURE_DEPLOYMENT_NAME=your_deployment_name
AZURE_OPENAI_ENDPOINT=https://your-resource.openai.azure.com/
AZURE_OPENAI_API_KEY=your_azure_api_key
OPENAI_API_VERSION=2024-02-15-preview
# 或对于OpenAI
OPENAI_API_KEY=your_openai_api_key
# 可选:通过LiteLLM使用其他提供商
# ANTHROPIC_API_KEY=your_anthropic_key
# GOOGLE_API_KEY=your_google_key
为了设置开发环境:
# 克隆仓库
git clone https://github.com/yourusername/minion-agent.git
cd minion-agent
# 创建虚拟环境
python -m venv venv
source venv/bin/activate # 在Windows上:venv\Scripts\activate
# 安装开发依赖
pip install -e ".[dev]"
参阅 深度研究文档 获取使用说明。
加入我们的微信讨论群,与其他用户交流并获取帮助:

群聊:minion-agent讨论群
MIT许可证