Giter Club home page Giter Club logo

anterion's Introduction

Anterion Web Beta

We've recently released a new web version of Anterion that requires no setup or LLM API key to use! You can access it here!:

๐Ÿค– Anterion Agent

๐Ÿ“– What is Anterion?

Anterion is an open-source AI software engineer.

Anterion extends the capabilities of SWE-agent to plan and execute open-ended engineering tasks, with a frontend inspired by OpenDevin.

We've equiped Anterion with easy deployment and UI to allow you to fix bugs and prototype ideas at ease.

๐ŸŽฅ Install Tutorial (Windows/WSL)

๐Ÿ Getting Started

๐ŸŽ‰ Get on board with Anterion by doing the following! ๐ŸŽ‰

Prerequisites

You will need to setup all three components of the system before being able to run it:

1. OpenDevin Setup

Before setting up OpenDevin, make a new conda environment and activate it by doing the following:

conda create --name anterion python=3.11
conda activate anterion

To setup OpenDevin, run the following command in the anterion directory:

make build-open-devin

2. SWE-agent Setup

Next you will need to setup the SWE-agent.

To start, you will need to cd to the SWE-agent directory, and run the following command:

cd SWE-agent
conda env create -f environment.yml
conda activate swe-agent

You will need to create a file called keys.cfg inside of the SWE-agent directory:

OPENAI_API_KEY: '<OPENAI_API_KEY_GOES_HERE>'
ANTHROPIC_API_KEY: '<ANTHROPIC_API_KEY_GOES_HERE>'
GITHUB_TOKEN: '<GITHUB_PERSONAL_ACCESS_TOKEN_GOES_HERE>'

And add the following .env file inside of the SWE-agent directory:

NETLIFY_AUTH_TOKEN="<NETLIFY_AUTH_TOKEN_GOES_HERE>"
NETLIFY_SITE_ID="<NETLIFY_SITE_ID_GOES_HERE>"

Netlify deployments are optional. If you do not want to use them or don't have netlify installed, you can leave both fields as empty strings.

From the SWE-agent directory head back to the anterion directory and run the following command to setup SWE-agent

cd ..
make build-swe-agent

3. microservice Setup

Finally, you need to setup the microservice, which ties together the OpenDevin frontend and the SWE-agent agent.

First, within the microservice directory, create a new directory called docker_volume which will be used to store files.

cd ./microservice
mkdir docker_volume

Then you need to create a .env file in the microservice directory like the following:

OPENAI_API_KEY=<OPENAI_API_KEY_GOES_HERE>
ANTHROPIC_API_KEY=<ANTHROPIC_API_KEY_GOES_HERE>
SWE_AGENT_PATH=<SWE_AGENT_PATH_GOES_HERE>
PYTHON_PATH=<PATH_TO_SWE_AGENT_PYTHON_BINARY_GOES_HERE>

DOCKER_HOST_VOLUME_PATH=<PATH_TO_DOCKER_VOLUME_DIRECTORY_GOES_HERE>
DOCKER_CONTAINER_VOLUME_PATH=/usr/app

SWE_AGENT_PER_INSTANCE_COST_LIMIT=<MAX_USD_PER_AGENT_TASK>
SWE_AGENT_TIMEOUT=25
SWE_AGENT_MODEL_NAME=gpt4

Ollama Support

If you want to use an Ollama model, change SWE_AGENT_MODEL_NAME to look like the following:

SWE_AGENT_MODEL_NAME=ollama:<OLLAMA_MODEL_GOES_HERE>

For example, if you want to try the new LLama 3 model, use the following line:

SWE_AGENT_MODEL_NAME=ollama:llama3

Next, head from the microservice directory cd to the anterion directory and return to the anterion environment using:

cd ..
conda deactivate

Finally, run the following command from the anterion directory to build the microservice:

make build-microservice

Usage

To now run Anterion, you need to be in the anterion environment.

Then you need to run the frontend and the backend. Run the following command from the anterion directory to run both together:

./run.sh

You may have to change permissions for the file first:

chmod +x run.sh

If that isn't working for some reason, run both of them separately:

make run-frontend
make run-backend

๐Ÿ™ Special Thanks!

We'd like to say thanks to these amazing repos for inspiration!

anterion's People

Contributors

lucas-strange avatar miscellaneousstuff avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

anterion's Issues

Some questions on library choice

  1. What are the difference between Anterion's components, and tools like ChatDev, AgentGPT, MetaGPT, and AutoGen?
  2. How can one get AI to do web design and web development (or more generally UX development and accessibility)?
  3. What are the criteria in picking an open model for use in Anterion? (e.g. Qwen, DeepSeek, Phind, Wizard, LLaMA)
  4. Can this project handle reading documents and browsing the internet for technical updates?
  5. Is automated fine-tuning or reranking possible to handle data science related tasks? (e.g. LDB, LATS, Parsel)

Offtopic: please add an SSL certificate to your website...

I am sure you guys put a lot of time and effort in this project but some basics still apply. Not having a ssl certificate on your website anterion.ai makes people think you might be bunch of amateurs. Let's encrypt provides free ssl certs for your website. Please use it. Good luck with your project and startup.

Please provide example .env file

Let me begin by saying that I appreciate your hard work and dedication to Anterion.

I want to check it out, but I need help installing it. I'm on a Mac and can't correctly complete the required information in the .env file. For example, my docker volumes are found in "~/Library/Containers/com.docker.docker/Data/vms/", but this seems to be incorrect.

Would it be possible for you to provide an example? It would greatly assist me in finding the required information and ensure a smoother installation process.

Thank you,

1of13

Persistent Docker Container

Every single task run by the SWE-agent is executed within a newly initialised Docker container. This is pointless as there is no need for the re-initialisation each time, instead it should just execute within a persistent container which SWE-agent already has support for.

Add LiteLLM Support

Add support for LiteLLM within SWE-agent so people can use any open-source model they want for the agent, rather than just OpenAI or Anthropic APIs.

Edit: Switched from Ollama to LiteLLM as LiteLLM should be a bit more abstract than Ollama and support a wider range of closed source and open source LLMs so the community can have more freedom over what they use.

Docker Installer

Would be good to see the install instruction be more streamlined for less hastle.

Add Ollama Support

Hello,
great project.
I am not sure if I did not see it, but is it possible to add ollama support?
If this is already working, where do I have to set the URL for the ollama API and where the ollama model e.g. llama3?
Thanks for your help in advance.

Add Browser Support During Web Development Tasks

Tasks:

  • Add browser screenshot integration into SWE-agent to allow people to view live screenshots of their website during development, not just if it's deployed using an external service like Netlify.
  • Also allow the agent to perform web browsing explicitly using its own browser. This could include explicit web searches such as how Devika currently integrates Google, Bing, DuckDuckGo, etc., but also just general web browsing capability using a library similar to AgentQL.

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.