Skip to content

AI Developer is an AI agent powered by GPT-4-Turbo that's using custom E2B Sandbox

Notifications You must be signed in to change notification settings

e2b-dev/ai-developer-with-sandbox

Repository files navigation

AI Developer powered by GPT-4-Turbo & OpenAI's AI Assistant API

e2b logo

AI Developer is an AI agent powered by OpenAI Assistant API that's using custom E2B Sandbox


The AI developer is an AI agent that perform user's tasks in the user's GitHub repository including:

  • reading files
  • writing code
  • making pull requests
  • pulling GitHub repository
  • responding to the user's feedback to the agent's previous work.
  • running commands in the generated environment

All agent's work is happening inside the E2B sandbox.

The E2B's sandboxes are isolated cloud environments made specifically for AI apps and agents. Inside the sandbox AI agents perform long-running tasks, run code in a secure cloud environment, and use the same tools as a human developer would use.

  • Pull GitHub repository
  • Read files
  • Make needed changes
  • Commit work
  • Create a pull request
  • Run commands in the generated environment

The custom E2B sandbox environment is defined in the e2b.Dockerfile

Getting started

  1. Run npm install
  2. Copy .env.example and save it as .env file
  3. Add your OpenAI API key to .env
  4. Get E2B API Key at https://e2b.dev/docs/getting-started/api-key
    • Save it to .env
  5. Run npm run create-ai-assistant to create the AI assistant using OpenAI's new Assistant API
  6. Grab the assistant ID you just created here https://platform.openai.com/assistants
    • Save the assistant ID to .env
  7. Create classic GitHub token here and give it the read:org and repo permissions
    • Save the GitHub token to .env
  8. Save your GitHub username to .env

Run AI Developer

Run the following command in terminal and follow instructions

npm run start

Update AI Developer

If you make changes to the description in functions.ts, you can update the AI by running the following command in the terminal:

npm run update-ai-assistant