{"id":24205051,"url":"https://github.com/fellouai/eko","last_synced_at":"2025-12-29T10:11:36.017Z","repository":{"id":272001509,"uuid":"892974698","full_name":"FellouAI/eko","owner":"FellouAI","description":"Eko (Eko Keeps Operating) - Build Production-ready Agentic Workflow with Natural Language - eko.fellou.ai","archived":false,"fork":false,"pushed_at":"2025-05-13T13:39:59.000Z","size":1628,"stargazers_count":3568,"open_issues_count":24,"forks_count":261,"subscribers_count":91,"default_branch":"main","last_synced_at":"2025-05-13T14:54:59.649Z","etag":null,"topics":["agent","agentic-ai","agentic-ai-development","agentic-framework","agentic-workflow","agents","ai-agents","browser-automation","browseruse","chain-of-thought","computer-automation","computeruse","genai","llm-agents","llm-inference","llmapi","natural-language-inference","prompt-engineering","rag","workflow"],"latest_commit_sha":null,"homepage":"https://fellou.ai/eko","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/FellouAI.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-11-23T07:32:24.000Z","updated_at":"2025-05-13T12:53:52.000Z","dependencies_parsed_at":"2025-01-11T11:31:14.069Z","dependency_job_id":"4bbdf54f-1cc6-441e-b5bf-3dded2d11fa0","html_url":"https://github.com/FellouAI/eko","commit_stats":null,"previous_names":["fellouai/eko"],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FellouAI%2Feko","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FellouAI%2Feko/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FellouAI%2Feko/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FellouAI%2Feko/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FellouAI","download_url":"https://codeload.github.com/FellouAI/eko/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253990458,"owners_count":21995773,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agent","agentic-ai","agentic-ai-development","agentic-framework","agentic-workflow","agents","ai-agents","browser-automation","browseruse","chain-of-thought","computer-automation","computeruse","genai","llm-agents","llm-inference","llmapi","natural-language-inference","prompt-engineering","rag","workflow"],"created_at":"2025-01-13T23:19:49.753Z","updated_at":"2025-12-29T10:11:36.012Z","avatar_url":"https://github.com/FellouAI.png","language":"TypeScript","readme":"\n\n\n\u003ch1 align=\"center\"\u003e\n  \u003ca href=\"https://github.com/FellouAI/eko\" target=\"_blank\"\u003e\n    \u003cimg src=\"https://github.com/user-attachments/assets/55dbdd6c-2b08-4e5f-a841-8fea7c2a0b92\" alt=\"eko-logo\" width=\"200\" height=\"200\"\u003e\n  \u003c/a\u003e\n  \u003cbr\u003e\n  \u003csmall\u003eEko - Build Production-ready Agentic Workflow with Natural Language\u003c/small\u003e\n\u003c/h1\u003e\n\n\n\n[![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE) [![Build Status](https://img.shields.io/badge/build-passing-brightgreen.svg)](https://example.com/build-status) [![Version](https://img.shields.io/github/package-json/v/FellouAI/eko?color=yellow)](https://eko.fellou.ai/docs/release/versions/)\n\nEko (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**.\n\n## News\n\n- **2025-11:** Eko 4.0 supports chat conversations \u0026 optimizes agent logic.\n- **2025-09:** Eko 3.0 introduces dependency-aware parallel agent execution.\n- **2025-09:** New pause, resume, and interrupt controls with `task_snapshot` workflow recovery.\n- **2025-09:** Monorepo tooling migrated to pnpm for consistent workspace management.\n\n## Upgrading to Eko 4.0\n\nFollow these steps when moving an existing Eko 3.x project to 4.0:\n\n1. Update dependencies with `pnpm up @eko-ai/eko @eko-ai/eko-nodejs @eko-ai/eko-web @eko-ai/eko-extension`.\n2. Regenerate saved workflows or exported plans so they use the v3 schema and dependency graph format.\n3. Clean and reinstall using pnpm (`rm -rf node_modules \u0026\u0026 pnpm install`), then rebuild any browser or desktop bundles.\n4. Re-run automated demos and update documentation to reflect the new pause/interrupt APIs and parallel agent behavior.\n\n\n## Framework Comparison\n\n| Feature                              | Eko   | Langchain  | Browser-use  | Dify.ai  | Coze   |\n|--------------------------------------|-------|------------|--------------|----------|--------|\n| **Supported Platform**               | **All platform**  | Server side  | Browser  | Web  | Web  |\n| **One sentence to multi-step workflow** | ✅    | ❌          | ✅            | ❌        | ❌      |\n| **Intervenability**                  | ✅    | ✅          | ❌            | ❌        | ❌      |\n| **Task Parallel** | ✅    | ❌          | ❌            | ❌        | ❌      |\n| **Development Efficiency**           | **High**  | Low      | Middle        | Middle    | Low    |\n| **Task Complexity**           | **High**  | High      | Low        | Middle    | Middle    | Middle       |\n| **Open-source**                      | ✅    | ✅          | ✅            | ✅        | ❌      |\n| **Access to private web resources** | ✅ | ❌          | ❌            | ❌        | ❌      |\n\n## Features\n\n- [x] Pure JavaScript: Built for browsers and Node.js.🚀\n- [x] Multi-Agent: Unleash power with multiple Agents in one task.📈\n- [x] Agent/Tool Flexibility: Customize new Agents and Tools in just one line.🎉\n- [x] Native MCP: Connects seamlessly with [Awesome MCP Servers](https://mcpservers.org/).🔗\n- [x] Dynamic LLM: Balance speed and performance with flexible model choices.⚙️\n- [x] Human-in-the-loop: Intervene when it matters most.🤝\n- [x] Stream Planning: Dynamic rendering made easy.🎨\n- [x] Loop \u0026 Listener Tasks: Automate any repetitive task.🤖\n- [ ] Observable Chain: *Coming soon*\n- [ ] Native A2A: *Coming soon*\n\n## Quickstart\n\n\u003e **Note**: Please refer to the [Eko Quickstart guide](https://eko.fellou.ai/docs/getting-started/quickstart/) guide for full instructions on how to run it.\n\n\u003e **Security Warning**\n\u003e \n\u003e DO NOT use API Keys in browser/frontend code!\n\u003e\n\u003e This will expose your credentials and may lead to unauthorized usage.\n\u003e\n\u003e Best Practices: Configure backend API proxy request through baseURL and request headers.\n\u003e\n\u003e Please refer to the link: https://eko.fellou.ai/docs/getting-started/configuration#web-environment\n\n```typescript\nconst llms: LLMs = {\n  default: {\n    provider: \"anthropic\",\n    model: \"claude-sonnet-4-5-20250929\",\n    apiKey: \"your-api-key\"\n  },\n  gemini: {\n    provider: \"google\",\n    model: \"gemini-2.5-pro\",\n    apiKey: \"your-api-key\"\n  },\n  openai: {\n    provider: \"openai\",\n    model: \"gpt-5\",\n    apiKey: \"your-api-key\"\n  },\n  // OpenAI-compatible models (Qwen, Doubao, etc.)\n  qwen: {\n    provider: \"openai\",\n    model: \"qwen-plus\",\n    apiKey: \"your-qwen-api-key\",\n    config: {\n      baseURL: \"https://dashscope-intl.aliyuncs.com/compatible-mode/v1\"\n    }\n  },\n  doubao: {\n    provider: \"openai\",  // Use OpenAI provider for compatibility\n    model: \"doubao-seed-1-6-250615\",  // or other Doubao model\n    apiKey: \"your-volcengine-api-key\",\n    config: {\n      baseURL: \"https://ark.cn-beijing.volces.com/api/v3\"  // Volcengine endpoint\n    }\n  }\n\n};\n\nlet agents: Agent[] = [new BrowserAgent(), new FileAgent()];\nlet eko = new Eko({ llms, agents });\nlet result = await eko.run(\"Search for the latest news about Musk, summarize and save to the desktop as Musk.md\");\n```\n\n```bash\n$ pnpm install @eko-ai/eko\n```\n\n## Example Projects\n\nThe repository ships with three workspace examples under the `example/` folder.\n\n### Prerequisites\n\nBefore running any example, install dependencies and build the core packages from the root directory:\n\n```bash\npnpm install\npnpm build\n```\n\n### Browser Extension (`example/extension`)\n\n```bash\ncd example/extension\npnpm install\npnpm run build\n```\n\nLoad the generated `dist` directory via `chrome://extensions` → Developer Mode → Load unpacked.\nConfigure your API key in the extension options before running the automation task.\n\n### Node.js Automation (`example/nodejs`)\n\n```bash\ncd example/nodejs\npnpm install\npnpm playwright install   # first time only, installs browsers\npnpm run build\nOPENAI_API_KEY=... ANTHROPIC_API_KEY=... pnpm run start\n```\n\nThe Node.js demo drives Playwright through Eko; provide at least one model API key before running it.\n\n### Web Login Demo (`example/web`)\n\n```bash\ncd example/web\npnpm install\npnpm run start\n```\n\nThis starts a React dev server on the default port with a simple login flow that you can automate\nwith the browser or web agents.\n\n## Use Cases\n\n- Browser automation and web scraping\n- System file and process management\n- Workflow automation\n- Data processing and organization\n- GUI automation\n- Multi-step task orchestration\n\n## Documentation\n\nVisit our [documentation site](https://eko.fellou.ai/docs) for:\n\n- Getting started guide\n- API reference\n- Usage examples\n- Best practices\n- Configuration options\n\n## Development Environments\n\nEko can be used in multiple environments:\n\n- Browser Extension\n- Web Applications\n- Node.js Applications\n\n## Community and Support\n\n- Report issues on [GitHub Issues](https://github.com/FellouAI/eko/issues)\n\n[![Star History Chart](https://api.star-history.com/svg?repos=FellouAI/eko\u0026type=Date)](https://star-history.com/#FellouAI/eko\u0026Date)\n\n\n## License\n\nEko is released under the MIT License. See the [LICENSE](LICENSE) file for details.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffellouai%2Feko","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffellouai%2Feko","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffellouai%2Feko/lists"}