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.
- 2025-09: Eko 3.0 introduces dependency-aware parallel agent execution.
 - 2025-09: New pause, resume, and interrupt controls with 
task_snapshotworkflow recovery. - 2025-09: Monorepo tooling migrated to pnpm for consistent workspace management.
 
Follow these steps when moving an existing Eko 2.x project to 3.0:
- Update dependencies with 
pnpm up @jarvis-agent/core @jarvis-agent/nodejs @jarvis-agent/web @jarvis-agent/extension. - Regenerate saved workflows or exported plans so they use the v3 schema and dependency graph format.
 - Clean and reinstall using pnpm (
rm -rf node_modules && pnpm install), then rebuild any browser or desktop bundles. - Re-run automated demos and update documentation to reflect the new pause/interrupt APIs and parallel agent behavior.
 
| 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 | ✅ | ❌ | ❌ | ❌ | ❌ | 
- Pure JavaScript: Built for browsers and Node.js.🚀
 - Multi-Agent: Unleash power with multiple Agents in one task.📈
 - Agent/Tool Flexibility: Customize new Agents and Tools in just one line.🎉
 - Native MCP: Connects seamlessly with Awesome MCP Servers.🔗
 - Dynamic LLM: Balance speed and performance with flexible model choices.⚙️
 - Human-in-the-loop: Intervene when it matters most.🤝
 - Stream Planning: Dynamic rendering made easy.🎨
 - Loop & Listener Tasks: Automate any repetitive task.🤖
 - Observable Chain: Coming soon
 - Native A2A: Coming soon
 
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-20250514",
    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 @jarvis-agent/coreThe 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 buildcd example/extension
pnpm install
pnpm run buildLoad the generated dist directory via chrome://extensions → Developer Mode → Load unpacked.
Configure your API key in the extension options before running the automation task.
cd example/nodejs
pnpm install
pnpm run playwright   # first time only, installs browsers
pnpm run build
OPENAI_API_KEY=... ANTHROPIC_API_KEY=... pnpm run startThe Node.js demo drives Playwright through Eko; provide at least one model API key before running it.
cd example/web
pnpm install
pnpm run startThis starts a React dev server on the default port with a simple login flow that you can automate with the browser or web agents.
- Browser automation and web scraping
 - System file and process management
 - Workflow automation
 - Data processing and organization
 - GUI automation
 - Multi-step task orchestration
 
Visit our documentation site for:
- Getting started guide
 - API reference
 - Usage examples
 - Best practices
 - Configuration options
 
Eko can be used in multiple environments:
- Browser Extension
 - Web Applications
 - Node.js Applications
 
- Report issues on GitHub Issues
 
- Career Co-Pilot: https://github.com/wangwangbobo/career_skill_learnig.git
 - Slides Agent by Eko: https://github.com/MICAHFANG/slides-agent-by-eko
 - Universal Sidebar Assistant: https://github.com/San12341/eko-broser-extension.git
 - Orbit X Smart Terminal: https://github.com/Skywang16/OrbitX/tree/main
 - 48 Hour Browser Challenge: https://github.com/MoonIRL/eko
 
Eko is released under the MIT License. See the LICENSE file for details.