Giter VIP home page Giter VIP logo

ankur612 / e2b Goto Github PK

View Code? Open in Web Editor NEW

This project forked from e2b-dev/e2b

0.0 0.0 0.0 3.62 MB

Your own virtual developer. e2b uses AI agents to build software for you based on your instructions. Developers describe what they want to build by writing documentation. Then let AI agents with access to tools do the coding work.

Home Page: https://e2b.dev

License: Other

Shell 0.07% JavaScript 0.63% Python 59.10% TypeScript 39.15% CSS 0.54% Nix 0.04% Makefile 0.11% Dockerfile 0.37%

e2b's Introduction

e2b e2b

Open-source IDE powered by AI agents that do the work for you

e2b-editor Example of AI agent building Stripe checkout. Left - technical specification written by human. Right - steps that the AI agent took and tools that it used to build the server route required by the specification.

e2b or etob (english2bits) is a new kind of development environment powered by AI. The main idea is that developers have access to AI agents that can use tools. The developer writes a short documentation or a technical spec in plain English and then lets the AI agent do the actual work. The AI agents have access to tools like writing to a file, running code, running commands, installing dependencies, deploying, etc. Agents operate in a secure sandboxed cloud environment that's powered by Firecracker. This way, you for example describe what a server route should do and the agent codes it for you. Like this example of an AI agent coding Stripe customer checkout based on a technical spec.

e2b currently supports building only REST servers in Node.js. Specifically using the Express framework. We'll support more languages and frameworks with time. The goal for e2b is to eventually be able to handle any use-case.

๐Ÿš€ Get started

We're working on the cloud-hosted version. In the meantime, the fastest way try out e2b is to run it locally via Docker.

You will need:

  • OpenAI API key (support for more and custom models coming soon)
  • Docker
  • Node.js 16+
  • Free ports 3000 (Next.js app), 54321 (Supabase API Gateway), 54322 (Supabase Database)

The first start of the Dockerized app is slower because it downloads and builds all the necessary containers. On a 2CPU 4GB RAM machine it takes cca. 6 minutes and doesn't require any interaction. The subsequent starts are way faster.

1. Add env var

Create .env file by copying the .env.example

cp .env.example .env

and fill in the following variable:

2. Start the app

npm start

Then open the page on http://localhost:3000.

npm run start starts local Supabase in the background - to stop it you have to run npm run stop.

If you want to run the project without using containers use the steps here. This is useful if you want to leverage hot reloading and develop the project.

Features

๐Ÿ›  Bring your own X

While e2b will offer the "batteries-included" solution, our goal is to let users:

  • BYOM - Bring Your Own Model
  • BYOP - Bring Your Own Prompt
  • BYOT - Bring Your Own Tools

We think the AI-powered IDE for the future should be open-sourced and allow anybody to bring their models, customize the prompts, and develop custom tools for the agents. But we also plan to offer a cloud version with some features behind subscription though.

๐Ÿค– Supported models

  • GPT-4
  • GPT-3.5
  • More coming soon.

Model you like isn't supported?

๐Ÿ‘‰ Please open the "New model request" issue. ๐Ÿ‘ˆ

๐Ÿ‘€ Early demos

โ„น๏ธ Community & Support

๐Ÿ“† Roadmap

  1. Make sure people can run e2b locally without issues and the DX is smooth.
  2. Add support for more models.
    • Let users request new models. Laterm create a system that will let users use any model.
  3. Improve model's understanding of the context based on the instructions
  4. Support for more tools
  5. Improve the dashboard UI
  6. Let users edit prompt
  7. Let users customize tools and build custom workflows for the agent
  8. Release cloud version

๐Ÿ’ป Development

For developing with hot reloading and contributing to the project you may want to run the app locally without Docker Compose (npm run start command). Here are the steps for how to do it.

You will need:

  • OpenAI API key (support for more and custom models coming soon)
  • Docker
  • Node.js 16+
  • Python 3.10+
  • Poetry 1.3.2+
  • Free ports 3000, 49155, 49160, 54321, 54322

1. Install dependencies

npm run install:all

2. Start local Supabase

npm run db:start

Local Supabase runs in the background - to stop it you have to run npm run db:stop.

3. Add env vars

Create .env file by copying the .env.example

cp .env.example .env

and fill in the following variables:

  • OPENAI_API_KEY - your OpenAI key
  • SUPABASE_SERVICE_ROLE_KEY - Supabase service role key you got in the previous step as service_role key: eyJh......
  • NEXT_PUBLIC_SUPABASE_ANON_KEY - Supabase anonymous key you got in the previous step as anon key: eyJh......

4. Start the app

npm run dev

Then open the page on http://localhost:3000 and sign in with the testing credentials:

Email

[email protected]

Password

[email protected]

e2b's People

Contributors

valentatomas avatar mlejva avatar jzanecook avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.