[{"data":1,"prerenderedAt":4},["ShallowReactive",2],{"readme:eko":3},"\u003Ch1>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FFellouAI\u002Feko\" rel=\"nofollow ugc noopener\">\n    \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F55dbdd6c-2b08-4e5f-a841-8fea7c2a0b92\" alt=\"eko-logo\" width=\"200\" height=\"200\" \u002F>\n  \u003C\u002Fa>\n  \u003Cbr \u002F>\n  Eko - Build Production-ready Agentic Workflow with Natural Language\n\u003C\u002Fh1>\u003Cp>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FFellouAI\u002Feko\u002Fblob\u002FHEAD\u002FLICENSE\" rel=\"nofollow ugc noopener\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-MIT-blue.svg\" alt=\"License\" \u002F>\u003C\u002Fa> \u003Ca href=\"https:\u002F\u002Fexample.com\u002Fbuild-status\" rel=\"nofollow ugc noopener\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fbuild-passing-brightgreen.svg\" alt=\"Build Status\" \u002F>\u003C\u002Fa> \u003Ca href=\"https:\u002F\u002Feko.fellou.ai\u002Fdocs\u002Frelease\u002Fversions\u002F\" rel=\"nofollow ugc noopener\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fpackage-json\u002Fv\u002FFellouAI\u002Feko?color=yellow\" alt=\"Version\" \u002F>\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>Eko (pronounced like 'echo') is a production-ready JavaScript framework that enables developers to create reliable agents, \u003Cstrong>from simple commands to complex workflows\u003C\u002Fstrong>. It provides a unified interface for running agents in both \u003Cstrong>computer and browser environments\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Ch2>News\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>\u003Cstrong>2025-11:\u003C\u002Fstrong> Eko 4.0 supports chat conversations &amp; optimizes agent logic.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>2025-09:\u003C\u002Fstrong> Eko 3.0 introduces dependency-aware parallel agent execution.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>2025-09:\u003C\u002Fstrong> New pause, resume, and interrupt controls with \u003Ccode>task_snapshot\u003C\u002Fcode> workflow recovery.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>2025-09:\u003C\u002Fstrong> Monorepo tooling migrated to pnpm for consistent workspace management.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2>Upgrading to Eko 4.0\u003C\u002Fh2>\n\u003Cp>Follow these steps when moving an existing Eko 3.x project to 4.0:\u003C\u002Fp>\n\u003Col>\n\u003Cli>Update dependencies with \u003Ccode>pnpm up @eko-ai\u002Feko @eko-ai\u002Feko-nodejs @eko-ai\u002Feko-web @eko-ai\u002Feko-extension\u003C\u002Fcode>.\u003C\u002Fli>\n\u003Cli>Regenerate saved workflows or exported plans so they use the v3 schema and dependency graph format.\u003C\u002Fli>\n\u003Cli>Clean and reinstall using pnpm (\u003Ccode>rm -rf node_modules &amp;&amp; pnpm install\u003C\u002Fcode>), then rebuild any browser or desktop bundles.\u003C\u002Fli>\n\u003Cli>Re-run automated demos and update documentation to reflect the new pause\u002Finterrupt APIs and parallel agent behavior.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch2>Framework Comparison\u003C\u002Fh2>\n\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Feature\u003C\u002Fth>\n\u003Cth>Eko\u003C\u002Fth>\n\u003Cth>Langchain\u003C\u002Fth>\n\u003Cth>Browser-use\u003C\u002Fth>\n\u003Cth>Dify.ai\u003C\u002Fth>\n\u003Cth>Coze\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\u003Ctr>\n\u003Ctd>\u003Cstrong>Supported Platform\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>\u003Cstrong>All platform\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>Server side\u003C\u002Ftd>\n\u003Ctd>Browser\u003C\u002Ftd>\n\u003Ctd>Web\u003C\u002Ftd>\n\u003Ctd>Web\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>One sentence to multi-step workflow\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>✅\u003C\u002Ftd>\n\u003Ctd>❌\u003C\u002Ftd>\n\u003Ctd>✅\u003C\u002Ftd>\n\u003Ctd>❌\u003C\u002Ftd>\n\u003Ctd>❌\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>Intervenability\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>✅\u003C\u002Ftd>\n\u003Ctd>✅\u003C\u002Ftd>\n\u003Ctd>❌\u003C\u002Ftd>\n\u003Ctd>❌\u003C\u002Ftd>\n\u003Ctd>❌\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>Task Parallel\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>✅\u003C\u002Ftd>\n\u003Ctd>❌\u003C\u002Ftd>\n\u003Ctd>❌\u003C\u002Ftd>\n\u003Ctd>❌\u003C\u002Ftd>\n\u003Ctd>❌\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>Development Efficiency\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>\u003Cstrong>High\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>Low\u003C\u002Ftd>\n\u003Ctd>Middle\u003C\u002Ftd>\n\u003Ctd>Middle\u003C\u002Ftd>\n\u003Ctd>Low\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>Task Complexity\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>\u003Cstrong>High\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>High\u003C\u002Ftd>\n\u003Ctd>Low\u003C\u002Ftd>\n\u003Ctd>Middle\u003C\u002Ftd>\n\u003Ctd>Middle\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>Open-source\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>✅\u003C\u002Ftd>\n\u003Ctd>✅\u003C\u002Ftd>\n\u003Ctd>✅\u003C\u002Ftd>\n\u003Ctd>✅\u003C\u002Ftd>\n\u003Ctd>❌\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>Access to private web resources\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>✅\u003C\u002Ftd>\n\u003Ctd>❌\u003C\u002Ftd>\n\u003Ctd>❌\u003C\u002Ftd>\n\u003Ctd>❌\u003C\u002Ftd>\n\u003Ctd>❌\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\u003C\u002Ftable>\n\u003Ch2>Features\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>\u003Cinput checked disabled type=\"checkbox\" \u002F> Pure JavaScript: Built for browsers and Node.js.🚀\u003C\u002Fli>\n\u003Cli>\u003Cinput checked disabled type=\"checkbox\" \u002F> Multi-Agent: Unleash power with multiple Agents in one task.📈\u003C\u002Fli>\n\u003Cli>\u003Cinput checked disabled type=\"checkbox\" \u002F> Agent\u002FTool Flexibility: Customize new Agents and Tools in just one line.🎉\u003C\u002Fli>\n\u003Cli>\u003Cinput checked disabled type=\"checkbox\" \u002F> Native MCP: Connects seamlessly with \u003Ca href=\"https:\u002F\u002Fmcpservers.org\u002F\" rel=\"nofollow ugc noopener\">Awesome MCP Servers\u003C\u002Fa>.🔗\u003C\u002Fli>\n\u003Cli>\u003Cinput checked disabled type=\"checkbox\" \u002F> Dynamic LLM: Balance speed and performance with flexible model choices.⚙️\u003C\u002Fli>\n\u003Cli>\u003Cinput checked disabled type=\"checkbox\" \u002F> Human-in-the-loop: Intervene when it matters most.🤝\u003C\u002Fli>\n\u003Cli>\u003Cinput checked disabled type=\"checkbox\" \u002F> Stream Planning: Dynamic rendering made easy.🎨\u003C\u002Fli>\n\u003Cli>\u003Cinput checked disabled type=\"checkbox\" \u002F> Loop &amp; Listener Tasks: Automate any repetitive task.🤖\u003C\u002Fli>\n\u003Cli>\u003Cinput disabled type=\"checkbox\" \u002F> Observable Chain: \u003Cem>Coming soon\u003C\u002Fem>\u003C\u002Fli>\n\u003Cli>\u003Cinput disabled type=\"checkbox\" \u002F> Native A2A: \u003Cem>Coming soon\u003C\u002Fem>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2>Quickstart\u003C\u002Fh2>\n\u003Cblockquote>\n\u003Cp>\u003Cstrong>Note\u003C\u002Fstrong>: Please refer to the \u003Ca href=\"https:\u002F\u002Feko.fellou.ai\u002Fdocs\u002Fgetting-started\u002Fquickstart\u002F\" rel=\"nofollow ugc noopener\">Eko Quickstart guide\u003C\u002Fa> guide for full instructions on how to run it.\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cblockquote>\n\u003Cp>\u003Cstrong>Security Warning\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>DO NOT use API Keys in browser\u002Ffrontend code!\u003C\u002Fp>\n\u003Cp>This will expose your credentials and may lead to unauthorized usage.\u003C\u002Fp>\n\u003Cp>Best Practices: Configure backend API proxy request through baseURL and request headers.\u003C\u002Fp>\n\u003Cp>Please refer to the link: \u003Ca href=\"https:\u002F\u002Feko.fellou.ai\u002Fdocs\u002Fgetting-started\u002Fconfiguration#web-environment\" rel=\"nofollow ugc noopener\">https:\u002F\u002Feko.fellou.ai\u002Fdocs\u002Fgetting-started\u002Fconfiguration#web-environment\u003C\u002Fa>\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cpre>\u003Ccode class=\"language-typescript\">const llms: LLMs = {\n  default: \n\u003C\u002Fcode>\u003C\u002Fpre>\n",1786315275429]