An experimental autonomous coding agent framework with DAG execution, tool use, and CLI interface.
Project description
๐ SourceBot
โก A Devin-style autonomous coding agent framework
Plan โ Execute โ Iterate with DAG-based workflows
โก TL;DR
SourceBot is an autonomous agent runtime that:
- Plans tasks as a DAG
- Executes them with tools + LLMs
- Maintains memory and state
- Supports retry, resume, and parallel execution
๐ฅ Why SourceBot?
Most AI tools today are chat-based.
SourceBot is different.
It is built to plan, execute, and iterate โ like a real developer.
- ๐ง Plans tasks using a DAG (not linear prompts)
- ๐ง Uses tools (shell, skills, APIs)
- ๐ Retries, resumes, and replays execution
- ๐พ Maintains memory across steps
- ๐ณ Runs safely in sandboxed environments
This is not a chatbot. This is an agent runtime.
๐ฌ Demo
sourcebot init
sourcebot init_workspace
sourcebot cli
โก Example: Build a Python HTTP server autonomously
โก Demo is shortened for clarity
๐ง What Makes It Different
๐ DAG-Based Execution (Core Innovation)
Unlike traditional agents:
Prompt โ LLM โ Response
SourceBot:
Task
โ
Decomposition
โ
DAG Graph
โ
Parallel Execution
โ
Tool + LLM Calls
โ
State + Memory Update
โ Parallelizable โ Retryable โ Resumable โ Observable
๐งฉ Core Features
๐ง Agent Runtime
- Modular architecture
- Identity + context system
- Multi-provider LLM abstraction
๐ DAG Execution Engine
- Task decomposition
- Parallel scheduling
- Retry policies
- Run state persistence
- Partial replay
๐ Tool System
- Tool registry
- Shell execution
- Skill-based extensions
๐พ Memory System
- Sliding window memory
- LLM-based summarization
- Persistent storage
๐ฌ CLI Interface
- Interactive agent shell
- Safe runner
- Workspace bootstrap
๐ณ Sandbox Execution
- Docker isolation
- Safe tool execution
๐ Architecture
๐ท High-Level Architecture
graph TD
U[User] --> CLI[CLI Interface]
CLI --> AR[Agent Runtime]
AR --> DP[DAG Planner]
DP --> TG[Task Graph]
TG --> DS[DAG Scheduler]
DS --> TE[Tool Executor]
DS --> LLM[LLM Clients]
TE --> SB[Docker Sandbox]
LLM --> MEM[Memory System]
SB --> MEM
MEM --> OUT[Output]
๐ท Execution Flow
graph LR
A[User Task] --> B[Task Decomposition]
B --> C[DAG Generation]
C --> D[Parallel Execution]
D --> E[Tool Calls / LLM]
E --> F[State Update]
F --> G[Final Result]
๐ Project Structure
sourcebot/
โโโ bus/ # Event system
โโโ cli/ # CLI interface
โโโ config/ # Config system
โโโ context/ # Context + skills
โโโ conversation/ # Conversation layer
โโโ docker_sandbox/ # Execution isolation
โโโ llm/ # LLM abstraction
โโโ memory/ # Memory system
โโโ runtime/ # Agent + DAG engine
โโโ tools/ # Tooling system
โโโ session/ # Persistence
โโโ utils/ # Utilities
๐ Installation
git clone https://github.com/DavidVi2Bot/sourcebot.git
cd sourcebot
pip install -e .
๐งช Development
pip install -r requirements-dev.txt
pytest
black .
ruff check .
๐ฃ Roadmap
๐งฑ Core
- DAG execution engine
- Tool system
- CLI runtime
- Memory system
๐ง Next
- Web UI (IDE-like)
- Multi-agent collaboration
- Plugin / marketplace system
- Long-term memory (vector DB)
- Remote execution / cloud runtime
๐ง Vision
SourceBot aims to become a general-purpose autonomous agent framework:
- ๐งโ๐ป Coding agents (Devin-style)
- โ๏ธ DevOps automation
- ๐ฌ Research agents
- ๐ Workflow orchestration
โ ๏ธ Status
๐ง Alpha โ rapidly evolving
Expect breaking changes and fast iteration.
๐ค Contributing
We welcome contributions!
- Bug reports
- Feature ideas
- Tools / skills
- Documentation improvements
โญ Star History
If this project interests you, give it a โญ โ it helps a lot!
๐ License
MIT License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file sourcebot-0.1.1.tar.gz.
File metadata
- Download URL: sourcebot-0.1.1.tar.gz
- Upload date:
- Size: 53.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a18d752a221fad889cac47d9ee3387ca9f0393baa91bea8f93dc166f016960d1
|
|
| MD5 |
6228b06fb6e0a63ce8a3191381052082
|
|
| BLAKE2b-256 |
7a6af2ff404e0fbb48e281c8c1a75cff4e578d4005d76bde21554305e00d492b
|
File details
Details for the file sourcebot-0.1.1-py3-none-any.whl.
File metadata
- Download URL: sourcebot-0.1.1-py3-none-any.whl
- Upload date:
- Size: 78.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
83570dfcc986183c451dd6707d4d8b17740bb76b3e10906eba0370b4458684bd
|
|
| MD5 |
4296f64c6b12e9a6c208a1a16a3015af
|
|
| BLAKE2b-256 |
ba5a7394f33e2f73da53657dafa19d4f865fe67a608a5e3015fe32132e588a14
|