Devika AI: Open Source Software Engineer
Devika AI is an open-source AI software engineer designed to understand high-level human instructions, break them down into actionable steps, research relevant information, and generate code for specific tasks. It integrates multiple language models (Claude 3, GPT-4, GPT-3.5) and local LLMs via Ollama to provide planning, reasoning, and code-generation capabilities. It is free to use and targets Windows and Linux environments.
What is Devika AI?
Devika AI acts as an intelligent coding assistant that can:
- Understand high-level goals described by the user
- Plan and decompose tasks into actionable steps
- Research needed information from the web
- Generate code snippets and full project components in multiple programming languages
- Manage projects with a structured, multi-model backend
How Devika AI Works
- User Interface: A web-based chat interface for interactive conversations.
- Agent Core: The decision-making engine that handles planning, execution, and coordination between modules.
- Large Language Models: Supports Claude 3, GPT-4, GPT-3.5, and local LLMs via Ollama for varied capabilities.
- Planning and Reasoning Engine: Breaks goals into tasks, selects the best approach, and sequences actions.
- Research Module: Web browsing to gather up-to-date information.
- Code Writing Module: Generates code snippets and entire project components.
- Browser Interaction Module: Can navigate and interact with web pages for data extraction.
- Knowledge Base & Database: Stores past interactions, state, and project data for continuity.
Features (Overview)
- Multi-model support (Claude 3, GPT-4, GPT-3.5, Local LLMs via Ollama)
- Planning and reasoning to turn high-level goals into actionable steps
- Contextual keyword extraction for focused research
- Web browsing for up-to-date information
- Code generation across multiple programming languages
- Project-based organization and management
- Extensible, open-source architecture
- Web-based UI with stateful interaction and progress tracking
- Open Source and Free to use
- AI Planning and Reasoning to decompose tasks
- Multi-language model support (Claude 3, GPT-4, GPT-3.5, Local LLMs via Ollama)
- Contextual keyword extraction for targeted research
- Web browsing and information gathering
- Code generation in multiple programming languages
- Project-based organization and state tracking
- Extensible architecture for easy feature additions
- Local or web-enabled operation with persistent project data
Installation (Overview)
- Prerequisites:
- Git, Python, and Ollama installed on your system
- Clone the Repository:
- Install Dependencies:
- Navigate to the project directory and run: pip install -r requirements.txt
- Optional: Install Playwright dependencies if web automation is needed:
- playwright install --with-deps
- Configure API Keys and Paths:
- Rename sample.config.toml to config.toml and populate paths for:
SQLITE_DB, SCREENSHOTS_DIR, PDFS_DIR, PROJECTS_DIR, LOGS_DIR, REPOS_DIR,
WEB_SEARCH, BING, GOOGLE_SEARCH, GOOGLE_SEARCH_ENGINE_ID,
CLAUDE, NETLIFY, OPENAI
- Run the Server:
- Start UI:
- cd ui/
- bun install
- bun run dev
- Access the Web Interface:
Note: As an evolving project, some features may be unimplemented or unstable in early builds. Contributions are welcome.
How to Use Devika AI to Create a New Project
- Open the Devika Web Interface in your browser.
- Click "New Project" and provide a name for the project.
- Select Language and Model: choose the programming language and model configuration suitable for your task.
- Describe Objective: provide a high-level description of the task or goal.
- Initiate Task Processing: Devika analyzes the objective, breaks it into steps, and begins work.
- Monitor Progress: track actions, view generated code, and give feedback as needed.
- Review Generated Code: examine the produced code and project structure.
- Refine and Iterate: provide further instructions to refine the output.
Devika AI Discord Community: Join to share experiences and collaborate. Contributions are encouraged as the project is in active development.
Safety and Considerations
- Devika is a coding assistant intended for software development tasks.
- Follow best practices for security, licensing, and attribution when integrating generated code into projects.
Core Capabilities ( summarized )
- Natural language interaction for project planning and coding
- Cross-language code generation (multiple programming languages)
- Web browsing for research and data gathering
- Project-based organization with persistent state
- Open-source and extensible architecture