github

semanser / codel

  • срСда, 27 ΠΌΠ°Ρ€Ρ‚Π° 2024β€―Π³. Π² 00:00:01
https://github.com/semanser/codel

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



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

How to run

Prerequisites

  • golang
  • nodejs
  • docker

Environment variables

Add to .env file in the backend folder.

Backend

  • OPEN_AI_KEY - OpenAI API key
  • 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

Frontend

Frontend environment variables can be set by creating a .env.local file in the frontend folder.

  • VITE_API_URL - Backend API URL. Omit the URL scheme (e.g., localhost:8080 NOT http://localhost:8080).

Steps

  • Run go run . in backend folder
  • Run yarn dev in frontend folder
  • Open your browser and enjoy!

Roadmap

  • Agent API
  • Frontend
  • Backend API + PostgreSQL integration
  • Docker runner
  • Terminal output streaming
  • Browser output streaming (in progress)
  • Editor output
  • SWE-bench
  • Better way to run it (eg a single docker command)

Credits

This project wouldn't be possible without: