a7t0fwa7 / codel

✨ Fully autonomous AI Agent that can perform complicated tasks and projects using terminal, browser, and editor.

Home Page:https://discord.gg/uMaGSHNjzc

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Fully autonomous AI Agent that can perform complicated tasks and projects using terminal, browser, and editor.

Discord: https://discord.gg/uMaGSHNjzc

Features

  • 🔓 Secure. Everything is running in a sandboxed Docker environment.
  • 🤖 Autonomous. Automatically detects the next step and performs it.
  • 🔍 Built-in browser. Fetches latest information from the web (tutorials, docs, etc.) if needed.
  • 📙 Built-in text editor. View all the modified files right in your browser.
  • 🧠 All the history commands and outputs are saved in the PostgreSQL database.
  • 📦 Automatic Docker-image picker based on the user task.
  • 🤳 Self-hosted
  • 💅 Modern UI

Usage

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

Don't forget to set the required environment variables.

docker run -d \
  -e OPEN_AI_KEY=<your_open_ai_key> \
  -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 following command:

docker run -d \
  --env-file .env \
  -p 3000:8080 \
  -v /var/run/docker.sock:/var/run/docker.sock \
  ghcr.io/semanser/codel:latest

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

Required environment variables
- `OPEN_AI_KEY` - OpenAI API key
Optional environment variables
- `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).
- `DATABASE_URL` - PostgreSQL database URL (eg. `postgres://user:password@localhost:5432/database`)
- `DOCKER_HOST` - Docker SDK API (eg. `DOCKER_HOST=unix:///Users/<my-user>/Library/Containers/com.docker.docker/Data/docker.raw.sock`) [more info](https://stackoverflow.com/a/62757128/5922857)
- `PORT` - Port to run the server in the Docker container (default: 8080)

See backend [.env.example](./backend/.env.example) for more 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:

About

✨ Fully autonomous AI Agent that can perform complicated tasks and projects using terminal, browser, and editor.

https://discord.gg/uMaGSHNjzc

License:GNU Affero General Public License v3.0


Languages

Language:TypeScript 56.9%Language:Go 40.3%Language:JavaScript 1.5%Language:Dockerfile 0.7%Language:HTML 0.5%