Easy Agents 是一个开源框架,旨在帮助用户通过简单的自然语言指令快速构建和部署智能自动化代理。它让非技术人员也能轻松定义复杂的工作流程,减少手动编写代码的麻烦。用户只需用自然语言描述任务,框架便可自动生成相应的自动化代理,适用于安全运维、客户支持和 IT 管理等场景。Easy Agents 基于 FastAPI 和 MCP(模型上下文协议),提供高效的工具集成和部署方式。官方文档提供了四个示例,展示如何用简洁指令实现复杂任务自动化。项目由 Kyle Polley 在 GitHub 上维护,欢迎社区贡献代码和反馈。
功能列表
- 支持用自然语言定义代理行为,无需复杂代码。
- 集成 MCP 协议,轻松连接外部工具和 API。
- 提供 FastAPI 端点和 cron 触发器,简化代理部署。
- 包含 uv 工具,管理项目依赖,确保环境一致。
- 支持创建自定义 MCP 服务器,扩展代理功能。
- 提供示例工作流,展示安全警报分析、报告生成等场景。
- 开源社区支持,允许用户提交问题和代码改进。
使用帮助
安装流程
要开始使用 Easy Agents,用户需要克隆仓库并配置环境。以下是详细的安装步骤:
- 克隆仓库
在终端运行以下命令,将 Easy Agents 仓库克隆到本地:git clone https://github.com/kpolley/easy-agents.git cd easy-agents
- 安装依赖
Easy Agents 使用uv
工具管理依赖。确保已安装 Python 和uv
,然后运行:uv sync
这会自动安装项目所需的所有依赖包,例如 FastAPI 和相关库。
- 启动开发服务器
安装完成后,启动 FastAPI 开发服务器:uv run fastapi dev main.py
服务器启动后,可通过浏览器访问
http://localhost:8000
查看 API 端点。 - 配置环境
如果需要连接外部工具(如 GitHub 或 Slack),需在项目配置文件中设置 MCP 服务器地址。参考mcps/github_extended.py
示例,配置自定义 MCP 服务器。
创建代理
创建新代理非常简单,只需以下步骤:
- 定义代理行为
在项目目录的配置文件中,用自然语言描述代理的任务。例如:你是一个负责调查安全警报的专家代理。任务步骤: 1. 根据警报 ID 查询详细信息 2. 深入分析警报内容 3. 生成详细报告 4. 如果警报有效,将报告发送到 Slack 的 #security-alerts 频道
这些指令会被框架解析为可执行的工作流。
- 指定 MCP 服务器
在配置文件中指定代理需要访问的 MCP 服务器地址。例如,若需连接 GitHub API,可使用官方 GitHub MCP 服务器或自定义服务器。 - 部署代理
代理可以通过 FastAPI 端点或 cron 触发器部署。运行以下命令设置定时任务:uv run python scripts/run_agent.py
或者通过 API 调用触发代理执行。
特色功能操作
自然语言编程
Easy Agents 的核心功能是允许用户用自然语言定义复杂任务。例如,创建一个每周生成项目报告的代理:
每周日,代理会检查 Linear 的任务和项目,生成团队项目进展报告,列出本周完成的任务和负责人。
框架会自动解析指令,调用相关 API(如 Linear API),并生成报告。用户无需编写代码,只需描述需求。
集成外部工具
通过 MCP 协议,Easy Agents 可以轻松集成外部工具。例如,连接 Slack 发送通知:
- 在配置文件中添加 Slack MCP 服务器地址。
- 在代理指令中加入发送通知的步骤,如“将报告发送到 #team-updates 频道”。
- 部署代理后,报告会自动发送到指定 Slack 频道。
自定义 MCP 服务器
如果默认工具不满足需求,用户可创建自定义 MCP 服务器。参考 mcps/github_extended.py
,按照以下步骤操作:
- 创建一个新的 Python 文件,定义 MCP 服务器逻辑。
- 实现与外部 API 的交互,例如获取 GitHub 仓库数据。
- 在代理配置中引用该服务器地址。
- 部署后,代理即可调用自定义工具。
调试与扩展
- 调试:FastAPI 服务器提供日志,记录代理执行的每一步。用户可通过日志检查任务执行情况。
- 扩展:用户可通过提交 pull request 或修改代码扩展功能。例如,添加新的 MCP 服务器支持其他工具。
注意事项
- 确保网络连接稳定,MCP 服务器需要访问外部 API。
- 检查
uv
版本兼容性,建议使用最新版。 - 定期更新仓库,获取社区贡献的最新功能。
应用场景
- 安全运维
Easy Agents 可用于自动化安全警报处理。代理能查询警报、分析威胁、生成报告,并将结果发送到团队沟通工具,减少手动操作时间。 - 客户支持
代理可自动回复常见客户问题,整理支持票据,生成总结报告,提升客户服务效率。 - IT 管理
用于自动化服务器监控、日志分析或资源分配。代理可根据自然语言指令执行任务,如“每天检查服务器状态并发送报告”。 - 项目管理
每周自动生成项目进展报告,分析任务完成情况并通知团队,适合敏捷开发团队。
QA
- Easy Agents 适合没有编程经验的用户吗?
是的,Easy Agents 允许用户用自然语言定义任务,无需编程知识。非技术人员也能快速上手。 - 如何扩展代理功能?
用户可通过创建自定义 MCP 服务器或修改代码扩展功能。参考mcps/github_extended.py
示例。 - 部署代理需要哪些环境?
需要 Python、uv 工具和网络连接。推荐在 Linux 或 macOS 系统上运行。 - 支持哪些外部工具?
支持 GitHub、Slack 等工具,通过 MCP 协议可扩展到任何支持 API 的工具。