Eko (pronounced like 'echo') is a production-ready JavaScript framework that enables developers to create reliable agents, from simple commands to complex workflows. It provides a unified interface for running agents in both computer and browser environments.
task_snapshot workflow recovery.Follow these steps when moving an existing Eko 3.x project to 4.0:
pnpm up @eko-ai/eko @eko-ai/eko-nodejs @eko-ai/eko-web @eko-ai/eko-extension.rm -rf node_modules && pnpm install), then rebuild any browser or desktop bundles.| Feature | Eko | Langchain | Browser-use | Dify.ai | Coze |
|---|---|---|---|---|---|
| Supported Platform | All platform | Server side | Browser | Web | Web |
| One sentence to multi-step workflow | ✅ | ❌ | ✅ | ❌ | ❌ |
| Intervenability | ✅ | ✅ | ❌ | ❌ | ❌ |
| Task Parallel | ✅ | ❌ | ❌ | ❌ | ❌ |
| Development Efficiency | High | Low | Middle | Middle | Low |
| Task Complexity | High | High | Low | Middle | Middle |
| Open-source | ✅ | ✅ | ✅ | ✅ | ❌ |
| Access to private web resources | ✅ | ❌ | ❌ | ❌ | ❌ |
Note: Please refer to the Eko Quickstart guide guide for full instructions on how to run it.
Security Warning
DO NOT use API Keys in browser/frontend code!
This will expose your credentials and may lead to unauthorized usage.
Best Practices: Configure backend API proxy request through baseURL and request headers.
Please refer to the link: https://eko.fellou.ai/docs/getting-started/configuration#web-environment
const llms: LLMs = {
default: {
provider: "anthropic",
model: "claude-sonnet-4-5-20250929",
apiKey: "your-api-key"
},
gemini: {
provider: "google",
model: "gemini-2.5-pro",
apiKey: "your-api-key"
},
openai: {
provider: "openai",
model: "gpt-5",
apiKey: "your-api-key"
},
// OpenAI-compatible models (Qwen, Doubao, etc.)
qwen: {
provider: "openai",
model: "qwen-plus",
apiKey: "your-qwen-api-key",
config: {
baseURL: "https://dashscope-intl.aliyuncs.com/compatible-mode/v1"
}
},
doubao: {
provider: "openai", // Use OpenAI provider for compatibility
model: "doubao-seed-1-6-250615", // or other Doubao model
apiKey: "your-volcengine-api-key",
config: {
baseURL: "https://ark.cn-beijing.volces.com/api/v3" // Volcengine endpoint
}
}
};
let agents: Agent[] = [new BrowserAgent(), new FileAgent()];
let eko = new Eko({ llms, agents });
let result = await eko.run("Search for the latest news about Musk, summarize and save to the desktop as Musk.md");
$ pnpm install @eko-ai/eko
The repository ships with three workspace examples under the example/ folder.
Before running any example, install dependencies and build the core packages from the root directory:
pnpm install
pnpm build
example/extension)cd example/extension
pnpm install
pnpm run build
Load the generated dist directory via chrome://extensions → Developer Mode → Load unpacked.
Configure your API key in the extension options before running the automation task.
example/nodejs)cd example/nodejs
pnpm install
pnpm playwright install # first time only, installs browsers
pnpm run build
OPENAI_API_KEY=... ANTHROPIC_API_KEY=... pnpm run start
The Node.js demo drives Playwright through Eko; provide at least one model API key before running it.
example/web)cd example/web
pnpm install
pnpm run start
This starts a React dev server on the default port with a simple login flow that you can automate with the browser or web agents.
Visit our documentation site for:
Eko can be used in multiple environments:
Eko is released under the MIT License. See the LICENSE file for details.