返回市场
代理节点

代理节点

作者:femto331 星标更新:2025-10-15

项目介绍

文档状态 安装 Discord Twitter关注 询问DeepWiki

Minion Agent

一个功能强大的代理框架,具有增强的能力,包括浏览器自动化、代码执行、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.py
  • example_browser_use.py
  • example_with_managed_agents.py
  • example_deep_research.py
  • example_reason.py

代理框架

Minion Agent 支持多种代理框架。默认框架是 EXTERNAL_MINION_AGENT,它提供了增强的功能,包括:

  • 代码生成与执行:先进的代码生成和内置执行能力
  • 浏览器自动化:集成的浏览器控制和网络交互
  • MCP工具支持:完整的模型上下文协议集成
  • 增强规划:复杂的任务规划和执行

可用框架

  • EXTERNAL_MINION_AGENT(默认):增强框架,具备代码执行和浏览器能力
  • SMOLAGENTS:HuggingFace的smolagents框架,支持规划
  • LANGCHAIN:基于LangChain的代理
  • OPENAI:OpenAI的助理API
  • BROWSER_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:可选的代理特定参数字典

MCP工具支持

Minion Agent 支持模型上下文协议(MCP)工具。这是如何使用它们的方法:

标准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工具

您也可以通过服务器发送事件(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的工具
]

在smolagents中的规划支持

您可以通过设置 agent_args 中的 planning_interval 来启用自动规划(smolagents):

agent_config = AgentConfig(
    # ... 其他配置选项 ...
    agent_args={
        "planning_interval": 3,  # 代理每3步创建一个新的计划
        "additional_authorized_imports": "*"
    }
)

planning_interval 参数确定代理应多久创建一个新的计划。当设置为3时,代理将:

  1. 为任务创建初始计划
  2. 根据计划执行3步
  3. 根据进度重新评估并创建新的计划
  4. 重复直到任务完成

环境变量

确保在 .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许可证