Eko 是什么?把一句话变成多步工作流的开源 Agent 框架(基础篇)
横向 Agent 平台这个系列已经写了一圈:Dify、Flowise、LangGraph,但它们大多活在服务器和聊天窗口里。今天的主角 Eko 不一样——它生在浏览器里,长在 Node.js 里,专门把”一句话”变成能在真实网页和本地文件上跑的多步工作流。
项目介绍
Eko(读作 echo)是 Fellou 团队开源的生产级 JavaScript Agent 框架,仓库在 GitHub 的 FellouAI/eko,截至目前 4,959 星、447 fork,MIT 协议,TypeScript 编写。项目 2024 年 11 月创建,最新版本线是 4.1.x:4.1.0 在 2025 年 12 月底发布,npm 上的 4.1.3 是今年 3 月发的。
Fellou 这家公司在做的事是”数字伴侣”,Eko 就是他们把 Agent 执行能力抽出来开源的那部分。官方定位一句话说清:从简单指令到复杂工作流,一套接口同时跑在浏览器和电脑环境里。
核心能力几个硬点:
- 纯 JS/TS:浏览器扩展、Web 应用、Node.js 三个宿主共用一套代码
- 多 Agent:BrowserAgent 管页面操作,FileAgent 管文件和进程,自定义 Agent 一行注册
- 原生 MCP:直接接 MCP 服务器生态,不用自己造工具轮子
- 动态 LLM:Anthropic、OpenAI、Google 官方模型随便换,Qwen、豆包这类 OpenAI 兼容端点改个 baseURL 就能接
- 人工干预:暂停、恢复、打断,配 task_snapshot 把工作流状态存下来,断了能接着跑
- 依赖感知并行:3.0 版本加入,没有依赖关系的步骤自动并行执行
架构上 Eko 干的事很直接:LLM 拿到你的一句话,先拆成带依赖关系的执行计划,再按依赖图派发给各个 Agent 并行执行,敏感步骤停下来等人确认,最后把结果落地到页面或文件。
上手
环境只要 Node.js,包管理器用 pnpm:
pnpm install @eko-ai/eko
最小可运行代码:先配 llms(默认模型 + 可选备用模型),再声明 agents,然后一行 eko.run():
const llms: LLMs = {
default: {
provider: "anthropic",
model: "claude-sonnet-4-5-20250929",
apiKey: "sk-..."
}
};
let agents: Agent[] = [new BrowserAgent(), new FileAgent()];
let eko = new Eko({ llms, agents });
await eko.run("搜索马斯克最新新闻,总结并保存到桌面为 Musk.md");
仓库 example/ 目录给了三个能直接跑的例子:浏览器扩展(chrome://extensions 开发者模式加载 dist 目录)、Node.js 自动化(Playwright 驱动,首次要 pnpm playwright install)、Web 登录演示(React dev server)。有一点官方 README 自己就标了红字警告:API Key 别写死在前端代码里,会直接暴露,走后端代理转发。
实话
优点实在。它是少数真能把浏览器当执行环境的框架,对登录态网页、私有 web 资源的访问是 Dify、Coze 这类 Web 平台结构上给不了的;README 里自己列的对比表也把这点摆在明面上——”访问私有 web 资源”一栏只有它打了勾。MIT 协议、TypeScript、MCP 原生支持,工程底子干净,human-in-the-loop 和 task_snapshot 也不是 PPT 功能,是真做进了执行模型里的。
但要泼两盆冷水。第一,生态规模差距摆着:browser-use 11.7 万星、Dify 15.8 万星、LangChain 14.8 万星,Eko 不到 5000 星,npm 月下载一千多次,社区、教程、第三方组件都薄,遇到坑基本靠翻源码。第二,更新节奏得自己盯着:4.1.0 是 2025 年 12 月发的,今年 3 月之后仓库提交明显变少,拿它做长期技术底座之前,先去 GitHub 看一眼最近的 commit。
适合谁?想把 Agent 能力塞进浏览器扩展、或者需要自动化操作真实网页和本地文件的开发者。如果你要的是给业务同事拖拽用的平台,还是回去看 Dify 或 Flowise;如果你要纯代码控制流和最厚的生态,LangGraph 更稳。Eko 的生态位是那个”浏览器里的执行层”,这个位置目前没什么人跟他抢。