Devika - Agentic AI Software Engineer
About
Devika is an innovative AI-driven software engineer designed to transform how software is created. By interpreting high-level instructions from humans, Devika can deconstruct them into actionable steps, conduct necessary research, and generate code to fulfill its objectives. This advanced system leverages extensive language models, sophisticated planning and reasoning mechanisms, and web browsing skills to develop software intelligently.
The primary goal of Devika is to revolutionize software development by acting as an AI counterpart to traditional programming. Whether it's crafting new features, fixing bugs, or constructing complete software projects from scratch, Devika serves as a capable assistant, needing minimal human intervention.
It's important to note that Devika is inspired by Devin from Cognition AI, aiming to become an open-source alternative. The ambition is not just to match but eventually surpass Devin in the SWE-bench Benchmark scores, which assess software engineering capabilities.
Key Features
- Versatile Model Support: Devika works with Claude 3, GPT-4, Gemini, Mistral, Groq, and local Large Language Models (LLMs) through Ollama, with Claude 3 recommended for best results.
- Intelligent Planning and Reasoning: Utilizes AI to plan and reason through tasks.
- Enhanced Research Abilities: Extracts relevant keywords for better focused research.
- Web Integration: Seamlessly browses the web to gather necessary information.
- Multilingual Code Writing: Capable of writing code in various programming languages.
- Visual Dynamics: Tracks and visualizes the state of the agent dynamically.
- Natural Language Interaction: Communicates with users through a chat interface.
- Project Management: Organized by project for efficiency and clarity.
- Extensibility: Architecture allows for adding new features and integrations.
System Architecture
For an in-depth understanding of Devika's structure, please refer to the README documentation.
Getting Started
Requirements
- Python version 3.10 to 3.11
- NodeJS version 18 or later
- Bun JavaScript runtime
Also, installing UV as the Python package manager and handling beb (browser and its dependencies) through Playwright is recommended.
Installation Steps
- Clone the project repository.
- Navigate into the project directory and set up a virtual environment for dependencies.
- Install the Playwright for browsing capabilities.
- Start the Devika server and check its operation via confirmation message.
- Open a new terminal for the frontend interface and navigate to the UI directory.
- Initialize with Bun, then start the service and access Devika via browser.
Usage Guide
- Launch the Devika web interface.
- Initiate a new project and configure the desired settings.
- Input a task or objective for Devika to process.
- Guide, review, and refine the project results as Demika works on the task.
Configuration
Devika requires configuration through a config.toml
file that sets up API keys for services like Bing, Google, OpenAI, Gemini, Claude, and more. This setup is crucial and should be handled securely to ensure smooth operation. Detailed setup instructions are available in the installation documentation.
Contributing
Contributions to Devika are welcome to expand its functionality. Refer to the CONTRIBUTING.md
file in the repository for the steps to contribute.
Help and Support
In case of questions or further assistance, users can participate in issue tracking, discussions, or join the Discord server for community support.
License
Devika is distributed under the MIT License, making it open and flexible for developers to work with. More details can be found in the LICENSE file.
Devika strives to be a valuable asset in anyone's software development toolkit. Queries, feedback, or suggestions are always welcome. The team hopes users enjoy experiencing the ease of coding with Devika!