Skip to content
forked from sirji-ai/sirji

Inspired by Devin, Sirji is an open-source AI software development agent.

License

Notifications You must be signed in to change notification settings

V-R-Dighe/sirji

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sirji>

“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.

Demo Videos

For demo videos, visit here.

How to Use

The dogfood version of Sirji is ready.

Follow these setup steps to start Sirji.

Capabilities

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.

How It Works

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.

Sirji Architecture Diagram

Sequence Diagram

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.

Sirji Sequence Diagram

Supported AI Models

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.

Contribution

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

About

Inspired by Devin, Sirji is an open-source AI software development agent.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%