Codel is an open-source, self-hosted autonomous software engineering agent created by semanser. It combines an execution backend, an interactive web interface, and an isolated execution environment to plan and execute multi-step development tasks autonomously across codebases. Operating in a sandboxed Docker environment, Codel utilizes LLM backends such as OpenAI and local models via Ollama (configured via OLLAMA_SERVER_URL). The agent automatically analyzes requirements, generates code, executes terminal commands, accesses online documentation via a built-in browser tool, and presents modified files through an integrated web-based editor. All command execution history, agent actions, and intermediate outputs are persisted in a PostgreSQL database. Unlike lightweight CLI agents that execute directly in the user's host shell, Codel isolates all tool use inside containerized runtimes and automatically chooses appropriate Docker base images according to task requirements. This provides a clean separation between development workloads and the host environment while retaining browser and shell capabilities. Codel is open source under the GNU Affero General Public License v3.0 (AGPL-3.0) and is designed for self-hosted deployment on developer workstations or private servers.
Sandboxed Docker Execution — Executes all terminal commands and workspace modifications inside isolated Docker containers to protect the host system. - Autonomous Multi-Step Execution — Determines task sequences, runs shell commands, reviews outputs, and iterates on fixes without step-by-step manual prompting. - Integrated Web Browser — Enables the agent to query the web for external documentation, libraries, and error troubleshooting during task execution. - Built-In File Editor and Web UI — Provides a browser interface to inspect modified files, review agent logs, and monitor project status in real time. - Automated Docker Image Selection — Selects suitable container environments tailored to the target language and runtime requirements of the task. - State Persistence via PostgreSQL — Stores session history, terminal inputs, and tool outputs in a structured database for reproducibility. - Local and Cloud LLM Support — Connects to proprietary models via OpenAI APIs or local models using Ollama.
Use cases
Use Case: Isolated Script and Feature Prototyping A developer can assign Codel a project brief to scaffold a new service or script inside a container. The agent selects the appropriate base image, runs package managers, installs dependencies, and writes the code while the developer inspects the diffs in the web UI.
Use Case: Automated Research and Code Refactoring When working with unfamiliar APIs, Codel can search the web for current documentation using its built-in browser, download samples, test them inside the sandbox terminal, and apply the refactored code directly to project files.
Use Case: Autonomous Debugging with Local Models Developers running private environments can point Codel to a local Ollama instance via OLLAMA_SERVER_URL to debug broken test suites or build scripts inside Docker without leaking repository code to external cloud providers.
Who it is for
Codel is intended for developers and DevOps engineers looking for a self-hosted, sandboxed autonomous agent that can execute shell tasks and web research without endangering host environments. It is less suitable for developers who prefer minimal, purely terminal-native CLI tools without container or database infrastructure requirements.
Install guide
Installation Clone the repository and build the container environment using Docker: bash git clone https://github.com/semanser/codel.git cd codel
First Run Configure your environment variables for database connectivity and your preferred model provider (OpenAI or Ollama): bash # Set your OpenAI API key or Ollama endpoint export OPENAI_API_KEY="your-openai-api-key" # Optional: export OLLAMA_SERVER_URL="http://localhost:11434" # Build and start the containerized backend and frontend docker compose up --build Once running, navigate to http://localhost:3000 (or the configured frontend port) in your web browser.
Example Session In the web UI prompt, instruct Codel to handle a task inside the sandbox: text Create a Node.js Express server with a /health endpoint, write a Jest test for it, and run the tests to make sure they pass. Codel will select the Node container image, install packages, write server.js and server.test.js, execute npm test in the terminal, and present the final files in the built-in editor.
Crush — Crush is an open-source terminal coding agent created by Charm (Charmbracelet), the team behind popular Go terminal UI libraries like…
OpenHands — OpenHands (formerly OpenDevin) is an open-source autonomous AI software development agent and orchestration platform. It provides an extensible runtime environment…
Amazon Q Developer CLI — Amazon Q Developer CLI is an open-source command-line coding assistant developed by Amazon Web Services (AWS). Built primarily in Rust,…
SWE-agent — SWE-agent is an open-source autonomous software engineering agent harness built and maintained by researchers from Princeton University and Stanford University.…
Open Interpreter — Open Interpreter is an open-source terminal coding agent maintained by Killian Lucas and the Open Interpreter community. It is designed…
Gemini CLI — Gemini CLI is an open-source terminal coding agent maintained under the Google Gemini organization (google-gemini/gemini-cli). It provides a command-line and…