摘要
一句话总结
Eko 是一个基于 TypeScript 的生产级 JavaScript 框架,支持开发者通过自然语言指令在 Node.js 和浏览器环境中构建、编排与运行复杂的多智能体工作流。
关键要点
- 开源与技术栈:采用 MIT 开源协议,使用 TypeScript 开发。
- 全平台兼容:纯 JavaScript 编写,原生支持 Node.js、浏览器扩展及 Web 应用环境。
- 多模型与动态配置:支持灵活切换 Anthropic、Google、OpenAI 以及兼容 OpenAI 格式(如 Qwen、Doubao)的大语言模型。
- 核心编排能力:支持多智能体协作、原生连接 MCP(Model Context Protocol)服务器,以及具备依赖感知能力的任务并行处理。
- 任务与状态控制:提供任务的暂停、恢复和中断功能,支持基于
task_snapshot的工作流状态恢复。 - 深度交互与扩展:支持人工干预(Human-in-the-loop),具备私有网络资源访问能力,且只需极少代码即可自定义 Agent 和工具。
- 极简调用:通过安装
@eko-ai/eko,实例化 Agent(如BrowserAgent、FileAgent)后,仅需调用eko.run("自然语言指令")即可执行自动化任务。 - 典型应用场景:适用于浏览器与 GUI 自动化、网页数据抓取、系统文件与进程管理及多步任务编排。
风险与不足
- 凭证泄露风险:严禁在浏览器或前端代码中直接暴露 API Key,否则极易导致凭证泄露和未经授权的 API 调用。
- 前端部署要求:在 Web 环境中使用时,强烈建议通过配置
baseURL和请求头,将 API 请求代理至安全的后端服务器以规避安全风险。
功能与定位
Eko 是一个生产级的 JavaScript 框架,旨在通过自然语言指令帮助开发者构建可靠的智能体(Agent)。它提供了一套统一的接口,能够将简单的命令转化为复杂的工作流,并支持在计算机(Node.js)和浏览器环境中无缝运行。
典型使用场景
- 浏览器自动化与网页数据抓取
- 系统文件与进程管理
- 工作流自动化
- 数据处理与整理
- GUI(图形用户界面)自动化
- 多步任务编排
核心功能
- 多智能体协作:支持在单一任务中集成和调度多个 Agent。
- 动态 LLM 配置:灵活选择和切换大语言模型,支持 Anthropic、Google、OpenAI 以及兼容 OpenAI 格式的模型(如 Qwen、Doubao)。
- 任务控制与状态管理:提供任务的暂停、恢复和中断控制,并支持基于
task_snapshot的工作流恢复。 - 原生 MCP 支持:可无缝连接各类 MCP(Model Context Protocol)服务器。
- 自动化与流式处理:支持循环与监听任务以处理重复性工作,并提供流式规划(Stream Planning)以简化动态渲染。
特色与差异点
- 全平台兼容:纯 JavaScript 编写,原生支持浏览器扩展、Web 应用和 Node.js 环境。
- 并行执行能力:支持具备依赖感知能力的任务并行处理,提升复杂任务的执行效率。
- 深度交互与干预:支持一句话生成多步工作流,同时允许在关键节点进行人工干预(Human-in-the-loop)。
- 私有资源访问:相较于部分同类框架,Eko 具备访问私有网络资源的能力。
- 极简扩展:开发者只需极少代码即可自定义新的 Agent 和工具。
使用方式概览
- 安装依赖:通过包管理器(如 pnpm)安装
@eko-ai/eko及对应环境的扩展包。 - 配置模型:定义 LLM 配置对象,填入对应提供商的 API 密钥或代理地址。
- 初始化与运行:实例化所需的 Agent(如
BrowserAgent、FileAgent),创建 Eko 实例,并通过eko.run("自然语言指令")触发自动化任务。 - 示例参考:官方仓库提供了浏览器扩展、结合 Playwright 的 Node.js 自动化以及 Web 应用的完整示例供开发者快速上手。
限制与注意事项
- 安全警告:严禁在浏览器或前端代码中直接暴露 API Key,否则可能导致凭证泄露和未经授权的调用。
- 前端最佳实践:在 Web 环境中使用时,强烈建议通过配置
baseURL和请求头,将 API 请求代理至安全的后端服务器。
链接
- GitHub 仓库: https://github.com/FellouAI/eko
- 项目主页: https://fellou.ai/eko
- 官方文档: https://eko.fellou.ai/docs
- MCP 服务器列表: https://mcpservers.org/