摘要

一句话总结

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(如 BrowserAgentFileAgent)后,仅需调用 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 和工具。

使用方式概览

  1. 安装依赖:通过包管理器(如 pnpm)安装 @eko-ai/eko 及对应环境的扩展包。
  2. 配置模型:定义 LLM 配置对象,填入对应提供商的 API 密钥或代理地址。
  3. 初始化与运行:实例化所需的 Agent(如 BrowserAgentFileAgent),创建 Eko 实例,并通过 eko.run("自然语言指令") 触发自动化任务。
  4. 示例参考:官方仓库提供了浏览器扩展、结合 Playwright 的 Node.js 自动化以及 Web 应用的完整示例供开发者快速上手。

限制与注意事项

  • 安全警告:严禁在浏览器或前端代码中直接暴露 API Key,否则可能导致凭证泄露和未经授权的调用。
  • 前端最佳实践:在 Web 环境中使用时,强烈建议通过配置 baseURL 和请求头,将 API 请求代理至安全的后端服务器。

链接

关联主题