🤖 Devin 4.0
The most capable open-source autonomous AI agent — fully controls your OS, works with zero API keys
Works completely free — no API key required.
Uses HuggingFace free tier or free-claude-code proxy automatically when no paid key is set.
⚡ Install
pip install
pip install devin-agi
devin # starts immediately — no config needed
Or directly from GitHub (no PyPI upload needed):
pip install git+https://github.com/kevinhamza/Devin-4.0
curl one-liner
curl -fsSL https://github.com/kevinhamza/Devin-4.0/raw/main/scripts/install.sh | sh
devin
Both put the devin command on your PATH. No cd, no venv activation.
Add API keys (optional — works free without any)
After a pip or curl install, keys go in ~/.devin/.env:
# ~/.devin/.env
HF_TOKEN=hf_... # free — huggingface.co/settings/tokens
GEMINI_API_KEY=AIza... # free tier — aistudio.google.com
ANTHROPIC_API_KEY=sk-ant-... # paid, best quality
OPENAI_API_KEY=sk-... # paid
CLAUDE_SESSION_KEY=... # free via fcc-server proxy (see below)
OLLAMA_BASE_URL=http://localhost:11434 # local, fully offline
Devin picks the best available key automatically. No key → falls back to HuggingFace free tier.
Use FCC (free Claude proxy — no account needed)
# 1. Install fcc-server
curl -fsSL https://github.com/Alishahryar1/free-claude-code/raw/main/scripts/install.sh | sh
# 2. Start it
fcc-server &
# 3. Add your claude.ai session cookie to ~/.devin/.env
echo "CLAUDE_SESSION_KEY=your_cookie_here" >> ~/.devin/.env
# 4. Run Devin — it will use Claude for free
devin
⚡ Quick Start (manual clone)
1 — Clone & install
git clone https://github.com/kevinhamza/Devin-4.0
cd Devin-4.0
pip install -r requirements.txt
2 — Add an API key (optional — works without one)
cp .env.example .env
# Then open .env and paste at least one key, e.g.:
# HF_TOKEN=hf_... ← free at huggingface.co/settings/tokens
# GEMINI_API_KEY=... ← free tier at aistudio.google.com
# ANTHROPIC_API_KEY=... ← paid, best quality
3 — Run
# Interactive REPL (recommended)
python3 agent.py
# Or use the shell launcher (same thing, picks Python automatically)
chmod +x devin
./devin
# One-shot task — no REPL
python3 agent.py "open a browser and go to github.com"
# Headless / server (no display)
_HAS_DISPLAY=false python3 agent.py "scrape the top 10 Hacker News headlines"
Zero-key mode: if no key is set, Devin falls back to the HuggingFace free tier automatically.
🧠 What Makes Devin Different
| Feature | Devin 4.0 | AutoGPT | Open Interpreter | Devin (commercial) |
|---|---|---|---|---|
| Zero API key needed | ✅ | ❌ | ❌ | ❌ |
| Full OS mouse/keyboard control | ✅ | ❌ | Partial | ✅ |
| Screen vision (AI sees your screen) | ✅ | ❌ | ❌ | ✅ |
| Voice input + output | ✅ | ❌ | ❌ | ❌ |
| 213 built-in tools | ✅ | ~30 | ~20 | Unknown |
| 5 AI providers + auto-fallback | ✅ | 1–2 | 1–2 | 1 |
| 110+ capability modules | ✅ | ❌ | ❌ | ❌ |
| Local LLM support (Ollama) | ✅ | Partial | ✅ | ❌ |
| Open source | ✅ | ✅ | ✅ | ❌ |
| Price | Free | API cost | API cost | $500/mo |
🎯 What Devin Can Do
👁️ See & Understand
- Takes screenshots and analyzes them with AI vision
- Reads any UI element, window, dialog, or terminal output
- Identifies positions, text, and state of everything on screen
🖱️ Control Your Computer
- Clicks, types, scrolls, drags — full mouse + keyboard control
- Works on Linux (X11/Wayland), macOS, and Windows
- Opens and operates any GUI application
🌐 Automate the Web
- Full browser control via Playwright and Selenium
- Vision-guided element finding — no selectors needed
- Scrapes, fills forms, logs in, navigates complex SPAs
🗣️ Speak & Listen
- Text-to-speech (pyttsx3, gTTS, ElevenLabs)
- Speech-to-text via Whisper and SpeechRecognition
- Continuous voice command mode
💻 Write & Execute Code
- Python execution with live stdout capture
- Shell subprocess with timeout and safety checks
- Iterates until the code actually works
📁 Manage Everything
- Files: read, write, move, archive, diff, search
- Processes: list, kill, monitor, spawn
- Network: HTTP requests, scraping, API calls
- Databases: SQLite, query, CRUD
🔐 Security & Pentesting (Authorized Use)
- nmap, sqlmap, Metasploit integration
- Network analysis, vulnerability scanning
- Requires explicit authorization — refuses unauthorized use
🤖 AI Providers
Devin automatically picks the best available provider. Set any one key — or none.
| Priority | Provider | Variable | Free? | Best Model |
|---|---|---|---|---|
| 1 | Anthropic Claude | ANTHROPIC_API_KEY |
No | claude-sonnet-5 |
| 2 | Google Gemini | GEMINI_API_KEY |
Limited | gemini-2.5-flash |
| 3 | OpenAI GPT | OPENAI_API_KEY |
No | gpt-4o |
| 4 | HuggingFace | HF_TOKEN |
✅ Yes | Qwen2.5-72B |
| 5 | Ollama (local) | OLLAMA_BASE_URL |
✅ Yes | llama3.1 |
| 6 | Free Claude proxy | CLAUDE_SESSION_KEY |
✅ Yes | claude-sonnet |
Override: DEVIN_PROVIDER=huggingface python3 agent.py
Zero-Key Setup (Completely Free)
# Option A: HuggingFace free tier
HF_TOKEN=your_free_token # get at huggingface.co/settings/tokens
# Option B: Free Claude proxy (no account needed)
# Install: curl -fsSL https://github.com/Alishahryar1/free-claude-code/raw/main/scripts/install.sh | sh
# Run in background: fcc-server
CLAUDE_SESSION_KEY=your_session_cookie
# Option C: Local Ollama (fully offline)
OLLAMA_BASE_URL=http://localhost:11434
🏗️ Architecture
┌─────────────────────────────────────────────────────────┐
│ agent.py │
│ 11,776 lines · 213 tools │
│ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ AI Core │ │ OS Layer │ │ Tools │ │
│ │ 5 provs │ │mouse/kbd │ │ 213 fns │ │
│ │ fallback │ │ vision │ │ REPL loop│ │
│ └──────────┘ └──────────┘ └──────────┘ │
└─────────────────────────────────────────────────────────┘
↕ graceful import (fails silently)
┌─────────────────────────────────────────────────────────┐
│ modules/ (110+ files) │
│ │
│ browser │ voice │ os_agent │ security │
│ reasoning │ web_scrape │ analytics │ automation │
│ memory │ social_media │ robotics │ cloud │
│ Gemini │ OpenAI │ HuggingFace │ Claude │
│ + 70 more capability modules… │
└─────────────────────────────────────────────────────────┘
↕
┌─────────────────────────────────────────────────────────┐
│ src/ — TypeScript CLI (optional) │
│ providers · memory · tools · voice · agents · ui │
└─────────────────────────────────────────────────────────┘
📦 Project Structure
Devin-4.0/
├── agent.py # Core runtime — 11,776 lines, 213 tools, 5 AI providers
├── main.py # Entry point with dynamic module discovery
├── devin # Shell launcher (chmod +x devin && ./devin)
├── modules/ # 110+ plug-in capability modules
│ ├── browser.py # Playwright/Selenium browser control
│ ├── browser_agent.py # Vision-guided autonomous browsing
│ ├── os_agent.py # Full OS control (mouse, keyboard, screen)
│ ├── voice_engine.py # Speech I/O
│ ├── reasoning_engine.py # Chain-of-thought planning
│ ├── free_claude_provider.py # Zero-key Claude fallback
│ └── ... (100+ more)
├── src/ # TypeScript CLI (optional alternative interface)
│ ├── providers/ # Claude · Gemini · OpenAI · HuggingFace · Ollama
│ ├── tools/ # Tool definitions and executors
│ ├── memory/ # SQLite conversation memory
│ └── ui/ # Terminal UI components
├── tests/ # 130 tests
├── .env.example # All supported environment variables
└── requirements.txt # Python dependencies
🖥️ Platform Support
| Platform | Status | Notes |
|---|---|---|
| Linux | ✅ Full | X11/Wayland or headless with _HAS_DISPLAY=false |
| macOS | ✅ Full | May need accessibility permissions |
| Windows | ✅ Full | PowerShell required for some features |
🛠️ Advanced Usage
# One-shot task
python3 agent.py "take a screenshot, describe what's on screen, and open a browser"
# Run the test suite
python3 agent.py --test
# Show all loaded capabilities
python3 main.py --caps
# Use a specific provider
DEVIN_PROVIDER=gemini python3 agent.py
# Headless (no display, e.g. CI/server)
_HAS_DISPLAY=false python3 agent.py "write and run a Python web scraper"
# TypeScript CLI (alternative interface)
npm install && npm run dev
Useful .env Options
DEVIN_MODEL=claude-sonnet-5 # override model name
DEVIN_MAX_TOKENS=8192 # token limit per response
DEVIN_THINKING=true # enable chain-of-thought reasoning
DEVIN_PERMISSION_MODE=auto_approve # auto-approve all tool calls
DEVIN_VOICE=true # enable voice I/O
DEVIN_VERBOSE=true # verbose logging
🔐 Security
Devin is built for authorized use only:
- Security and pentesting tools require explicit authorization in the conversation
- Unauthorized targeting, credential theft, persistence, and lateral movement are refused at the tool level
- API keys are never hard-coded — always loaded from
.env .envis in.gitignoreand must never be committed
🤝 Contributing
- Fork the repo
- Create a feature branch:
git checkout -b feature/my-feature - Add your changes (a new module goes in
modules/, register its tools inagent.py) - Run tests:
python3 agent.py --test - Open a PR
See docs/ARCHITECTURE.md for the full system design.
📄 License
MIT — free for personal and commercial use. See LICENSE.
If Devin helped you — give it a ⭐ and share it.
GitHub Issues · Discussions
Metadata
Release files for devin-agi 4.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| devin_agi-4.0.0.tar.gz | 1.7 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| devin_agi-4.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 3.8 MB
Release files / devin_agi-4.0.0.tar.gz
| Download URL | devin_agi-4.0.0.tar.gz |
|---|---|
| Size | 1.7 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
be8aae09d97572f7918fd2442cbb4b2c2a2abcef6e518784e41529073305e34e
|
|
BLAKE2b-256 checksum How to use checksums |
855f0ca03d04e3a5c7a44e42d89aa2de5c827507266d2a10631e551d71488fdc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.12
|
Release files / devin_agi-4.0.0-py3-none-any.whl
| Download URL | devin_agi-4.0.0-py3-none-any.whl |
|---|---|
| Size | 2.1 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a9725f022fff4d74d257c9ca6c2011db223cc1b6b2705c50253e0f681b4167bc
|
|
BLAKE2b-256 checksum How to use checksums |
57b2eb9faa3fdc84973a1d8454a668f8a093bd1009580ca6a06542b1bbe27a93
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.12
|