Coder Social home page Coder Social logo

prateekjannu / zen Goto Github PK

View Code? Open in Web Editor NEW
3.0 1.0 2.0 1.54 MB

Agentic AI Software Engineer that can convert natural language to executable code

License: MIT License

Python 56.00% Jinja 9.66% JavaScript 8.83% HTML 0.23% CSS 1.39% Svelte 23.89%
agent-based-framework generative-ai llm llm-agent software-agents

zen's Introduction

Zen Logo

๐Ÿง˜ Zen (Twins of Gemini) - AI Software Engineer ๐Ÿฆพ

Gemini API dev competition.

 screenshot

Important

This project is currently in a very early development/experimental stage. There are a lot of unimplemented/broken features at the moment. Contributions are welcome to help out with the progress!

Table of Contents

About

Zen is an advanced AI software engineer that can understand high-level human instructions, break them down into steps, research relevant information, and write code to achieve the given objective. utilizes large language models, planning and reasoning algorithms, and web browsing abilities to intelligently develop software. Zen aims to revolutionize the way we build software by providing an AI pair programmer who can take on complex coding tasks with minimal human guidance. Whether you need to create a new feature, fix a bug, or develop an entire project from scratch, is here to assist you.

Note

is modeled after Devin by Cognition AI. This project aims to be an open-source alternative to Devin with an "overly ambitious" goal to meet the same score as Devin in the SWE-bench Benchmarks... and eventually beat it?

Demo [Click on the image!!!]

IMAGE ALT TEXT HERE

Key Features

  • ๐Ÿค– Supports Gemini
  • ๐Ÿง  Advanced AI planning and reasoning capabilities
  • ๐Ÿ” Contextual keyword extraction for focused research
  • ๐ŸŒ Seamless web browsing and information gathering
  • ๐Ÿ’ป Code writing in multiple programming languages
  • ๐Ÿ“Š Dynamic agent state tracking and visualization
  • ๐Ÿ’ฌ Natural language interaction via chat interface
  • ๐Ÿ“‚ Project-based organization and management
  • ๐Ÿ”Œ Extensible architecture for adding new features and integrations

System Architecture

Read README.md for the detailed documentation.

Getting Started

Requirements

Version's requirements
  - Python >= 3.10 and < 3.12
  - NodeJs >= 18
  - bun
  • Install uv - Python Package manager download
  • Install bun - JavaScript runtime download
  • For API models, configure the API keys via setting page in UI.

Installation

To install , follow these steps:

  1. Clone the repository:
    git clone https://github.com/PrateekJannu/Zen.git
  2. Navigate to the project directory:
    cd Zen
  3. Create a virtual environment and install the required dependencies (you can use any virtual environment manager):
    pip install -r requirements.txt
  4. Install the playwright for browsering capabilities:
    playwright install --with-deps # installs browsers in playwright (and their deps) if required
  5. Start the server:
    python zen.py
  6. if everything is working fine, you see the following output:
    root: INFO   : Zen is up and running!
  7. Now, for frontend, open a new terminal and navigate to the ui directory:
    cd ui/
    npm install
    npm run start
  8. Access the web interface by opening a browser and navigating to http://127.0.0.1:3001

how to use

To start using , follow these steps:

  1. Open the web interface in your browser.
  2. To create a project, click on 'select project' and then click on 'new project'.
  3. Select the search engine and model configuration for your project.
  4. In the chat interface, provide a high-level objective or task description for to work on.
  5. will process your request, break it down into steps, and start working on the task.
  6. Monitor 's progress, view generated code, and provide additional guidance or feedback as needed.
  7. Once completes the task, review the generated code and project files.
  8. Iterate and refine the project as desired by providing further instructions or modifications.

Configuration

requires certain configuration settings and API keys to function properly:

when you first time run , it will create a config.toml file for you in the root directory. You can configure the following settings in the settings page via UI:

  • API KEYS

    • BING: Your Bing Search API key for web searching capabilities.
    • GOOGLE_SEARCH: Your Google Search API key for web searching capabilities.
    • GOOGLE_SEARCH_ENGINE_ID: Your Google Search Engine ID for web searching using Google.
    • GEMINI: Your Gemini API key for accessing Gemini models.
    • NETLIFY: Your Netlify API key for deploying and managing web projects.
  • API_ENDPOINTS

    • BING: The Bing API endpoint for web searching.
    • GOOGLE: The Google API endpoint for web searching.

Make sure to keep your API keys secure and do not share them publicly.

Inspired by Devin and Devika

License

Zen is released under the MIT License similar to Devika . See the LICENSE file for more information.


We hope you find to be a valuable tool in your software development journey. If you have any questions, feedback, or suggestions, please don't hesitate to reach out. Happy coding with !

zen's People

Contributors

prateekjannu avatar

Stargazers

entrepeneur4lyf avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.