“Sirji” is everywhere. A fun jab among friends. A chuckle on the Zoom call. Much more than respect. It's our vibe.
Inspired by Devin, Sirji is an initiative by True Sparrow to build an open-source AI software development agent that solves complex problems. It will automatically create a plan to solve the problem statement, prioritize it, organize research, write code, execute it, and fix issues.
For demo videos, visit here.
The dogfood version of Sirji is ready.
Follow these setup steps to start Sirji.
Sirji is being built using Python. It currently uses OpenAI chat completions API and OpenAI assistants API.
To begin with, it will be equipped with:
-
Chat Terminal: To give problem statements and continuously interact with Sirji.
-
Shell: To create, modify, and execute files and install packages.
-
Browser: To research different topics to solve the problem.
In the dogfood version of Sirji, we are planning to have 4 layers in its architecture as shown in the high-level architecture diagram below.
-
User Interaction Layer, i.e. Sirji>, will be the front-facing layer interacting with the user. Users can give the problem statement, and give suggestions or modification requests through this layer. Here, users can also see the progress made by Sirji. A command line chat terminal will be used to take user inputs.
-
The Agents and Tools Layer will contain multiple agents and tools to be used by Sirji. The available agents will be the Planner, Coder, Security Analyser, Researcher, and Debugger. And, the available tools will be Crawler, Executor, and Logger. To check the work done by agents and tools, we will publish logs in their respective log files.
-
The last two layers will consist of the Model & Embeddings Layer, and the Capabilities Layer with browser and shell access.
The sequence diagram below shows how the user initiates Sirji by giving a problem statement through a chat terminal. From this point onwards, Sirji initiates a hands-free solution approach. However, the user can interact with Sirji by sending messages and asking to improve or modify the solution.
We are planning to use the gpt-4-turbo-preview
model for the dogfood release. But the package will be designed to be composable for supporting other AI models too.
We welcome more helping hands to make Sirji better. Feel free to report issues, and raise PRs for fixes & enhancements.
Built with ❤️ by True Sparrow