Home

Awesome

<img src="./.github/demo.png" /> <div align="center">Fully autonomous AI Agent that can perform complicated tasks and projects using terminal, browser, and editor.</div> </br>

Discord: https://discord.gg/uMaGSHNjzc

Features

Getting started

The simplest way to run Codel is to use a pre-built Docker image. You can find the latest image on the Github Container Registry.

[!IMPORTANT] You need to use a corresponding environment variable in order to use any of the supported language models.

You can run the Docker image with the following command. Remove or change the environment variables according to your needs.

docker run \
  -e OPEN_AI_KEY=your_open_ai_key \
  -e OPEN_AI_MODEL=gpt-4-0125-preview \
  -e OLLAMA_MODEL=llama2 \
  -p 3000:8080 \
  -v /var/run/docker.sock:/var/run/docker.sock \
  ghcr.io/semanser/codel:latest

Alternatively, you can create a .env file and run the Docker image with the --env-file flag. More information can be found here

Now you can visit localhost:3000 in your browser and start using Codel.

<details> <summary>Supported environment variables</summary>
* `OPEN_AI_KEY` - OpenAI API key. You can get the key [here](https://platform.openai.com/account/api-keys).
* `OPEN_AI_MODEL` - OpenAI model (default: gpt-4-0125-preview). The list of supported OpenAI models can be found [here](https://pkg.go.dev/github.com/sashabaranov/go-openai#pkg-constants).
* `OPEN_AI_SERVER_URL` - OpenAI server URL (default: https://api.openai.com/v1). Change this URL if you are using an OpenAI compatible server.
* `OLLAMA_MODEL` - locally hosted Ollama model (default: https://ollama.com/model). The list of supported Ollama models can be found [here](https://ollama.com/models).
* `OLLAMA_SERVER_URL` - Ollama server URL (default: https://host.docker.internal:11434). Change this URL if you are using an Ollama compatible server.
See backend [.env.example](./backend/.env.example) for more details.
</details>

Development

Check out the DEVELOPMENT.md for more information.

Roadmap

You can find the project's roadmap here.

Credits

This project wouldn't be possible without: