mini-SWE-agent
100-line Python coding agent with CLI/TUI that fixes GitHub issues and automates repo tasks. Model-agnostic via LiteLLM, sandboxable (Docker/Podman/Bubblewrap), with an Inspector to browse trajectories.
At a Glance
Pricing
Get started with mini-SWE-agent at no cost with MIT license and Self-hosted.
Engagement
Available On
About mini-SWE-agent
mini-SWE-agent is a lightweight software-engineering agent implemented in ~100 lines of Python. It’s designed to solve real GitHub issues and help with command-line coding tasks while remaining easy to read, extend, and research.
Key design choices keep the scaffold minimal and transparent: the agent issues only bash commands (no tool-calling APIs), executes each action with subprocess.run (no persistent shell state), and maintains a strictly linear message history for straightforward debugging and fine-tuning. The project ships with a simple CLI, a richer terminal UI (mini -v), batch runners for evaluation (e.g., SWE-bench), and an Inspector to browse .traj.json runs.
Models are pluggable through LiteLLM (and a direct Anthropic adapter), so you can use OpenAI, Anthropic, and many other providers—or run local models. Environments include local execution and sandboxed options (Docker, Podman, Singularity/Apptainer, Bubblewrap, and SWe-ReX). Installation is a single pip/pipx/uv command.
The result is a small, hackable agent that’s practical for day-to-day development and robust for reproducible research and benchmarking.
Community Discussions
Be the first to start a conversation about mini-SWE-agent
Share your experience with mini-SWE-agent, ask questions, or help others learn from your insights.
Pricing
Open Source
Get started with mini-SWE-agent at no cost with MIT license and Self-hosted.
- MIT license
- Self-hosted
- Full feature access
Capabilities
Key Features
- Minimal agent (~100 lines) focused on bash-only actions
- CLI (mini) and enhanced terminal UI (mini -v)
- Inspector to browse .traj.json trajectories
- Batch mode for evaluations (e.g., SWE-bench scripts)
- Linear message history for easy debugging and fine-tuning
- Action execution via subprocess.run (stateless commands)
- Model-agnostic via LiteLLM; direct Anthropic adapter included
- Supports local models (via LiteLLM) and cloud providers
- Sandboxed environments: Docker, Podman, Singularity/Apptainer, Bubblewrap
- Python API bindings for embedding the agent in projects
- Configurable prompts and control flow; cookbook examples included
